------------------------------------------------------------
                      [BUG/PRB.] VFP 9.0 FIX - CREATEOBJECTEX() FUNCTION
                                  July 2026
                 ------------------------------------------------------------
                                     CCB



1. BUG:

     In vfp9, when we access some properties of an object created with the CREATEOBJECTEX() function,
     it causes the error "OLE error code 0x80004005: Unspecified error (Error 1426)".

     The bug only occurs in vfp 9.0.0.5411 (SP2) or later, it does not occur in vfp6, vfp7, vfp8, vfp 9.0.0.2412,
     vfp 9.0.0.3504 (SP1), vfp 9.0.0.4611 (SP2) and vfp 9.0.0.5015 (SP2).

     The bug occurs in the following properties:
     Picture property
     DisabledPicture property
     DownPicture property
     OLEDragPicture property
     Icon property
     DragIcon property
     MouseIcon property

     There is no the bug for the CREATEOBJECT() function and the NEWOBJECT() function.


2. CAUSE:

     There are some BUGs in the following code.


3. RESOLUTION:

     We can write some code to fix the BUG.

     Fun6c7df5 :: ; proc near
             push ebp                                                        ;0x006c7df5 :        55
             mov ebp , esp                                                   ;0x006c7df6 :        8bec
             sub esp , 01BCh                                                 ;0x006c7df8 :        81ecbc010000
             mov eax ,  dword ptr [ Data946634 ]                             ;0x006c7dfe :        a134669400
             mov  dword ptr [ ebp - 72 ] , eax                               ;0x006c7e03 :        8945b8
             mov eax ,  dword ptr [ Data94662c ]                             ;0x006c7e06 :        a12c669400
             mov  eax , dword ptr [ eax + 96 ]                               ;0x006c7e0b :        8b4060
             push ebx                                                        ;0x006c7e0e :        53
             mov  dword ptr [ ebp - 24 ] , eax                               ;0x006c7e0f :        8945e8
             mov eax ,  dword ptr [ Data946630 ]                             ;0x006c7e12 :        a130669400
             mov ebx , eax                                                   ;0x006c7e17 :        8bd8
             push esi                                                        ;0x006c7e19 :        56
             mov  esi , dword ptr [ Data946638 ]                             ;0x006c7e1a :        8b3538669400
             and eax , 0F7FFFFFFh                                            ;0x006c7e20 :        25fffffff7
             push edi                                                        ;0x006c7e25 :        57
             mov edi , eax                                                   ;0x006c7e26 :        8bf8
             xor eax , eax                                                   ;0x006c7e28 :        33c0
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c7e2a :        8945f4
             mov  dword ptr [ ebp + 0FFFFFF58h ] , eax                       ;0x006c7e2d :        898558ffffff
             mov  dword ptr [ ebp - 68 ] , eax                               ;0x006c7e33 :        8945bc
             lea eax ,  dword ptr [ ebp + 0FFFFFF48h ]                       ;0x006c7e36 :        8d8548ffffff
             push eax                                                        ;0x006c7e3c :        50
             mov  dword ptr [ ebp - 36 ] , esi                               ;0x006c7e3d :        8975dc
             and ebx , 08000000h                                             ;0x006c7e40 :        81e300000008
             call  VariantInit                                 ;0x006c7e46 :        ff158c7a9100
             lea eax ,  dword ptr [ ebp + 16 ]                               ;0x006c7e4c :        8d4510
             mov  dword ptr [ ebp - 4 ] , eax                                ;0x006c7e4f :        8945fc
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c7e52 :        8b45fc
             lea ecx ,  dword ptr [ ebp - 8 ]                                ;0x006c7e55 :        8d4df8
             push ecx                                                        ;0x006c7e58 :        51
             push edi                                                        ;0x006c7e59 :        57
             mov  dword ptr [ ebp - 28 ] , eax                               ;0x006c7e5a :        8945e4
             mov  eax , dword ptr [esi]                                      ;0x006c7e5d :        8b06
             push esi                                                        ;0x006c7e5f :        56
             call  dword ptr [ eax + 20 ]                                    ;0x006c7e60 :        ff5014
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c7e63 :        8b45f8
             movsx edi ,word ptr [ eax + 24 ]                                ;0x006c7e66 :        0fbf7818
             mov  eax , dword ptr [ eax + 12 ]                               ;0x006c7e6a :        8b400c
             dec eax                                                         ;0x006c7e6d :        48
             mov  dword ptr [ ebp - 40 ] , edi                               ;0x006c7e6e :        897dd8
             je Label6c7e7f                                                  ;0x006c7e71 :        740c
             sub eax , 03h                                                   ;0x006c7e73 :        83e803
             lea eax ,  dword ptr [ 4 * edi + 08h ]                          ;0x006c7e76 :        8d04bd08000000
             jne Label6c7e86                                                 ;0x006c7e7d :        7507

     Label6c7e7f ::
             lea eax ,  dword ptr [ 4 * edi + 0Ch ]                          ;0x006c7e7f :        8d04bd0c000000

     Label6c7e86 ::
             mov  dword ptr [ ebp - 20 ] , eax                               ;0x006c7e86 :        8945ec
             mov eax ,  dword ptr [ Data93da48 ]                             ;0x006c7e89 :        a148da9300
             mov  dword ptr [ ebp + 0FFFFFF38h ] , eax                       ;0x006c7e8e :        898538ffffff
             xor eax , eax                                                   ;0x006c7e94 :        33c0
             call Fun42c118                                                  ;0x006c7e96 :        e87d42d6ff
             mov eax , esp                                                   ;0x006c7e9b :        8bc4
             sub  eax , dword ptr [ Data9370c4 ]                             ;0x006c7e9d :        2b05c4709300
             shl edi , 02h                                                   ;0x006c7ea3 :        c1e702
             cmp eax , edi                                                   ;0x006c7ea6 :        3bc7
             jle Label6c7ebc                                                 ;0x006c7ea8 :        7e12
             mov eax , edi                                                   ;0x006c7eaa :        8bc7
             add eax , 03h                                                   ;0x006c7eac :        83c003
             and eax , 0FFFFFFFCh                                            ;0x006c7eaf :        83e0fc
             call Fun42c118                                                  ;0x006c7eb2 :        e86142d6ff
             mov  dword ptr [ ebp - 32 ] , esp                               ;0x006c7eb7 :        8965e0
             jmp Label6c7ec0                                                 ;0x006c7eba :        eb04

     Label6c7ebc ::
             and  dword ptr [ ebp - 32 ] , 00h                               ;0x006c7ebc :        8365e000

     Label6c7ec0 ::
             cmp  dword ptr [ ebp - 32 ] , 00h                               ;0x006c7ec0 :        837de000
             je Label6c7ede                                                  ;0x006c7ec4 :        7418
             mov ecx , edi                                                   ;0x006c7ec6 :        8bcf
             mov  edi , dword ptr [ ebp - 32 ]                               ;0x006c7ec8 :        8b7de0
             mov edx , ecx                                                   ;0x006c7ecb :        8bd1
             shr ecx , 02h                                                   ;0x006c7ecd :        c1e902
             or eax , 0FFFFFFFFh                                             ;0x006c7ed0 :        83c8ff
             rep stosd                                                       ;0x006c7ed3 :        f3ab
             mov ecx , edx                                                   ;0x006c7ed5 :        8bca
             and ecx , 03h                                                   ;0x006c7ed7 :        83e103
             rep stosb                                                       ;0x006c7eda :        f3aa
             jmp Label6c7ee5                                                 ;0x006c7edc :        eb07

     Label6c7ede ::
             mov  dword ptr [ ebp - 12 ] , 08007000Eh                        ;0x006c7ede :        c745f40e000780

     Label6c7ee5 ::
             pushd 0Bh                                                       ;0x006c7ee5 :        6a0b
             pop ecx                                                         ;0x006c7ee7 :        59
             xor eax , eax                                                   ;0x006c7ee8 :        33c0
             cmp  dword ptr [ ebp - 12 ] , eax                               ;0x006c7eea :        3945f4
             lea edi ,  dword ptr [ ebp - 116 ]                              ;0x006c7eed :        8d7d8c
             rep stosd                                                       ;0x006c7ef0 :        f3ab
             pushd 06h                                                       ;0x006c7ef2 :        6a06
             pop ecx                                                         ;0x006c7ef4 :        59
             lea edi ,  dword ptr [ ebp + 0FFFFFF04h ]                       ;0x006c7ef5 :        8dbd04ffffff
             rep stosd                                                       ;0x006c7efb :        f3ab
             jne Label6c8aa9                                                 ;0x006c7efd :        0f85a60b0000
             test ebx , ebx                                                  ;0x006c7f03 :        85db
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c7f05 :        8b45f8
             mov  eax , dword ptr [ eax + 16 ]                               ;0x006c7f08 :        8b4010
             mov  dword ptr [ ebp + 0FFFFFF64h ] , eax                       ;0x006c7f0b :        898564ffffff
             je Label6c7f1d                                                  ;0x006c7f11 :        740a
             mov  dword ptr [ ebp + 0FFFFFF64h ] , 01h                       ;0x006c7f13 :        c78564ffffff01000000

     Label6c7f1d ::
             xor esi , esi                                                   ;0x006c7f1d :        33f6
             inc esi                                                         ;0x006c7f1f :        46
             lea edx ,  dword ptr [ ebp + 0FFFFFF2Ch ]                       ;0x006c7f20 :        8d952cffffff
             lea eax ,  dword ptr [ ebp + 0FFFFFE44h ]                       ;0x006c7f26 :        8d8544feffff
             mov  dword ptr [ Data93da48 ] , esi                             ;0x006c7f2c :        893548da9300
             call Fun42c27f                                                  ;0x006c7f32 :        e84843d6ff
             xor ebx , ebx                                                   ;0x006c7f37 :        33db
             push ebx                                                        ;0x006c7f39 :        53
             push eax                                                        ;0x006c7f3a :        50
             call Fun42c2be                                                  ;0x006c7f3b :        e87e43d6ff
             cmp eax , ebx                                                   ;0x006c7f40 :        3bc3
             pop ecx                                                         ;0x006c7f42 :        59
             pop ecx                                                         ;0x006c7f43 :        59
             mov  dword ptr [ ebp + 0FFFFFF60h ] , eax                       ;0x006c7f44 :        898560ffffff
             jne Label6c8a64                                                 ;0x006c7f4a :        0f85140b0000
             mov  eax , dword ptr [ ebp + 0FFFFFF64h ]                       ;0x006c7f50 :        8b8564ffffff
             dec eax                                                         ;0x006c7f56 :        48
             je Label6c8484                                                  ;0x006c7f57 :        0f8427050000
             dec eax                                                         ;0x006c7f5d :        48
             je Label6c7f71                                                  ;0x006c7f5e :        7411
             dec eax                                                         ;0x006c7f60 :        48
             dec eax                                                         ;0x006c7f61 :        48
             je Label6c7f6d                                                  ;0x006c7f62 :        7409
             sub eax , 04h                                                   ;0x006c7f64 :        83e804
             jne Label6c8a64                                                 ;0x006c7f67 :        0f85f70a0000

     Label6c7f6d ::
             sub  dword ptr [ ebp - 20 ] , 04h                               ;0x006c7f6d :        836dec04

     Label6c7f71 ::
             lea eax ,  dword ptr [ ebp + 0FFFFFF5Ch ]                       ;0x006c7f71 :        8d855cffffff
             push eax                                                        ;0x006c7f77 :        50
             push  dword ptr [ ebp - 72 ]                                    ;0x006c7f78 :        ff75b8
             mov  eax , dword ptr [ ebp - 24 ]                               ;0x006c7f7b :        8b45e8
             call Fun433401                                                  ;0x006c7f7e :        e87eb4d6ff
             mov esi , eax                                                   ;0x006c7f83 :        8bf0
             cmp esi , 0FFFFFFFFh                                            ;0x006c7f85 :        83feff
             jne Label6c7f9e                                                 ;0x006c7f88 :        7514
             lea eax ,  dword ptr [ ebp + 0FFFFFF5Ch ]                       ;0x006c7f8a :        8d855cffffff
             push eax                                                        ;0x006c7f90 :        50
             push  dword ptr [ ebp - 72 ]                                    ;0x006c7f91 :        ff75b8
             lea edi ,  dword ptr [ ebp - 24 ]                               ;0x006c7f94 :        8d7de8
             call Fun41d794                                                  ;0x006c7f97 :        e8f857d5ff
             mov esi , eax                                                   ;0x006c7f9c :        8bf0

     Label6c7f9e ::
             mov  ebx , dword ptr [ ebp + 0FFFFFF5Ch ]                       ;0x006c7f9e :        8b9d5cffffff
             mov  ecx , dword ptr [ebx]                                      ;0x006c7fa4 :        8b0b
             lea eax ,  dword ptr [ esi + 4 * esi ]                          ;0x006c7fa6 :        8d04b6
             lea edi ,  dword ptr [ ecx + 8 * eax ]                          ;0x006c7fa9 :        8d3cc1
             mov  eax , dword ptr [ edi + 24 ]                               ;0x006c7fac :        8b4718
             mov  dword ptr [ ebp + 0FFFFFF04h ] , eax                       ;0x006c7faf :        898504ffffff
             mov  eax , dword ptr [ ebp - 24 ]                               ;0x006c7fb5 :        8b45e8
             mov  dword ptr [ ebp + 0FFFFFF18h ] , eax                       ;0x006c7fb8 :        898518ffffff
             lea eax ,  dword ptr [ ebp - 56 ]                               ;0x006c7fbe :        8d45c8
             push eax                                                        ;0x006c7fc1 :        50
             call  VariantInit                                 ;0x006c7fc2 :        ff158c7a9100
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c7fc8 :        8b45f8
             cmp  dword ptr [ eax + 16 ] , 02h                               ;0x006c7fcb :        83781002
             jne Label6c830f                                                 ;0x006c7fcf :        0f853a030000
             push ebx                                                        ;0x006c7fd5 :        53
             push esi                                                        ;0x006c7fd6 :        56
             push  dword ptr [ ebp - 72 ]                                    ;0x006c7fd7 :        ff75b8
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c7fda :        8d458c
             push eax                                                        ;0x006c7fdd :        50
             lea eax ,  dword ptr [ ebp + 0FFFFFF04h ]                       ;0x006c7fde :        8d8504ffffff
             push eax                                                        ;0x006c7fe4 :        50
             call Fun502244                                                  ;0x006c7fe5 :        e85aa2e3ff
             mov  cl , byte ptr [ ebp - 116 ]                                ;0x006c7fea :        8a4d8c
             cmp cl , 030h                                                   ;0x006c7fed :        80f930
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c7ff0 :        8b45f8
             jne Label6c8018                                                 ;0x006c7ff3 :        7523
             mov  cx , word ptr [ eax + 36 ]                                 ;0x006c7ff5 :        668b4824
             call Fun6c7da7                                                  ;0x006c7ff9 :        e8a9fdffff
             mov  edi , dword ptr [ ebp - 4 ]                                ;0x006c7ffe :        8b7dfc
             mov ecx , eax                                                   ;0x006c8001 :        8bc8
             mov edx , ecx                                                   ;0x006c8003 :        8bd1
             shr ecx , 02h                                                   ;0x006c8005 :        c1e902
             xor eax , eax                                                   ;0x006c8008 :        33c0
             rep stosd                                                       ;0x006c800a :        f3ab
             mov ecx , edx                                                   ;0x006c800c :        8bca
             and ecx , 03h                                                   ;0x006c800e :        83e103
             rep stosb                                                       ;0x006c8011 :        f3aa
             jmp Label6c8a64                                                 ;0x006c8013 :        e94c0a0000

     Label6c8018 ::
             mov  dx , word ptr [ eax + 36 ]                                 ;0x006c8018 :        668b5024
             mov  word ptr [ ebp - 56 ] , dx                                 ;0x006c801c :        668955c8
             movzx eax ,word ptr [ eax + 36 ]                                ;0x006c8020 :        0fb74024
             cmp eax , 09h                                                   ;0x006c8024 :        83f809
             jg Label6c81cb                                                  ;0x006c8027 :        0f8f9e010000
             je Label6c8206                                                  ;0x006c802d :        0f84d3010000
             sub eax , 03h                                                   ;0x006c8033 :        83e803
             je Label6c82d2                                                  ;0x006c8036 :        0f8496020000
             dec eax                                                         ;0x006c803c :        48
             je Label6c8193                                                  ;0x006c803d :        0f8450010000
             dec eax                                                         ;0x006c8043 :        48
             je Label6c8183                                                  ;0x006c8044 :        0f8439010000
             dec eax                                                         ;0x006c804a :        48
             je Label6c8147                                                  ;0x006c804b :        0f84f6000000
             dec eax                                                         ;0x006c8051 :        48
             je Label6c811e                                                  ;0x006c8052 :        0f84c6000000
             dec eax                                                         ;0x006c8058 :        48
             jne Label6c8a64                                                 ;0x006c8059 :        0f85050a0000
             mov  al , byte ptr [ edi + 18 ]                                 ;0x006c805f :        8a4712


     ;
     ;                 -------------------------------------------------
     ;                      VFP 9.0 FIX - CREATEOBJECTEX() FUNCTION
     ;                                  July 2026
     ;                 -------------------------------------------------
     ;                                     CCB
     ;
     ; In vfp9, when we access some properties of an object created with the CREATEOBJECTEX() function,
     ; it causes the error "OLE error code 0x80004005: Unspecified error (Error 1426)".
     ;
     ; 2026/7/16, by ccb
     ;

             cmp al , 056h
             je Label6c8066


             cmp al , 051h                                                   ;0x006c8062 :        3c51
             jne Label6c80d8                                                 ;0x006c8064 :        7572

     Label6c8066 ::
             mov  edi , dword ptr [ ebp - 108 ]                              ;0x006c8066 :        8b7d94
             lea eax ,  dword ptr [ edi + 1 ]                                ;0x006c8069 :        8d4701
             add eax , 03h                                                   ;0x006c806c :        83c003
             and eax , 0FFFFFFFCh                                            ;0x006c806f :        83e0fc
             call Fun42c118                                                  ;0x006c8072 :        e8a140d6ff
             mov  eax , dword ptr [ ebp - 84 ]                               ;0x006c8077 :        8b45ac
             mov esi , esp                                                   ;0x006c807a :        8bf4
             push edi                                                        ;0x006c807c :        57
             push  dword ptr [eax]                                           ;0x006c807d :        ff30
             push esi                                                        ;0x006c807f :        56
             call  memmove                                     ;0x006c8080 :        ff15dc799100
             mov  eax , dword ptr [ ebp - 108 ]                              ;0x006c8086 :        8b4594
             mov  ebx , dword ptr [ ebp - 4 ]                                ;0x006c8089 :        8b5dfc
             mov  byte ptr [ esi + eax ] , 00h                               ;0x006c808c :        c6040600
             mov  eax , dword ptr [ebx]                                      ;0x006c8090 :        8b03
             add esp , 0Ch                                                   ;0x006c8092 :        83c40c
             push  dword ptr [eax]                                           ;0x006c8095 :        ff30
             call  SysFreeString                               ;0x006c8097 :        ff15907a9100
             push esi                                                        ;0x006c809d :        56
             lea edi ,  dword ptr [ ebp + 0FFFFFF40h ]                       ;0x006c809e :        8dbd40ffffff
             call Fun54610d                                                  ;0x006c80a4 :        e864e0e7ff
             mov  eax , dword ptr [eax]                                      ;0x006c80a9 :        8b00
             test eax , eax                                                  ;0x006c80ab :        85c0
             je Label6c80b3                                                  ;0x006c80ad :        7404
             mov  eax , dword ptr [eax]                                      ;0x006c80af :        8b00
             jmp Label6c80b5                                                 ;0x006c80b1 :        eb02

     Label6c80b3 ::
             xor eax , eax                                                   ;0x006c80b3 :        33c0

     Label6c80b5 ::
             push eax                                                        ;0x006c80b5 :        50
             call  SysAllocString                              ;0x006c80b6 :        ff159c7a9100
             mov  ecx , dword ptr [ebx]                                      ;0x006c80bc :        8b0b
             mov  dword ptr [ecx] , eax                                      ;0x006c80be :        8901
             mov  edi , dword ptr [ ebp + 0FFFFFF40h ]                       ;0x006c80c0 :        8bbd40ffffff
             test edi , edi                                                  ;0x006c80c6 :        85ff
             je Label6c8a64                                                  ;0x006c80c8 :        0f8496090000
             call Fun545e33                                                  ;0x006c80ce :        e860dde7ff
             jmp Label6c8a64                                                 ;0x006c80d3 :        e98c090000

     Label6c80d8 ::
             cmp al , 058h                                                   ;0x006c80d8 :        3c58
             jne Label6c8a4b                                                 ;0x006c80da :        0f856b090000
             cmp cl , 048h                                                   ;0x006c80e0 :        80f948
             jne Label6c8a4b                                                 ;0x006c80e3 :        0f8562090000
             lea eax ,  dword ptr [ ebp + 0FFFFFEE4h ]                       ;0x006c80e9 :        8d85e4feffff
             push eax                                                        ;0x006c80ef :        50
             call  VariantInit                                 ;0x006c80f0 :        ff158c7a9100
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c80f6 :        8d458c
             push eax                                                        ;0x006c80f9 :        50
             lea edx ,  dword ptr [ ebp + 0FFFFFEE4h ]                       ;0x006c80fa :        8d95e4feffff
             call Fun4f405a                                                  ;0x006c8100 :        e855bfe2ff
             test eax , eax                                                  ;0x006c8105 :        85c0
             je Label6c8113                                                  ;0x006c8107 :        740a
             mov ecx , 0385h                                                 ;0x006c8109 :        b985030000
             call Fun544742                                                  ;0x006c810e :        e82fc6e7ff

     Label6c8113 ::
             mov  ecx , dword ptr [ ebp + 0FFFFFEECh ]                       ;0x006c8113 :        8b8decfeffff
             jmp Label6c8303                                                 ;0x006c8119 :        e9e5010000

     Label6c811e ::
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c811e :        8d458c
             lea edx ,  dword ptr [ ebp - 56 ]                               ;0x006c8121 :        8d55c8
             push eax                                                        ;0x006c8124 :        50
             call Fun4f405a                                                  ;0x006c8125 :        e830bfe2ff
             test eax , eax                                                  ;0x006c812a :        85c0
             je Label6c8138                                                  ;0x006c812c :        740a

     Label6c812e ::
             mov ecx , 0385h                                                 ;0x006c812e :        b985030000
             call Fun544742                                                  ;0x006c8133 :        e80ac6e7ff

     Label6c8138 ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c8138 :        8b45fc
             fld qword ptr [ ebp - 48 ]                                      ;0x006c813b :        dd45d0
             mov  eax , dword ptr [eax]                                      ;0x006c813e :        8b00
             fstp qword ptr [eax]                                            ;0x006c8140 :        dd18
             jmp Label6c8a64                                                 ;0x006c8142 :        e91d090000

     Label6c8147 ::
             lea edi ,  dword ptr [ ebp - 116 ]                              ;0x006c8147 :        8d7d8c
             call Fun7484f1                                                  ;0x006c814a :        e8a2030800
             cmp  byte ptr [ ebp - 116 ] , 059h                              ;0x006c814f :        807d8c59
             jne Label6c8164                                                 ;0x006c8153 :        750f
             mov eax , edi                                                   ;0x006c8155 :        8bc7
             push eax                                                        ;0x006c8157 :        50
             lea edx ,  dword ptr [ ebp - 56 ]                               ;0x006c8158 :        8d55c8
             call Fun4f405a                                                  ;0x006c815b :        e8fabee2ff
             test eax , eax                                                  ;0x006c8160 :        85c0
             je Label6c816e                                                  ;0x006c8162 :        740a

     Label6c8164 ::
             mov ecx , 0385h                                                 ;0x006c8164 :        b985030000
             call Fun544742                                                  ;0x006c8169 :        e8d4c5e7ff

     Label6c816e ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c816e :        8b45fc
             mov  ecx , dword ptr [ ebp - 48 ]                               ;0x006c8171 :        8b4dd0
             mov  eax , dword ptr [eax]                                      ;0x006c8174 :        8b00
             mov  dword ptr [eax] , ecx                                      ;0x006c8176 :        8908
             mov  ecx , dword ptr [ ebp - 44 ]                               ;0x006c8178 :        8b4dd4
             mov  dword ptr [ eax + 4 ] , ecx                                ;0x006c817b :        894804
             jmp Label6c8a64                                                 ;0x006c817e :        e9e1080000

     Label6c8183 ::
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c8183 :        8d458c
             call Fun53e878                                                  ;0x006c8186 :        e8ed66e7ff
             cmp  byte ptr [ ebp - 116 ] , 04Eh                              ;0x006c818b :        807d8c4e
             jne Label6c812e                                                 ;0x006c818f :        759d
             jmp Label6c811e                                                 ;0x006c8191 :        eb8b

     Label6c8193 ::
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c8193 :        8d458c
             call Fun53e878                                                  ;0x006c8196 :        e8dd66e7ff
             cmp  byte ptr [ ebp - 116 ] , 04Eh                              ;0x006c819b :        807d8c4e
             jne Label6c81ae                                                 ;0x006c819f :        750d
             push eax                                                        ;0x006c81a1 :        50
             lea edx ,  dword ptr [ ebp - 56 ]                               ;0x006c81a2 :        8d55c8
             call Fun4f405a                                                  ;0x006c81a5 :        e8b0bee2ff
             test eax , eax                                                  ;0x006c81aa :        85c0
             je Label6c81b8                                                  ;0x006c81ac :        740a

     Label6c81ae ::
             mov ecx , 0385h                                                 ;0x006c81ae :        b985030000
             call Fun544742                                                  ;0x006c81b3 :        e88ac5e7ff

     Label6c81b8 ::
             fld qword ptr [ ebp - 48 ]                                      ;0x006c81b8 :        dd45d0
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c81bb :        8b45fc
             mov  eax , dword ptr [eax]                                      ;0x006c81be :        8b00
             fld st(0)                                                       ;0x006c81c0 :        d9c0
             fstp dword ptr [eax]                                            ;0x006c81c2 :        d918
             fstp st(0)                                                      ;0x006c81c4 :        ddd8
             jmp Label6c8a64                                                 ;0x006c81c6 :        e999080000

     Label6c81cb ::
             cmp eax , 0Bh                                                   ;0x006c81cb :        83f80b
             je Label6c82d2                                                  ;0x006c81ce :        0f84fe000000
             cmp eax , 0Ch                                                   ;0x006c81d4 :        83f80c
             je Label6c82b5                                                  ;0x006c81d7 :        0f84d8000000
             cmp eax , 0Eh                                                   ;0x006c81dd :        83f80e
             je Label6c8278                                                  ;0x006c81e0 :        0f8492000000
             cmp eax , 010h                                                  ;0x006c81e6 :        83f810
             jle Label6c8a64                                                 ;0x006c81e9 :        0f8e75080000
             cmp eax , 012h                                                  ;0x006c81ef :        83f812
             jle Label6c82d2                                                 ;0x006c81f2 :        0f8eda000000
             cmp eax , 01Ah                                                  ;0x006c81f8 :        83f81a
             je Label6c8206                                                  ;0x006c81fb :        7409
             cmp eax , 01Dh                                                  ;0x006c81fd :        83f81d
             jne Label6c8a64                                                 ;0x006c8200 :        0f855e080000

     Label6c8206 ::
             cmp cl , 04Fh                                                   ;0x006c8206 :        80f94f
             je Label6c8215                                                  ;0x006c8209 :        740a
             mov ecx , 0385h                                                 ;0x006c820b :        b985030000
             call Fun544742                                                  ;0x006c8210 :        e82dc5e7ff

     Label6c8215 ::
             pushd 0FFFFFFFFh                                                ;0x006c8215 :        6aff
             lea eax ,  dword ptr [ ebp + 0FFFFFF44h ]                       ;0x006c8217 :        8d8544ffffff
             push eax                                                        ;0x006c821d :        50
             lea eax ,  dword ptr [ ebp - 128 ]                              ;0x006c821e :        8d4580
             push eax                                                        ;0x006c8221 :        50
             pushd 00h                                                       ;0x006c8222 :        6a00
             pushd 0FFFFFFFFh                                                ;0x006c8224 :        6aff
             pushd 01DAh                                                     ;0x006c8226 :        68da010000
             push  dword ptr [ ebp - 80 ]                                    ;0x006c822b :        ff75b0
             mov  dword ptr [ ebp + 0FFFFFF44h ] , 04h                       ;0x006c822e :        c78544ffffff04000000
             call Fun433a39                                                  ;0x006c8238 :        e8fcb7d6ff
             add esp , 01Ch                                                  ;0x006c823d :        83c41c
             test eax , eax                                                  ;0x006c8240 :        85c0
             je Label6c824a                                                  ;0x006c8242 :        7406
             cmp  dword ptr [ ebp - 128 ] , 00h                              ;0x006c8244 :        837d8000
             jne Label6c8254                                                 ;0x006c8248 :        750a

     Label6c824a ::
             mov ecx , 0385h                                                 ;0x006c824a :        b985030000
             call Fun544742                                                  ;0x006c824f :        e8eec4e7ff

     Label6c8254 ::
             mov  esi , dword ptr [ ebp - 4 ]                                ;0x006c8254 :        8b75fc
             mov  eax , dword ptr [esi]                                      ;0x006c8257 :        8b06
             mov  ecx , dword ptr [eax]                                      ;0x006c8259 :        8b08
             test ecx , ecx                                                  ;0x006c825b :        85c9
             je Label6c8263                                                  ;0x006c825d :        7404
             push eax                                                        ;0x006c825f :        50
             call  dword ptr [ ecx + 8 ]                                     ;0x006c8260 :        ff5108

     Label6c8263 ::
             mov  eax , dword ptr [esi]                                      ;0x006c8263 :        8b06
             mov  ecx , dword ptr [ ebp - 128 ]                              ;0x006c8265 :        8b4d80
             mov  dword ptr [eax] , ecx                                      ;0x006c8268 :        8908
             mov  eax , dword ptr [ ebp - 128 ]                              ;0x006c826a :        8b4580
             mov  ecx , dword ptr [eax]                                      ;0x006c826d :        8b08
             push eax                                                        ;0x006c826f :        50
             call  dword ptr [ ecx + 4 ]                                     ;0x006c8270 :        ff5104
             jmp Label6c8a64                                                 ;0x006c8273 :        e9ec070000

     Label6c8278 ::
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c8278 :        8d458c
             call Fun53e878                                                  ;0x006c827b :        e8f865e7ff
             fld qword ptr [ ebp - 100 ]                                     ;0x006c8280 :        dd459c
             mov  esi , dword ptr [ ebp - 4 ]                                ;0x006c8283 :        8b75fc
             push  dword ptr [esi]                                           ;0x006c8286 :        ff36
             push ecx                                                        ;0x006c8288 :        51
             push ecx                                                        ;0x006c8289 :        51
             fstp qword ptr [ esp ]                                          ;0x006c828a :        dd1c24
             call  VarDecFromR8                                ;0x006c828d :        ff15a87a9100
             test eax , eax                                                  ;0x006c8293 :        85c0
             je Label6c82a1                                                  ;0x006c8295 :        740a
             mov ecx , 0385h                                                 ;0x006c8297 :        b985030000
             call Fun544742                                                  ;0x006c829c :        e8a1c4e7ff

     Label6c82a1 ::
             mov  eax , dword ptr [esi]                                      ;0x006c82a1 :        8b06
             mov  word ptr [eax] , 0Eh                                       ;0x006c82a3 :        66c7000e00
             and  dword ptr [ ebp - 112 ] , 00h                              ;0x006c82a8 :        83659000
             mov  byte ptr [ ebp - 116 ] , 04Eh                              ;0x006c82ac :        c6458c4e
             jmp Label6c8a64                                                 ;0x006c82b0 :        e9af070000

     Label6c82b5 ::
             mov  esi , dword ptr [ ebp - 4 ]                                ;0x006c82b5 :        8b75fc
             push  dword ptr [esi]                                           ;0x006c82b8 :        ff36
             call  VariantClear                                ;0x006c82ba :        ff15887a9100
             mov  edx , dword ptr [esi]                                      ;0x006c82c0 :        8b16
             lea eax ,  dword ptr [ ebp - 116 ]                              ;0x006c82c2 :        8d458c
             push eax                                                        ;0x006c82c5 :        50
             call Fun4f405a                                                  ;0x006c82c6 :        e88fbde2ff
             test eax , eax                                                  ;0x006c82cb :        85c0
             jmp Label6c8a58                                                 ;0x006c82cd :        e986070000

     Label6c82d2 ::
             movzx eax , cl                                                  ;0x006c82d2 :        0fb6c1
             sub eax , 049h                                                  ;0x006c82d5 :        83e849
             je Label6c8300                                                  ;0x006c82d8 :        7426
             sub eax , 03h                                                   ;0x006c82da :        83e803
             je Label6c82fb                                                  ;0x006c82dd :        741c
             dec eax                                                         ;0x006c82df :        48
             dec eax                                                         ;0x006c82e0 :        48
             jne Label6c8a64                                                 ;0x006c82e1 :        0f857d070000
             fld qword ptr [ ebp - 100 ]                                     ;0x006c82e7 :        dd459c
             call Fun4337e6                                                  ;0x006c82ea :        e8f7b4d6ff
             mov  ecx , dword ptr [ ebp - 4 ]                                ;0x006c82ef :        8b4dfc
             mov  ecx , dword ptr [ecx]                                      ;0x006c82f2 :        8b09
             mov  dword ptr [ecx] , eax                                      ;0x006c82f4 :        8901
             jmp Label6c8a64                                                 ;0x006c82f6 :        e969070000

     Label6c82fb ::
             mov  ecx , dword ptr [ ebp - 108 ]                              ;0x006c82fb :        8b4d94
             jmp Label6c8303                                                 ;0x006c82fe :        eb03

     Label6c8300 ::
             mov  ecx , dword ptr [ ebp - 104 ]                              ;0x006c8300 :        8b4d98

     Label6c8303 ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c8303 :        8b45fc
             mov  eax , dword ptr [eax]                                      ;0x006c8306 :        8b00
             mov  dword ptr [eax] , ecx                                      ;0x006c8308 :        8908
             jmp Label6c8a64                                                 ;0x006c830a :        e955070000

     Label6c830f ::
             mov  ecx , dword ptr [ eax + 8 ]                                ;0x006c830f :        8b4808
             mov  cx , word ptr [ ecx + 4 ]                                  ;0x006c8312 :        668b4904
             mov  word ptr [ ebp - 56 ] , cx                                 ;0x006c8316 :        66894dc8
             mov  ecx , dword ptr [ eax + 8 ]                                ;0x006c831a :        8b4808
             movzx ecx ,word ptr [ ecx + 4 ]                                 ;0x006c831d :        0fb74904
             cmp ecx , 09h                                                   ;0x006c8321 :        83f909
             jg Label6c83af                                                  ;0x006c8324 :        0f8f85000000
             je Label6c83eb                                                  ;0x006c832a :        0f84bb000000
             sub ecx , 03h                                                   ;0x006c8330 :        83e903
             je Label6c8434                                                  ;0x006c8333 :        0f84fb000000
             dec ecx                                                         ;0x006c8339 :        49
             je Label6c83a2                                                  ;0x006c833a :        7466
             dec ecx                                                         ;0x006c833c :        49
             je Label6c8382                                                  ;0x006c833d :        7443
             dec ecx                                                         ;0x006c833f :        49
             je Label6c838f                                                  ;0x006c8340 :        744d
             dec ecx                                                         ;0x006c8342 :        49
             je Label6c8382                                                  ;0x006c8343 :        743d
             dec ecx                                                         ;0x006c8345 :        49
             jne Label6c842a                                                 ;0x006c8346 :        0f85de000000
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c834c :        8b45fc
             xor esi , esi                                                   ;0x006c834f :        33f6
             cmp  dword ptr [eax] , esi                                      ;0x006c8351 :        3930
             je Label6c83f3                                                  ;0x006c8353 :        0f849a000000
             pushd 0FFFFFFFFh                                                ;0x006c8359 :        6aff
             lea ecx ,  dword ptr [ ebp - 108 ]                              ;0x006c835b :        8d4d94
             push ecx                                                        ;0x006c835e :        51
             lea ecx ,  dword ptr [ ebp - 84 ]                               ;0x006c835f :        8d4dac
             push ecx                                                        ;0x006c8362 :        51
             mov  byte ptr [ ebp - 116 ] , 048h                              ;0x006c8363 :        c6458c48
             mov  dword ptr [ ebp - 112 ] , esi                              ;0x006c8367 :        897590
             push  dword ptr [eax]                                           ;0x006c836a :        ff30
             call Fun4c9440                                                  ;0x006c836c :        e8cf10e0ff
             cmp  dword ptr [ ebp - 108 ] , esi                              ;0x006c8371 :        397594
             jbe Label6c846f                                                 ;0x006c8374 :        0f86f5000000
             dec  dword ptr [ ebp - 108 ]                                    ;0x006c837a :        ff4d94
             jmp Label6c846f                                                 ;0x006c837d :        e9ed000000

     Label6c8382 ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c8382 :        8b45fc
             fld qword ptr [eax]                                             ;0x006c8385 :        dd00
             fstp qword ptr [ ebp - 48 ]                                     ;0x006c8387 :        dd5dd0
             jmp Label6c844c                                                 ;0x006c838a :        e9bd000000

     Label6c838f ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c838f :        8b45fc
             mov  ecx , dword ptr [eax]                                      ;0x006c8392 :        8b08
             mov  dword ptr [ ebp - 48 ] , ecx                               ;0x006c8394 :        894dd0
             mov  eax , dword ptr [ eax + 4 ]                                ;0x006c8397 :        8b4004
             mov  dword ptr [ ebp - 44 ] , eax                               ;0x006c839a :        8945d4
             jmp Label6c844c                                                 ;0x006c839d :        e9aa000000

     Label6c83a2 ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c83a2 :        8b45fc
             mov  eax , dword ptr [eax]                                      ;0x006c83a5 :        8b00
             mov  dword ptr [ ebp - 48 ] , eax                               ;0x006c83a7 :        8945d0
             jmp Label6c844c                                                 ;0x006c83aa :        e99d000000

     Label6c83af ::
             cmp ecx , 0Bh                                                   ;0x006c83af :        83f90b
             je Label6c8462                                                  ;0x006c83b2 :        0f84aa000000
             cmp ecx , 0Ch                                                   ;0x006c83b8 :        83f90c
             je Label6c8451                                                  ;0x006c83bb :        0f8490000000
             cmp ecx , 0Eh                                                   ;0x006c83c1 :        83f90e
             je Label6c8442                                                  ;0x006c83c4 :        747c
             cmp ecx , 010h                                                  ;0x006c83c6 :        83f910
             jle Label6c842a                                                 ;0x006c83c9 :        7e5f
             cmp ecx , 012h                                                  ;0x006c83cb :        83f912
             jle Label6c8434                                                 ;0x006c83ce :        7e64
             cmp ecx , 01Ah                                                  ;0x006c83d0 :        83f91a
             jne Label6c842a                                                 ;0x006c83d3 :        7555
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c83d5 :        8b4008
             mov  eax , dword ptr [eax]                                      ;0x006c83d8 :        8b00
             cmp  word ptr [ eax + 4 ] , 01Dh                                ;0x006c83da :        668378041d
             je Label6c83eb                                                  ;0x006c83df :        740a
             mov ecx , 0385h                                                 ;0x006c83e1 :        b985030000
             call Fun544742                                                  ;0x006c83e6 :        e857c3e7ff

     Label6c83eb ::
             mov  esi , dword ptr [ ebp - 4 ]                                ;0x006c83eb :        8b75fc
             cmp  dword ptr [esi] , 00h                                      ;0x006c83ee :        833e00
             jne Label6c83f9                                                 ;0x006c83f1 :        7506

     Label6c83f3 ::
             mov  byte ptr [ ebp - 116 ] , 030h                              ;0x006c83f3 :        c6458c30
             jmp Label6c846f                                                 ;0x006c83f7 :        eb76

     Label6c83f9 ::
             lea eax ,  dword ptr [ ebp + 0FFFFFEF4h ]                       ;0x006c83f9 :        8d85f4feffff
             push eax                                                        ;0x006c83ff :        50
             call  VariantInit                                 ;0x006c8400 :        ff158c7a9100
             mov  word ptr [ ebp + 0FFFFFEF4h ] , 09h                        ;0x006c8406 :        66c785f4feffff0900
             mov  eax , dword ptr [esi]                                      ;0x006c840f :        8b06
             mov  dword ptr [ ebp + 0FFFFFEFCh ] , eax                       ;0x006c8411 :        8985fcfeffff
             lea eax ,  dword ptr [ ebp + 0FFFFFEF4h ]                       ;0x006c8417 :        8d85f4feffff

     Label6c841d ::
             push eax                                                        ;0x006c841d :        50
             lea edx ,  dword ptr [ ebp - 116 ]                              ;0x006c841e :        8d558c
             call Fun6db82b                                                  ;0x006c8421 :        e805340100
             test eax , eax                                                  ;0x006c8426 :        85c0
             je Label6c846f                                                  ;0x006c8428 :        7445

     Label6c842a ::
             mov ecx , 0385h                                                 ;0x006c842a :        b985030000
             call Fun544742                                                  ;0x006c842f :        e80ec3e7ff

     Label6c8434 ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c8434 :        8b45fc
             mov  byte ptr [ ebp - 116 ] , 049h                              ;0x006c8437 :        c6458c49
             mov  eax , dword ptr [eax]                                      ;0x006c843b :        8b00
             mov  dword ptr [ ebp - 104 ] , eax                              ;0x006c843d :        894598
             jmp Label6c846f                                                 ;0x006c8440 :        eb2d

     Label6c8442 ::
             mov  esi , dword ptr [ ebp - 4 ]                                ;0x006c8442 :        8b75fc
             lea edi ,  dword ptr [ ebp - 56 ]                               ;0x006c8445 :        8d7dc8
             movsd                                                           ;0x006c8448 :        a5
             movsd                                                           ;0x006c8449 :        a5
             movsd                                                           ;0x006c844a :        a5
             movsd                                                           ;0x006c844b :        a5

     Label6c844c ::
             lea eax ,  dword ptr [ ebp - 56 ]                               ;0x006c844c :        8d45c8
             jmp Label6c841d                                                 ;0x006c844f :        ebcc

     Label6c8451 ::
             push  dword ptr [ ebp - 4 ]                                     ;0x006c8451 :        ff75fc
             add   dword ptr [ ebp - 20 ] , 0Ch                              ;0x006c8454 :        8345ec0c
             lea edx ,  dword ptr [ ebp - 116 ]                              ;0x006c8458 :        8d558c
             call Fun6db82b                                                  ;0x006c845b :        e8cb330100
             jmp Label6c846f                                                 ;0x006c8460 :        eb0d

     Label6c8462 ::
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c8462 :        8b45fc
             mov  byte ptr [ ebp - 116 ] , 04Ch                              ;0x006c8465 :        c6458c4c
             movsx eax ,word ptr [eax]                                       ;0x006c8469 :        0fbf00
             mov  dword ptr [ ebp - 108 ] , eax                              ;0x006c846c :        894594

     Label6c846f ::
             pushd 00h                                                       ;0x006c846f :        6a00
             lea edx ,  dword ptr [ ebp - 116 ]                              ;0x006c8471 :        8d558c
             lea ecx ,  dword ptr [ ebp + 0FFFFFF04h ]                       ;0x006c8474 :        8d8d04ffffff
             call Fun528500                                                  ;0x006c847a :        e88100e6ff
             jmp Label6c8a64                                                 ;0x006c847f :        e9e0050000

     Label6c8484 ::
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c8484 :        8b45f8
             cmp  word ptr [ eax + 36 ] , 018h                               ;0x006c8487 :        6683782418
             jne Label6c8492                                                 ;0x006c848c :        7504
             sub  dword ptr [ ebp - 20 ] , 04h                               ;0x006c848e :        836dec04

     Label6c8492 ::
             mov  edi , dword ptr [ ebp - 40 ]                               ;0x006c8492 :        8b7dd8
             cmp edi , ebx                                                   ;0x006c8495 :        3bfb
             je Label6c84ae                                                  ;0x006c8497 :        7415
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c8499 :        8b4008
             mov ecx , edi                                                   ;0x006c849c :        8bcf
             shl ecx , 04h                                                   ;0x006c849e :        c1e104
             mov  al , byte ptr [ ecx + eax - 4 ]                            ;0x006c84a1 :        8a4401fc
             and al , 0Ah                                                    ;0x006c84a5 :        240a
             cmp al , 0Ah                                                    ;0x006c84a7 :        3c0a
             jne Label6c84ae                                                 ;0x006c84a9 :        7503
             mov  dword ptr [ ebp - 68 ] , esi                               ;0x006c84ab :        8975bc

     Label6c84ae ::
             cmp edi , ebx                                                   ;0x006c84ae :        3bfb
             mov  dword ptr [ ebp + 0FFFFFF7Ch ] , ebx                       ;0x006c84b0 :        899d7cffffff
             mov  dword ptr [ ebp - 16 ] , ebx                               ;0x006c84b6 :        895df0
             jle Label6c868d                                                 ;0x006c84b9 :        0f8ece010000

     Label6c84bf ::
             mov  eax , dword ptr [ ebp - 40 ]                               ;0x006c84bf :        8b45d8
             dec eax                                                         ;0x006c84c2 :        48
             cmp  dword ptr [ ebp - 16 ] , eax                               ;0x006c84c3 :        3945f0
             jl Label6c84d2                                                  ;0x006c84c6 :        7c0a
             cmp  dword ptr [ ebp - 68 ] , 00h                               ;0x006c84c8 :        837dbc00
             jne Label6c8659                                                 ;0x006c84cc :        0f8587010000

     Label6c84d2 ::
             xor eax , eax                                                   ;0x006c84d2 :        33c0
             lea edi ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c84d4 :        8dbd6cffffff
             stosd                                                           ;0x006c84da :        ab
             stosd                                                           ;0x006c84db :        ab
             stosd                                                           ;0x006c84dc :        ab
             stosd                                                           ;0x006c84dd :        ab
             lea edx ,  dword ptr [ ebp + 0FFFFFF34h ]                       ;0x006c84de :        8d9534ffffff
             lea eax ,  dword ptr [ ebp + 0FFFFFE94h ]                       ;0x006c84e4 :        8d8594feffff
             call Fun42c27f                                                  ;0x006c84ea :        e8903dd6ff
             pushd 00h                                                       ;0x006c84ef :        6a00
             push eax                                                        ;0x006c84f1 :        50
             call Fun42c2be                                                  ;0x006c84f2 :        e8c73dd6ff
             test eax , eax                                                  ;0x006c84f7 :        85c0
             pop ecx                                                         ;0x006c84f9 :        59
             pop ecx                                                         ;0x006c84fa :        59
             mov  dword ptr [ ebp - 124 ] , eax                              ;0x006c84fb :        894584
             jne Label6c8631                                                 ;0x006c84fe :        0f852d010000
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c8504 :        8b45f8
             mov  edi , dword ptr [ ebp - 16 ]                               ;0x006c8507 :        8b7df0
             mov  ebx , dword ptr [ eax + 8 ]                                ;0x006c850a :        8b5808
             mov  esi , dword ptr [ ebp - 36 ]                               ;0x006c850d :        8b75dc
             mov  eax , dword ptr [ ebp - 4 ]                                ;0x006c8510 :        8b45fc
             shl edi , 04h                                                   ;0x006c8513 :        c1e704
             add ebx , edi                                                   ;0x006c8516 :        03df
             push esi                                                        ;0x006c8518 :        56
             lea ecx ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c8519 :        8d8d6cffffff
             call Fun6c7a99                                                  ;0x006c851f :        e875f5ffff
             test  byte ptr [ ebp + 0FFFFFF6Dh ] , 040h                      ;0x006c8524 :        f6856dffffff40
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c852b :        8945f4
             je Label6c8548                                                  ;0x006c852e :        7418
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c8530 :        8b45f8
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c8533 :        8b4008
             cmp  word ptr [ eax + edi + 4 ] , 01Ah                          ;0x006c8536 :        66837c38041a
             je Label6c8548                                                  ;0x006c853c :        740a
             mov ecx , 0385h                                                 ;0x006c853e :        b985030000
             call Fun544742                                                  ;0x006c8543 :        e8fac1e7ff

     Label6c8548 ::
             cmp  dword ptr [ ebp - 12 ] , 00h                               ;0x006c8548 :        837df400
             jne Label6c856b                                                 ;0x006c854c :        751d
             push  dword ptr [ ebp - 24 ]                                    ;0x006c854e :        ff75e8
             mov  ecx , dword ptr [ ebp - 16 ]                               ;0x006c8551 :        8b4df0
             lea eax ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c8554 :        8d856cffffff
             push eax                                                        ;0x006c855a :        50
             mov  eax , dword ptr [ ebp - 32 ]                               ;0x006c855b :        8b45e0
             lea eax ,  dword ptr [ eax + 4 * ecx ]                          ;0x006c855e :        8d0488
             push eax                                                        ;0x006c8561 :        50
             call Fun807418                                                  ;0x006c8562 :        e8b1ee1300
             test eax , eax                                                  ;0x006c8567 :        85c0
             je Label6c8575                                                  ;0x006c8569 :        740a

     Label6c856b ::
             mov ecx , 0385h                                                 ;0x006c856b :        b985030000
             call Fun544742                                                  ;0x006c8570 :        e8cdc1e7ff

     Label6c8575 ::
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c8575 :        8b45f8
             mov  ecx , dword ptr [ eax + 8 ]                                ;0x006c8578 :        8b4808
             add ecx , edi                                                   ;0x006c857b :        03cf
             cmp  word ptr [ ecx + 4 ] , 01Ah                                ;0x006c857d :        668379041a
             jne Label6c8631                                                 ;0x006c8582 :        0f85a9000000
             mov  ecx , dword ptr [ecx]                                      ;0x006c8588 :        8b09
             cmp  word ptr [ ecx + 4 ] , 01Dh                                ;0x006c858a :        668379041d
             jne Label6c8631                                                 ;0x006c858f :        0f859c000000
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c8595 :        8b4008
             mov  eax , dword ptr [ edi + eax ]                              ;0x006c8598 :        8b0407
             mov  ecx , dword ptr [esi]                                      ;0x006c859b :        8b0e
             lea edx ,  dword ptr [ ebp - 60 ]                               ;0x006c859d :        8d55c4
             push edx                                                        ;0x006c85a0 :        52
             push  dword ptr [eax]                                           ;0x006c85a1 :        ff30
             push esi                                                        ;0x006c85a3 :        56
             call  dword ptr [ ecx + 56 ]                                    ;0x006c85a4 :        ff5138
             mov  eax , dword ptr [ ebp - 60 ]                               ;0x006c85a7 :        8b45c4
             mov  ecx , dword ptr [eax]                                      ;0x006c85aa :        8b08
             lea edx ,  dword ptr [ ebp + 0FFFFFF3Ch ]                       ;0x006c85ac :        8d953cffffff
             push edx                                                        ;0x006c85b2 :        52
             push eax                                                        ;0x006c85b3 :        50
             call  dword ptr [ ecx + 12 ]                                    ;0x006c85b4 :        ff510c
             mov  eax , dword ptr [ ebp + 0FFFFFF3Ch ]                       ;0x006c85b7 :        8b853cffffff
             mov  ecx , dword ptr [ ebp - 60 ]                               ;0x006c85bd :        8b4dc4
             mov  edx , dword ptr [ecx]                                      ;0x006c85c0 :        8b11
             mov  edi , dword ptr [ eax + 40 ]                               ;0x006c85c2 :        8b7828
             push eax                                                        ;0x006c85c5 :        50
             push ecx                                                        ;0x006c85c6 :        51
             call  dword ptr [ edx + 76 ]                                    ;0x006c85c7 :        ff524c
             cmp edi , 03h                                                   ;0x006c85ca :        83ff03
             mov  eax , dword ptr [ ebp - 60 ]                               ;0x006c85cd :        8b45c4
             je Label6c85da                                                  ;0x006c85d0 :        7408
             mov  ecx , dword ptr [eax]                                      ;0x006c85d2 :        8b08
             push eax                                                        ;0x006c85d4 :        50
             call  dword ptr [ ecx + 8 ]                                     ;0x006c85d5 :        ff5108
             jmp Label6c8631                                                 ;0x006c85d8 :        eb57

     Label6c85da ::
             mov  edx , dword ptr [ Data9388dc ]                             ;0x006c85da :        8b15dc889300
             pushd 0FFFFFFFFh                                                ;0x006c85e0 :        6aff
             mov  dword ptr [ ebp + 0FFFFFF30h ] , eax                       ;0x006c85e2 :        898530ffffff
             mov eax ,  dword ptr [ Data9370f0 ]                             ;0x006c85e8 :        a1f0709300
             mov  eax , dword ptr [ eax + 36 ]                               ;0x006c85ed :        8b4024
             pushd 04h                                                       ;0x006c85f0 :        6a04
             lea ecx ,  dword ptr [ ebp + 0FFFFFF30h ]                       ;0x006c85f2 :        8d8d30ffffff
             push ecx                                                        ;0x006c85f8 :        51
             lea ecx ,  dword ptr [ eax + 4 * eax ]                          ;0x006c85f9 :        8d0c80
             shl ecx , 05h                                                   ;0x006c85fc :        c1e105
             push  dword ptr [ ecx + edx + 116 ]                             ;0x006c85ff :        ff741174
             pushd 00h                                                       ;0x006c8603 :        6a00
             pushd 0FFFFFFFFh                                                ;0x006c8605 :        6aff
             pushd 01DBh                                                     ;0x006c8607 :        68db010000
             push eax                                                        ;0x006c860c :        50
             call Fun41c715                                                  ;0x006c860d :        e80341d5ff
             mov eax ,  dword ptr [ Data9370f0 ]                             ;0x006c8612 :        a1f0709300
             mov  eax , dword ptr [ eax + 36 ]                               ;0x006c8617 :        8b4024
             mov  ecx , dword ptr [ Data9388dc ]                             ;0x006c861a :        8b0ddc889300
             lea eax ,  dword ptr [ eax + 4 * eax ]                          ;0x006c8620 :        8d0480
             shl eax , 05h                                                   ;0x006c8623 :        c1e005
             lea eax ,  dword ptr [ eax + ecx + 52 ]                         ;0x006c8626 :        8d440834
             add esp , 020h                                                  ;0x006c862a :        83c420
             or  byte ptr [ eax + 2 ] , 04h                                  ;0x006c862d :        80480204

     Label6c8631 ::
             lea eax ,  dword ptr [ ebp + 0FFFFFF34h ]                       ;0x006c8631 :        8d8534ffffff
             push eax                                                        ;0x006c8637 :        50
             lea eax ,  dword ptr [ ebp + 0FFFFFE94h ]                       ;0x006c8638 :        8d8594feffff
             call Fun42d200                                                  ;0x006c863e :        e8bd4bd6ff
             mov  eax , dword ptr [ ebp - 124 ]                              ;0x006c8643 :        8b4584
             test eax , eax                                                  ;0x006c8646 :        85c0
             je Label6c8659                                                  ;0x006c8648 :        740f
             cmp  dword ptr [ ebp + 0FFFFFF7Ch ] , 00h                       ;0x006c864a :        83bd7cffffff00
             jne Label6c8659                                                 ;0x006c8651 :        7506
             mov  dword ptr [ ebp + 0FFFFFF7Ch ] , eax                       ;0x006c8653 :        89857cffffff

     Label6c8659 ::
             mov  esi , dword ptr [ ebp - 16 ]                               ;0x006c8659 :        8b75f0
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c865c :        8b45f8
             mov edx , esi                                                   ;0x006c865f :        8bd6
             shl edx , 04h                                                   ;0x006c8661 :        c1e204
             add  edx , dword ptr [ eax + 8 ]                                ;0x006c8664 :        035008
             pushd 00h                                                       ;0x006c8667 :        6a00
             call Fun6c7dc9                                                  ;0x006c8669 :        e85bf7ffff
             mov  ecx , dword ptr [ ebp - 20 ]                               ;0x006c866e :        8b4dec
             add  dword ptr [ ebp - 4 ] , eax                                ;0x006c8671 :        0145fc
             inc esi                                                         ;0x006c8674 :        46
             cmp  esi , dword ptr [ ebp - 40 ]                               ;0x006c8675 :        3b75d8
             lea ecx ,  dword ptr [ ecx + eax - 4 ]                          ;0x006c8678 :        8d4c01fc
             mov  dword ptr [ ebp - 20 ] , ecx                               ;0x006c867c :        894dec
             mov  dword ptr [ ebp - 16 ] , esi                               ;0x006c867f :        8975f0
             jl Label6c84bf                                                  ;0x006c8682 :        0f8c37feffff
             mov  edi , dword ptr [ ebp - 40 ]                               ;0x006c8688 :        8b7dd8
             xor ebx , ebx                                                   ;0x006c868b :        33db

     Label6c868d ::
             mov  ecx , dword ptr [ ebp + 0FFFFFF7Ch ]                       ;0x006c868d :        8b8d7cffffff
             cmp ecx , ebx                                                   ;0x006c8693 :        3bcb
             je Label6c869c                                                  ;0x006c8695 :        7405
             call Fun544742                                                  ;0x006c8697 :        e8a6c0e7ff

     Label6c869c ::
             mov  edx , dword ptr [ ebp - 72 ]                               ;0x006c869c :        8b55b8
             mov  ecx , dword ptr [ ebp - 24 ]                               ;0x006c869f :        8b4de8
             pushd 010h                                                      ;0x006c86a2 :        6a10
             mov esi , edi                                                   ;0x006c86a4 :        8bf7
             sub  esi , dword ptr [ ebp - 68 ]                               ;0x006c86a6 :        2b75bc
             push ebx                                                        ;0x006c86a9 :        53
             push esi                                                        ;0x006c86aa :        56
             push ebx                                                        ;0x006c86ab :        53
             pushd 0FFFFFFFFh                                                ;0x006c86ac :        6aff
             mov  dword ptr [ ebp - 124 ] , esi                              ;0x006c86ae :        897584
             call Fun5028fb                                                  ;0x006c86b1 :        e845a2e3ff
             test eax , eax                                                  ;0x006c86b6 :        85c0
             jne Label6c86c4                                                 ;0x006c86b8 :        750a
             mov ecx , 01AEh                                                 ;0x006c86ba :        b9ae010000
             call Fun544742                                                  ;0x006c86bf :        e87ec0e7ff

     Label6c86c4 ::
             cmp esi , ebx                                                   ;0x006c86c4 :        3bf3
             mov  dword ptr [ ebp - 16 ] , ebx                               ;0x006c86c6 :        895df0
             jle Label6c8848                                                 ;0x006c86c9 :        0f8e79010000

     Label6c86cf ::
             mov  eax , dword ptr [ ebp - 32 ]                               ;0x006c86cf :        8b45e0
             mov  ecx , dword ptr [ ebp - 16 ]                               ;0x006c86d2 :        8b4df0
             lea ebx ,  dword ptr [ eax + 4 * ecx ]                          ;0x006c86d5 :        8d1c88
             cmp  dword ptr [ebx] , 0FFFFFFFFh                               ;0x006c86d8 :        833bff
             je Label6c881e                                                  ;0x006c86db :        0f843d010000
             xor eax , eax                                                   ;0x006c86e1 :        33c0
             push  dword ptr [ ebp - 28 ]                                    ;0x006c86e3 :        ff75e4
             lea edi ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c86e6 :        8dbd6cffffff
             stosd                                                           ;0x006c86ec :        ab
             stosd                                                           ;0x006c86ed :        ab
             stosd                                                           ;0x006c86ee :        ab
             mov  edx , dword ptr [ ebp - 36 ]                               ;0x006c86ef :        8b55dc
             stosd                                                           ;0x006c86f2 :        ab
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c86f3 :        8b45f8
             mov edi , ecx                                                   ;0x006c86f6 :        8bf9
             mov  ecx , dword ptr [ eax + 8 ]                                ;0x006c86f8 :        8b4808
             shl edi , 04h                                                   ;0x006c86fb :        c1e704
             mov  ecx , dword ptr [ edi + ecx ]                              ;0x006c86fe :        8b0c0f
             mov  cx , word ptr [ ecx + 4 ]                                  ;0x006c8701 :        668b4904
             or cx , 04000h                                                  ;0x006c8705 :        6681c90040
             mov  word ptr [ ebp + 0FFFFFF6Ch ] , cx                         ;0x006c870a :        66898d6cffffff
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c8711 :        8b4008
             lea ecx ,  dword ptr [ edi + eax ]                              ;0x006c8714 :        8d0c07
             mov  eax , dword ptr [ecx]                                      ;0x006c8717 :        8b01
             mov  ax , word ptr [ eax + 4 ]                                  ;0x006c8719 :        668b4004
             lea esi ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c871d :        8db56cffffff
             call Fun6c7929                                                  ;0x006c8723 :        e801f2ffff
             mov eax , esi                                                   ;0x006c8728 :        8bc6
             push eax                                                        ;0x006c872a :        50
             push  dword ptr [ebx]                                           ;0x006c872b :        ff33
             call Fun807255                                                  ;0x006c872d :        e823eb1300
             test eax , eax                                                  ;0x006c8732 :        85c0
             je Label6c8740                                                  ;0x006c8734 :        740a
             mov ecx , 0385h                                                 ;0x006c8736 :        b985030000
             call Fun544742                                                  ;0x006c873b :        e802c0e7ff

     Label6c8740 ::
             push  dword ptr [ebx]                                           ;0x006c8740 :        ff33
             call Fun8e1b75                                                  ;0x006c8742 :        e82e942100
             lea eax ,  dword ptr [ ebp + 0FFFFFF1Ch ]                       ;0x006c8747 :        8d851cffffff
             push eax                                                        ;0x006c874d :        50
             call  VariantInit                                 ;0x006c874e :        ff158c7a9100
             lea eax ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c8754 :        8d856cffffff
             push eax                                                        ;0x006c875a :        50
             lea eax ,  dword ptr [ ebp + 0FFFFFF1Ch ]                       ;0x006c875b :        8d851cffffff
             push eax                                                        ;0x006c8761 :        50
             call  VariantCopyInd                              ;0x006c8762 :        ff15ac7a9100
             xor esi , esi                                                   ;0x006c8768 :        33f6
             cmp eax , esi                                                   ;0x006c876a :        3bc6
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c876c :        8945f4
             je Label6c877b                                                  ;0x006c876f :        740a
             mov ecx , 0385h                                                 ;0x006c8771 :        b985030000
             call Fun544742                                                  ;0x006c8776 :        e8c7bfe7ff

     Label6c877b ::
             movzx eax ,word ptr [ ebp + 0FFFFFF6Ch ]                        ;0x006c877b :        0fb7856cffffff
             and eax , 0FFFFBFFFh                                            ;0x006c8782 :        25ffbfffff
             cmp eax , 0Ch                                                   ;0x006c8787 :        83f80c
             jne Label6c87ab                                                 ;0x006c878a :        751f
             mov  eax , dword ptr [ ebp + 0FFFFFF74h ]                       ;0x006c878c :        8b8574ffffff
             test  byte ptr [ eax + 1 ] , 020h                               ;0x006c8792 :        f6400120
             je Label6c87ab                                                  ;0x006c8796 :        7413
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c8798 :        8b4008
             test  byte ptr [ eax + 2 ] , 010h                               ;0x006c879b :        f6400210
             je Label6c87ab                                                  ;0x006c879f :        740a
             mov  eax , dword ptr [ ebp + 0FFFFFF24h ]                       ;0x006c87a1 :        8b8524ffffff
             or  byte ptr [ eax + 2 ] , 010h                                 ;0x006c87a7 :        80480210

     Label6c87ab ::
             lea eax ,  dword ptr [ ebp + 0FFFFFF6Ch ]                       ;0x006c87ab :        8d856cffffff
             push eax                                                        ;0x006c87b1 :        50
             call  VariantClear                                ;0x006c87b2 :        ff15887a9100
             mov  eax , dword ptr [ ebp - 28 ]                               ;0x006c87b8 :        8b45e4
             mov  ecx , dword ptr [eax]                                      ;0x006c87bb :        8b08
             cmp ecx , esi                                                   ;0x006c87bd :        3bce
             je Label6c881b                                                  ;0x006c87bf :        745a
             cmp  dword ptr [ecx] , esi                                      ;0x006c87c1 :        3931
             je Label6c881b                                                  ;0x006c87c3 :        7456
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c87c5 :        8b45f8
             mov  eax , dword ptr [ eax + 8 ]                                ;0x006c87c8 :        8b4008
             add edi , eax                                                   ;0x006c87cb :        03f8
             test  byte ptr [ ebp + 0FFFFFF1Dh ] , 020h                      ;0x006c87cd :        f6851dffffff20
             mov  eax , dword ptr [edi]                                      ;0x006c87d4 :        8b07
             mov  ax , word ptr [ eax + 4 ]                                  ;0x006c87d6 :        668b4004
             je Label6c87fb                                                  ;0x006c87da :        741f
             mov  edx , dword ptr [ ebp + 0FFFFFF24h ]                       ;0x006c87dc :        8b9524ffffff
             test  byte ptr [ edx + 3 ] , 08h                                ;0x006c87e2 :        f6420308
             je Label6c87fb                                                  ;0x006c87e6 :        7413
             cmp ax , 01Bh                                                   ;0x006c87e8 :        663d1b00
             jne Label6c87fb                                                 ;0x006c87ec :        750d
             test  byte ptr [ edi + 12 ] , 02h                               ;0x006c87ee :        f6470c02
             je Label6c87f6                                                  ;0x006c87f2 :        7402
             mov  dword ptr [ecx] , edx                                      ;0x006c87f4 :        8911

     Label6c87f6 ::
             mov  dword ptr [ ebp - 12 ] , esi                               ;0x006c87f6 :        8975f4
             jmp Label6c880b                                                 ;0x006c87f9 :        eb10

     Label6c87fb ::
             pushd 01h                                                       ;0x006c87fb :        6a01
             lea ebx ,  dword ptr [ ebp + 0FFFFFF1Ch ]                       ;0x006c87fd :        8d9d1cffffff
             call Fun6c7c2c                                                  ;0x006c8803 :        e824f4ffff
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c8808 :        8945f4

     Label6c880b ::
             cmp  dword ptr [ ebp - 12 ] , 00h                               ;0x006c880b :        837df400
             je Label6c881e                                                  ;0x006c880f :        740d
             mov ecx , 0385h                                                 ;0x006c8811 :        b985030000
             call Fun544742                                                  ;0x006c8816 :        e827bfe7ff

     Label6c881b ::
             mov  dword ptr [ ebp - 12 ] , esi                               ;0x006c881b :        8975f4

     Label6c881e ::
             mov  edx , dword ptr [ ebp - 16 ]                               ;0x006c881e :        8b55f0
             mov  eax , dword ptr [ ebp - 8 ]                                ;0x006c8821 :        8b45f8
             shl edx , 04h                                                   ;0x006c8824 :        c1e204
             add  edx , dword ptr [ eax + 8 ]                                ;0x006c8827 :        035008
             pushd 00h                                                       ;0x006c882a :        6a00
             call Fun6c7dc9                                                  ;0x006c882c :        e898f5ffff
             add  dword ptr [ ebp - 28 ] , eax                               ;0x006c8831 :        0145e4
             inc  dword ptr [ ebp - 16 ]                                     ;0x006c8834 :        ff45f0
             mov  eax , dword ptr [ ebp - 16 ]                               ;0x006c8837 :        8b45f0
             cmp  eax , dword ptr [ ebp - 124 ]                              ;0x006c883a :        3b4584
             jl Label6c86cf                                                  ;0x006c883d :        0f8c8cfeffff
             mov  edi , dword ptr [ ebp - 40 ]                               ;0x006c8843 :        8b7dd8
             xor ebx , ebx                                                   ;0x006c8846 :        33db

     Label6c8848 ::
             cmp  dword ptr [ ebp - 68 ] , ebx                               ;0x006c8848 :        395dbc
             je Label6c88af                                                  ;0x006c884b :        7462
             cmp  dword ptr [ Data93da70 ] , ebx                             ;0x006c884d :        391d70da9300
             mov esi , 012Eh                                                 ;0x006c8853 :        be2e010000
             jne Label6c8861                                                 ;0x006c8858 :        7507
             mov ecx , esi                                                   ;0x006c885a :        8bce
             call Fun544742                                                  ;0x006c885c :        e8e1bee7ff

     Label6c8861 ::
             mov eax ,  dword ptr [ Data9370f0 ]                             ;0x006c8861 :        a1f0709300
             add eax , 02Ch                                                  ;0x006c8866 :        83c02c
             push eax                                                        ;0x006c8869 :        50
             lea edx ,  dword ptr [ ebp + 0FFFFFF48h ]                       ;0x006c886a :        8d9548ffffff
             call Fun4f405a                                                  ;0x006c8870 :        e8e5b7e2ff
             test eax , eax                                                  ;0x006c8875 :        85c0
             je Label6c8880                                                  ;0x006c8877 :        7407
             mov ecx , esi                                                   ;0x006c8879 :        8bce
             call Fun544742                                                  ;0x006c887b :        e8c2bee7ff

     Label6c8880 ::
             mov  ecx , dword ptr [ ebp - 8 ]                                ;0x006c8880 :        8b4df8
             mov  ecx , dword ptr [ ecx + 8 ]                                ;0x006c8883 :        8b4908
             mov  eax , dword ptr [ ebp - 16 ]                               ;0x006c8886 :        8b45f0
             shl eax , 04h                                                   ;0x006c8889 :        c1e004
             mov  eax , dword ptr [ ecx + eax ]                              ;0x006c888c :        8b0401
             mov  ecx , dword ptr [ ebp - 28 ]                               ;0x006c888f :        8b4de4
             mov  ax , word ptr [ eax + 4 ]                                  ;0x006c8892 :        668b4004
             mov  ecx , dword ptr [ecx]                                      ;0x006c8896 :        8b09
             pushd 01h                                                       ;0x006c8898 :        6a01
             lea ebx ,  dword ptr [ ebp + 0FFFFFF48h ]                       ;0x006c889a :        8d9d48ffffff
             call Fun6c7c2c                                                  ;0x006c88a0 :        e887f3ffff
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c88a5 :        8945f4
             test eax , eax                                                  ;0x006c88a8 :        85c0
             jmp Label6c8a49                                                 ;0x006c88aa :        e99a010000

     Label6c88af ::
             cmp edi , ebx                                                   ;0x006c88af :        3bfb
             mov  edx , dword ptr [ ebp - 8 ]                                ;0x006c88b1 :        8b55f8
             je Label6c890d                                                  ;0x006c88b4 :        7457
             mov  eax , dword ptr [ edx + 8 ]                                ;0x006c88b6 :        8b4208
             shl edi , 04h                                                   ;0x006c88b9 :        c1e704
             mov  al , byte ptr [ edi + eax - 4 ]                            ;0x006c88bc :        8a4407fc
             and al , 0Ah                                                    ;0x006c88c0 :        240a
             cmp al , 0Ah                                                    ;0x006c88c2 :        3c0a
             jne Label6c890d                                                 ;0x006c88c4 :        7547
             cmp  dword ptr [ Data93da70 ] , ebx                             ;0x006c88c6 :        391d70da9300
             mov esi , 012Eh                                                 ;0x006c88cc :        be2e010000
             jne Label6c88da                                                 ;0x006c88d1 :        7507
             mov ecx , esi                                                   ;0x006c88d3 :        8bce
             call Fun544742                                                  ;0x006c88d5 :        e868bee7ff

     Label6c88da ::
             mov  edi , dword ptr [ Data9370f0 ]                             ;0x006c88da :        8b3df0709300
             add edi , 02Ch                                                  ;0x006c88e0 :        83c72c
             call Fun529a6e                                                  ;0x006c88e3 :        e88611e6ff
             mov eax ,  dword ptr [ Data9370f0 ]                             ;0x006c88e8 :        a1f0709300
             cmp  byte ptr [ eax + 44 ] , 049h                               ;0x006c88ed :        80782c49
             je Label6c88fa                                                  ;0x006c88f1 :        7407
             mov ecx , esi                                                   ;0x006c88f3 :        8bce
             call Fun544742                                                  ;0x006c88f5 :        e848bee7ff

     Label6c88fa ::
             mov eax ,  dword ptr [ Data9370f0 ]                             ;0x006c88fa :        a1f0709300
             mov  eax , dword ptr [ eax + 56 ]                               ;0x006c88ff :        8b4038
             mov  dword ptr [ ebp + 0FFFFFF58h ] , eax                       ;0x006c8902 :        898558ffffff
             jmp Label6c8a64                                                 ;0x006c8908 :        e957010000

     Label6c890d ::
             mov  ax , word ptr [ edx + 36 ]                                 ;0x006c890d :        668b4224
             cmp ax , 018h                                                   ;0x006c8911 :        663d1800
             je Label6c8a52                                                  ;0x006c8915 :        0f8437010000
             cmp ax , 019h                                                   ;0x006c891b :        663d1900
             je Label6c8a52                                                  ;0x006c891f :        0f842d010000
             cmp  dword ptr [ Data93da70 ] , ebx                             ;0x006c8925 :        391d70da9300
             jne Label6c8940                                                 ;0x006c892b :        7513
             or  word ptr [ ebp + 0FFFFFF50h ] , 0FFFFFFFFh                  ;0x006c892d :        66838d50ffffffff
             mov  word ptr [ ebp + 0FFFFFF48h ] , 0Bh                        ;0x006c8935 :        66c78548ffffff0b00
             jmp Label6c8975                                                 ;0x006c893e :        eb35

     Label6c8940 ::
             mov eax ,  dword ptr [ Data9370f0 ]                             ;0x006c8940 :        a1f0709300
             add eax , 02Ch                                                  ;0x006c8945 :        83c02c
             push eax                                                        ;0x006c8948 :        50
             lea edx ,  dword ptr [ ebp + 0FFFFFF48h ]                       ;0x006c8949 :        8d9548ffffff
             call Fun4f405a                                                  ;0x006c894f :        e806b7e2ff
             mov  esi , dword ptr [ Data9370f0 ]                             ;0x006c8954 :        8b35f0709300
             add esi , 02Ch                                                  ;0x006c895a :        83c62c
             mov edi , eax                                                   ;0x006c895d :        8bf8
             call Fun53cefe                                                  ;0x006c895f :        e89a45e7ff
             cmp edi , ebx                                                   ;0x006c8964 :        3bfb
             je Label6c8972                                                  ;0x006c8966 :        740a
             mov ecx , 012Eh                                                 ;0x006c8968 :        b92e010000
             call Fun544742                                                  ;0x006c896d :        e8d0bde7ff

     Label6c8972 ::
             mov  edx , dword ptr [ ebp - 8 ]                                ;0x006c8972 :        8b55f8

     Label6c8975 ::
             xor esi , esi                                                   ;0x006c8975 :        33f6
             cmp  word ptr [ ebp + 0FFFFFF48h ] , 09h                        ;0x006c8977 :        6683bd48ffffff09
             jne Label6c8a27                                                 ;0x006c897f :        0f85a2000000
             mov  dword ptr [ ebp - 64 ] , ebx                               ;0x006c8985 :        895dc0
             mov  dword ptr [ ebp - 120 ] , ebx                              ;0x006c8988 :        895d88
             mov  cx , word ptr [ edx + 36 ]                                 ;0x006c898b :        668b4a24
             cmp cx , 01Ah                                                   ;0x006c898f :        6683f91a
             jne Label6c89a3                                                 ;0x006c8993 :        750e
             mov  eax , dword ptr [ edx + 32 ]                               ;0x006c8995 :        8b4220
             cmp  word ptr [ eax + 4 ] , 01Dh                                ;0x006c8998 :        668378041d
             jne Label6c89a3                                                 ;0x006c899d :        7504
             mov esi , eax                                                   ;0x006c899f :        8bf0
             jmp Label6c89ac                                                 ;0x006c89a1 :        eb09

     Label6c89a3 ::
             cmp cx , 01Dh                                                   ;0x006c89a3 :        6683f91d
             jne Label6c89ac                                                 ;0x006c89a7 :        7503
             lea esi ,  dword ptr [ edx + 32 ]                               ;0x006c89a9 :        8d7220

     Label6c89ac ::
             mov  eax , dword ptr [ ebp - 36 ]                               ;0x006c89ac :        8b45dc
             mov  ecx , dword ptr [eax]                                      ;0x006c89af :        8b08
             lea edx ,  dword ptr [ ebp - 64 ]                               ;0x006c89b1 :        8d55c0
             push edx                                                        ;0x006c89b4 :        52
             push  dword ptr [esi]                                           ;0x006c89b5 :        ff36
             push eax                                                        ;0x006c89b7 :        50
             call  dword ptr [ ecx + 56 ]                                    ;0x006c89b8 :        ff5138
             mov  eax , dword ptr [ ebp - 64 ]                               ;0x006c89bb :        8b45c0
             mov  ecx , dword ptr [eax]                                      ;0x006c89be :        8b08
             lea edx ,  dword ptr [ ebp - 120 ]                              ;0x006c89c0 :        8d5588
             push edx                                                        ;0x006c89c3 :        52
             push eax                                                        ;0x006c89c4 :        50
             call  dword ptr [ ecx + 12 ]                                    ;0x006c89c5 :        ff510c
             mov  ecx , dword ptr [ ebp - 120 ]                              ;0x006c89c8 :        8b4d88
             cmp  dword ptr [ ecx + 40 ] , 04h                               ;0x006c89cb :        83792804
             jne Label6c8a0f                                                 ;0x006c89cf :        753e
             mov  eax , dword ptr [ ebp + 0FFFFFF50h ]                       ;0x006c89d1 :        8b8550ffffff
             lea edi ,  dword ptr [ ebp + 0FFFFFF68h ]                       ;0x006c89d7 :        8dbd68ffffff
             push edi                                                        ;0x006c89dd :        57
             push ecx                                                        ;0x006c89de :        51
             mov  dword ptr [ ebp + 0FFFFFF68h ] , ebx                       ;0x006c89df :        899d68ffffff
             mov  edx , dword ptr [eax]                                      ;0x006c89e5 :        8b10
             push eax                                                        ;0x006c89e7 :        50
             call  dword ptr [edx]                                           ;0x006c89e8 :        ff12
             cmp eax , ebx                                                   ;0x006c89ea :        3bc3
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c89ec :        8945f4
             jne Label6c8a02                                                 ;0x006c89ef :        7511
             mov  eax , dword ptr [ ebp + 0FFFFFF68h ]                       ;0x006c89f1 :        8b8568ffffff
             cmp eax , ebx                                                   ;0x006c89f7 :        3bc3
             je Label6c8a02                                                  ;0x006c89f9 :        7407
             mov  ecx , dword ptr [ ebp - 4 ]                                ;0x006c89fb :        8b4dfc
             mov  ecx , dword ptr [ecx]                                      ;0x006c89fe :        8b09
             mov  dword ptr [ecx] , eax                                      ;0x006c8a00 :        8901

     Label6c8a02 ::
             lea eax ,  dword ptr [ ebp + 0FFFFFF48h ]                       ;0x006c8a02 :        8d8548ffffff
             push eax                                                        ;0x006c8a08 :        50
             call  VariantClear                                ;0x006c8a09 :        ff15887a9100

     Label6c8a0f ::
             mov  eax , dword ptr [ ebp - 64 ]                               ;0x006c8a0f :        8b45c0
             push  dword ptr [ ebp - 120 ]                                   ;0x006c8a12 :        ff7588
             mov  ecx , dword ptr [eax]                                      ;0x006c8a15 :        8b08
             push eax                                                        ;0x006c8a17 :        50
             call  dword ptr [ ecx + 76 ]                                    ;0x006c8a18 :        ff514c
             mov  eax , dword ptr [ ebp - 64 ]                               ;0x006c8a1b :        8b45c0
             mov  ecx , dword ptr [eax]                                      ;0x006c8a1e :        8b08
             push eax                                                        ;0x006c8a20 :        50
             call  dword ptr [ ecx + 8 ]                                     ;0x006c8a21 :        ff5108
             mov  edx , dword ptr [ ebp - 8 ]                                ;0x006c8a24 :        8b55f8

     Label6c8a27 ::
             cmp esi , ebx                                                   ;0x006c8a27 :        3bf3
             jne Label6c8a46                                                 ;0x006c8a29 :        751b
             mov  ecx , dword ptr [ ebp - 4 ]                                ;0x006c8a2b :        8b4dfc
             mov  ax , word ptr [ edx + 36 ]                                 ;0x006c8a2e :        668b4224
             mov  ecx , dword ptr [ecx]                                      ;0x006c8a32 :        8b09
             pushd 00h                                                       ;0x006c8a34 :        6a00
             lea ebx ,  dword ptr [ ebp + 0FFFFFF48h ]                       ;0x006c8a36 :        8d9d48ffffff
             call Fun6c7c2c                                                  ;0x006c8a3c :        e8ebf1ffff
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c8a41 :        8945f4
             xor ebx , ebx                                                   ;0x006c8a44 :        33db

     Label6c8a46 ::
             cmp  dword ptr [ ebp - 12 ] , ebx                               ;0x006c8a46 :        395df4

     Label6c8a49 ::
             je Label6c8a64                                                  ;0x006c8a49 :        7419

     Label6c8a4b ::
             mov ecx , 0385h                                                 ;0x006c8a4b :        b985030000
             jmp Label6c8a5f                                                 ;0x006c8a50 :        eb0d

     Label6c8a52 ::
             cmp  dword ptr [ Data93da70 ] , ebx                             ;0x006c8a52 :        391d70da9300

     Label6c8a58 ::
             je Label6c8a64                                                  ;0x006c8a58 :        740a
             mov ecx , 012Eh                                                 ;0x006c8a5a :        b92e010000

     Label6c8a5f ::
             call Fun544742                                                  ;0x006c8a5f :        e8debce7ff

     Label6c8a64 ::
             lea eax ,  dword ptr [ ebp + 0FFFFFF2Ch ]                       ;0x006c8a64 :        8d852cffffff
             push eax                                                        ;0x006c8a6a :        50
             lea eax ,  dword ptr [ ebp + 0FFFFFE44h ]                       ;0x006c8a6b :        8d8544feffff
             call Fun42d200                                                  ;0x006c8a71 :        e88a47d6ff
             mov  ecx , dword ptr [ ebp - 84 ]                               ;0x006c8a76 :        8b4dac
             call Fun42c1e2                                                  ;0x006c8a79 :        e86437d6ff
             cmp  dword ptr [ ebp + 0FFFFFF60h ] , 00h                       ;0x006c8a7e :        83bd60ffffff00
             mov  eax , dword ptr [ ebp + 0FFFFFF38h ]                       ;0x006c8a85 :        8b8538ffffff
             mov  esi , dword ptr [ ebp - 36 ]                               ;0x006c8a8b :        8b75dc
             mov dword ptr [ Data93da48 ] ,  eax                             ;0x006c8a8e :        a348da9300
             je Label6c8aa9                                                  ;0x006c8a93 :        7414
             xor eax , eax                                                   ;0x006c8a95 :        33c0
             cmp  dword ptr [ ebp + 0FFFFFF60h ] , 063h                      ;0x006c8a97 :        83bd60ffffff63
             setne al                                                        ;0x006c8a9e :        0f95c0
             add eax , 080004004h                                            ;0x006c8aa1 :        0504400080
             mov  dword ptr [ ebp - 12 ] , eax                               ;0x006c8aa6 :        8945f4

     Label6c8aa9 ::
             push  dword ptr [ ebp - 8 ]                                     ;0x006c8aa9 :        ff75f8
             mov  eax , dword ptr [esi]                                      ;0x006c8aac :        8b06
             push esi                                                        ;0x006c8aae :        56
             call  dword ptr [ eax + 80 ]                                    ;0x006c8aaf :        ff5050
             mov  eax , dword ptr [ ebp - 12 ]                               ;0x006c8ab2 :        8b45f4
             test eax , eax                                                  ;0x006c8ab5 :        85c0
             jne Label6c8abf                                                 ;0x006c8ab7 :        7506
             mov  eax , dword ptr [ ebp + 0FFFFFF58h ]                       ;0x006c8ab9 :        8b8558ffffff

     Label6c8abf ::
             mov  ecx , dword ptr [ ebp - 20 ]                               ;0x006c8abf :        8b4dec
             mov  dword ptr [ Data946628 ] , ecx                             ;0x006c8ac2 :        890d28669400
             lea esp ,  dword ptr [ ebp + 0FFFFFE38h ]                       ;0x006c8ac8 :        8da538feffff
             pop edi                                                         ;0x006c8ace :        5f
             pop esi                                                         ;0x006c8acf :        5e
             pop ebx                                                         ;0x006c8ad0 :        5b
             leave                                                           ;0x006c8ad1 :        c9
             ret                                                             ;0x006c8ad2 :        c3


4. APPLIES TO:

     VFP 9.0.0.5411 (SP2)
     VFP 9.0.0.5721 (SP2)
     VFP 9.0.0.5815 (SP2)
     VFP 9.0.0.6303 (SP2)
     VFP 9.0.0.6602 (SP2)
     VFP 9.0.0.7423 (SP2)

     The bug has been fixed in VFP Advanced.

     IMPORTANT NOTE:
     In vfp9 (and vfp6, vfp7, vfp8), when we access some array properties of an object created with the CREATEOBJECTEX() function,
     it causes the error "OLE error code 0x80004005: Unspecified error (Error 1426)".

     The bug occurs in the following array properties:
     Controls property
     Objects property

     There is no the bug for the CREATEOBJECT() function and the NEWOBJECT() function.

     The bug has not been fixed in VFP Advanced.


5. REFERENCE WEBSITES:

     1, baiyujia.com:
     http://www.baiyujia.com


6. OTHER:

     For reference only, there is no guarantees.

     Any questions or suggestions, please send me an email at ccb2000@163.com.