------------------------------------------------------------
[BUG/PRB.] VFP 9.0 FIX - FIX THE IMPORT COMMAND
January 2026
------------------------------------------------------------
CCB
1. BUG:
In vfp9 (and vfp6, vfp7, vfp8), if we use the IMPORT command to import data from Microsoft Excel 5.0 and 97 (XLS), sometimes VFP will crash.
2. CAUSE:
There are some BUGs in the following code.
3. RESOLUTION:
We can write some code to fix the BUG.
Fun7ae10e :: ; proc near
pushd 02E0h ;0x007ae10e : 68e0020000
pushd offset Data92b6c0 ;0x007ae113 : 68c0b69200
call Fun42c14f ;0x007ae118 : e832e0c7ff
mov eax , dword ptr [ Data937090 ] ;0x007ae11d : a190709300
mov dword ptr [ ebp - 28 ] , eax ;0x007ae122 : 8945e4
mov esi , dword ptr [ ebp + 8 ] ;0x007ae125 : 8b7508
xor ebx , ebx ;0x007ae128 : 33db
mov dword ptr [ ebp + 0FFFFFDA0h ] , ebx ;0x007ae12a : 899da0fdffff
mov dword ptr [ ebp + 0FFFFFDACh ] , ebx ;0x007ae130 : 899dacfdffff
mov dword ptr [ ebp + 0FFFFFDB4h ] , ebx ;0x007ae136 : 899db4fdffff
mov dword ptr [ ebp + 0FFFFFDB8h ] , ebx ;0x007ae13c : 899db8fdffff
pushd 0105h ;0x007ae142 : 6805010000
lea ecx , dword ptr [ esi + 93 ] ;0x007ae147 : 8d4e5d
lea edi , dword ptr [ ebp + 0FFFFFDD8h ] ;0x007ae14a : 8dbdd8fdffff
call Fun4a742a ;0x007ae150 : e8d592cfff
call Fun53d093 ;0x007ae155 : e839efd8ff
push eax ;0x007ae15a : 50
push ebx ;0x007ae15b : 53
pushd 0FFFFFFFFh ;0x007ae15c : 6aff
mov eax , edi ;0x007ae15e : 8bc7
push eax ;0x007ae160 : 50
lea ebx , dword ptr [ ebp + 0FFFFFDA4h ] ;0x007ae161 : 8d9da4fdffff
call Fun4d9aab ;0x007ae167 : e83fb9d2ff
test eax , eax ;0x007ae16c : 85c0
je Label7ae17c ;0x007ae16e : 740c
mov edi , eax ;0x007ae170 : 8bf8
mov ecx , 01AAh ;0x007ae172 : b9aa010000
call Fun791bc8 ;0x007ae177 : e84c3afeff
Label7ae17c ::
add esi , 0162h ;0x007ae17c : 81c662010000
push esi ;0x007ae182 : 56
xor ebx , ebx ;0x007ae183 : 33db
push ebx ;0x007ae185 : 53
push ebx ;0x007ae186 : 53
pushd 010h ;0x007ae187 : 6a10
push ebx ;0x007ae189 : 53
push dword ptr [ ebp + 0FFFFFDA4h ] ;0x007ae18a : ffb5a4fdffff
call StgOpenStorage ;0x007ae190 : ff15c07b9100
mov edi , eax ;0x007ae196 : 8bf8
lea esi , dword ptr [ ebp + 0FFFFFDA4h ] ;0x007ae198 : 8db5a4fdffff
call Fun4d6e5f ;0x007ae19e : e8bc8cd2ff
cmp edi , ebx ;0x007ae1a3 : 3bfb
je Label7ae1b1 ;0x007ae1a5 : 740a
mov ecx , 01AAh ;0x007ae1a7 : b9aa010000
call Fun791bc8 ;0x007ae1ac : e8173afeff
Label7ae1b1 ::
lea edx , dword ptr [ ebp + 0FFFFFD90h ] ;0x007ae1b1 : 8d9590fdffff
lea eax , dword ptr [ ebp + 0FFFFFD10h ] ;0x007ae1b7 : 8d8510fdffff
call Fun42c27f ;0x007ae1bd : e8bde0c7ff
push dword ptr [ ebp - 4 ] ;0x007ae1c2 : ff75fc
pushd offset Label9163e7 ;0x007ae1c5 : 68e7639100
pushd 02h ;0x007ae1ca : 6a02
push eax ;0x007ae1cc : 50
call Fun42c2be ;0x007ae1cd : e8ece0c7ff
add esp , 010h ;0x007ae1d2 : 83c410
mov dword ptr [ ebp - 24 ] , esp ;0x007ae1d5 : 8965e8
mov dword ptr [ ebp + 0FFFFFDA8h ] , eax ;0x007ae1d8 : 8985a8fdffff
cmp eax , ebx ;0x007ae1de : 3bc3
jne Label7ae7ba ;0x007ae1e0 : 0f85d4050000
pushd 0107Dh ;0x007ae1e6 : 687d100000
mov edi , 080h ;0x007ae1eb : bf80000000
mov eax , edi ;0x007ae1f0 : 8bc7
call Fun42bf2a ;0x007ae1f2 : e833ddc7ff
mov esi , dword ptr [ ebp + 8 ] ;0x007ae1f7 : 8b7508
mov dword ptr [ esi + 73 ] , eax ;0x007ae1fa : 894649
push edi ;0x007ae1fd : 57
mov edx , offset Data926390 ;0x007ae1fe : ba90639200
mov ecx , dword ptr [eax] ;0x007ae203 : 8b08
call Fun42c19b ;0x007ae205 : e891dfc7ff
mov byte ptr [ esi + 69 ] , 020h ;0x007ae20a : c6464520
mov dword ptr [ esi + 81 ] , ebx ;0x007ae20e : 895e51
xor eax , eax ;0x007ae211 : 33c0
mov cl , byte ptr [ esi + 14 ] ;0x007ae213 : 8a4e0e
cmp cl , 0C7h ;0x007ae216 : 80f9c7
je Label7ae225 ;0x007ae219 : 740a
cmp cl , 0BBh ;0x007ae21b : 80f9bb
je Label7ae225 ;0x007ae21e : 7405
cmp cl , 0BAh ;0x007ae220 : 80f9ba
jne Label7ae241 ;0x007ae223 : 751c
Label7ae225 ::
mov eax , dword ptr [ esi + 0162h ] ;0x007ae225 : 8b8662010000
mov ecx , dword ptr [eax] ;0x007ae22b : 8b08
lea edx , dword ptr [ esi + 0166h ] ;0x007ae22d : 8d9666010000
push edx ;0x007ae233 : 52
push ebx ;0x007ae234 : 53
pushd 010h ;0x007ae235 : 6a10
push ebx ;0x007ae237 : 53
pushd offset Data92986c ;0x007ae238 : 686c989200
push eax ;0x007ae23d : 50
call dword ptr [ ecx + 16 ] ;0x007ae23e : ff5110
Label7ae241 ::
cmp eax , ebx ;0x007ae241 : 3bc3
je Label7ae271 ;0x007ae243 : 742c
mov eax , dword ptr [ esi + 0162h ] ;0x007ae245 : 8b8662010000
mov ecx , dword ptr [eax] ;0x007ae24b : 8b08
lea edx , dword ptr [ esi + 0166h ] ;0x007ae24d : 8d9666010000
push edx ;0x007ae253 : 52
push ebx ;0x007ae254 : 53
pushd 010h ;0x007ae255 : 6a10
push ebx ;0x007ae257 : 53
pushd offset Data928d54 ;0x007ae258 : 68548d9200
push eax ;0x007ae25d : 50
call dword ptr [ ecx + 16 ] ;0x007ae25e : ff5110
cmp eax , ebx ;0x007ae261 : 3bc3
je Label7ae271 ;0x007ae263 : 740c
mov edi , eax ;0x007ae265 : 8bf8
mov ecx , 01AAh ;0x007ae267 : b9aa010000
call Fun791bc8 ;0x007ae26c : e85739feff
Label7ae271 ::
pushd 08h ;0x007ae271 : 6a08
pop ebx ;0x007ae273 : 5b
mov dword ptr [ Data946c30 ] , ebx ;0x007ae274 : 891d306c9400
pushd 04h ;0x007ae27a : 6a04
lea eax , dword ptr [ ebp + 0FFFFFD80h ] ;0x007ae27c : 8d8580fdffff
push eax ;0x007ae282 : 50
push dword ptr [ esi + 61 ] ;0x007ae283 : ff763d
mov eax , esi ;0x007ae286 : 8bc6
call Fun7ae818 ;0x007ae288 : e88b050000
mov edi , 0295h ;0x007ae28d : bf95020000
test eax , eax ;0x007ae292 : 85c0
jne Label7ae29d ;0x007ae294 : 7507
mov ecx , edi ;0x007ae296 : 8bcf
call Fun544742 ;0x007ae298 : e8a564d9ff
Label7ae29d ::
cmp word ptr [ ebp + 0FFFFFD80h ] , 0809h ;0x007ae29d : 6681bd80fdffff0908
je Label7ae2af ;0x007ae2a6 : 7407
mov ecx , edi ;0x007ae2a8 : 8bcf
call Fun544742 ;0x007ae2aa : e89364d9ff
Label7ae2af ::
push ebx ;0x007ae2af : 53
lea eax , dword ptr [ ebp + 0FFFFFD78h ] ;0x007ae2b0 : 8d8578fdffff
push eax ;0x007ae2b6 : 50
push dword ptr [ esi + 61 ] ;0x007ae2b7 : ff763d
mov eax , esi ;0x007ae2ba : 8bc6
call Fun7ae818 ;0x007ae2bc : e857050000
test eax , eax ;0x007ae2c1 : 85c0
jne Label7ae2cc ;0x007ae2c3 : 7507
mov ecx , edi ;0x007ae2c5 : 8bcf
call Fun544742 ;0x007ae2c7 : e87664d9ff
Label7ae2cc ::
cmp word ptr [ ebp + 0FFFFFD7Ah ] , 05h ;0x007ae2cc : 6683bd7afdffff05
je Label7ae2dd ;0x007ae2d4 : 7407
mov ecx , edi ;0x007ae2d6 : 8bcf
call Fun544742 ;0x007ae2d8 : e86564d9ff
Label7ae2dd ::
;
; -------------------------------------------------
; VFP 9.0 FIX - FIX THE IMPORT COMMAND
; July 2025
; -------------------------------------------------
; CCB
;
; In vfp9, if we use the IMPORT command to import data from Microsoft Excel 5.0 and 97 (XLS), sometimes VFP will crash.
;
; 2025/7/9, by ccb
;
cmp dword ptr vfpa_sys9189_data,00h
je Label7ae2de
cmp word ptr [ ebp + 0FFFFFD82h ] , 0010h
jne Label7ae2de
pushd 08h
push dword ptr [ esi + 65 ]
push dword ptr [ esi + 61 ]
mov eax , esi
call Fun7ae818
Label7ae2de ::
mov ax , word ptr [ ebp + 0FFFFFD78h ] ;0x007ae2dd : 668b8578fdffff
mov word ptr [esi] , ax ;0x007ae2e4 : 668906
and dword ptr [ ebp + 0FFFFFDC8h ] , 00h ;0x007ae2e7 : 83a5c8fdffff00
mov ebx , dword ptr [ ebp + 0FFFFFDCCh ] ;0x007ae2ee : 8b9dccfdffff
Label7ae2f4 ::
pushd 04h ;0x007ae2f4 : 6a04
push dword ptr [ esi + 65 ] ;0x007ae2f6 : ff7641
push dword ptr [ esi + 61 ] ;0x007ae2f9 : ff763d
mov eax , esi ;0x007ae2fc : 8bc6
call Fun7ae818 ;0x007ae2fe : e815050000
;
; -------------------------------------------------
; VFP 9.0 FIX - FIX THE IMPORT COMMAND
; July 2025
; -------------------------------------------------
; CCB
;
; In vfp9, if we use the IMPORT command to import data from Microsoft Excel 5.0 and 97 (XLS), sometimes VFP will crash.
;
; 2025/7/9, by ccb
;
cmp dword ptr vfpa_sys9189_data,00h
je Label7ae303
mov ecx , dword ptr [ esi + 65 ]
cmp dword ptr [ecx] , 000180C1h
je Label7ae302
cmp dword ptr [ecx] , 000180C9h
je Label7ae302
cmp dword ptr [ecx] , 0001C0C1h
je Label7ae302
cmp dword ptr [ecx] , 0001C0C9h
je Label7ae302
jmp Label7ae303
Label7ae302 ::
mov dword ptr [ecx] , 00000000h
Label7ae303 ::
test eax , eax ;0x007ae303 : 85c0
jne Label7ae311 ;0x007ae305 : 750a
mov ecx , 0295h ;0x007ae307 : b995020000
call Fun544742 ;0x007ae30c : e83164d9ff
Label7ae311 ::
mov eax , dword ptr [ esi + 65 ] ;0x007ae311 : 8b4641
xor ecx , ecx ;0x007ae314 : 33c9
mov cl , byte ptr [eax] ;0x007ae316 : 8a08
and ecx , 0FFh ;0x007ae318 : 81e1ff000000
mov edi , ecx ;0x007ae31e : 8bf9
mov dword ptr [ ebp + 0FFFFFD88h ] , edi ;0x007ae320 : 89bd88fdffff
xor ecx , ecx ;0x007ae326 : 33c9
mov cx , word ptr [ eax + 2 ] ;0x007ae328 : 668b4802
mov dword ptr [ ebp + 0FFFFFD8Ch ] , ecx ;0x007ae32c : 898d8cfdffff
cmp di , 0Ah ;0x007ae332 : 6683ff0a
jne Label7ae37c ;0x007ae336 : 7544
cmp dword ptr [ ebp + 0FFFFFDC8h ] , 00h ;0x007ae338 : 83bdc8fdffff00
jne Label7ae365 ;0x007ae33f : 7524
mov edi , dword ptr [ ebp + 12 ] ;0x007ae341 : 8b7d0c
add edi , 0216h ;0x007ae344 : 81c716020000
cmp byte ptr [edi] , 00h ;0x007ae34a : 803f00
jne Label7ae359 ;0x007ae34d : 750a
mov ecx , 0306h ;0x007ae34f : b906030000
call Fun544742 ;0x007ae354 : e8e963d9ff
Label7ae359 ::
pushd 0307h ;0x007ae359 : 6807030000
mov eax , edi ;0x007ae35e : 8bc7
call Fun73f199 ;0x007ae360 : e8340ef9ff
Label7ae365 ::
mov edx , dword ptr [ esi + 016Ah ] ;0x007ae365 : 8b966a010000
mov ecx , dword ptr [ esi + 61 ] ;0x007ae36b : 8b4e3d
mov eax , esi ;0x007ae36e : 8bc6
call Fun7ae851 ;0x007ae370 : e8dc040000
xor ebx , ebx ;0x007ae375 : 33db
jmp Label7ae7bd ;0x007ae377 : e941040000
Label7ae37c ::
test cx , cx ;0x007ae37c : 6685c9
je Label7ae39e ;0x007ae37f : 741d
;
; -------------------------------------------------
; VFP 9.0 FIX - FIX THE IMPORT COMMAND
; July 2025
; -------------------------------------------------
; CCB
;
; In vfp9, if we use the IMPORT command to import data from Microsoft Excel 5.0 and 97 (XLS), sometimes VFP will crash.
;
; 2025/7/9, by ccb
;
cmp dword ptr vfpa_sys9189_data,00h
je Label7ae381
movzx ecx , cx
cmp ecx , 2710h
jbe Label7ae384
mov ecx , 2710h
jmp Label7ae384
Label7ae381 ::
movsx ecx , cx ;0x007ae381 : 0fbfc9
Label7ae384 ::
push ecx ;0x007ae384 : 51
push eax ;0x007ae385 : 50
push dword ptr [ esi + 61 ] ;0x007ae386 : ff763d
mov eax , esi ;0x007ae389 : 8bc6
call Fun7ae818 ;0x007ae38b : e888040000
test eax , eax ;0x007ae390 : 85c0
jne Label7ae39e ;0x007ae392 : 750a
mov ecx , 0295h ;0x007ae394 : b995020000
call Fun544742 ;0x007ae399 : e8a463d9ff
Label7ae39e ::
cmp di , 0FCh ;0x007ae39e : 6681fffc00
je Label7ae47f ;0x007ae3a3 : 0f84d6000000
cmp di , 03Ch ;0x007ae3a9 : 6683ff3c
jne Label7ae3bc ;0x007ae3ad : 750d
cmp dword ptr [ ebp + 0FFFFFDACh ] , 00h ;0x007ae3af : 83bdacfdffff00
jne Label7ae47f ;0x007ae3b6 : 0f85c3000000
Label7ae3bc ::
and dword ptr [ ebp + 0FFFFFDACh ] , 00h ;0x007ae3bc : 83a5acfdffff00
Label7ae3c3 ::
mov eax , dword ptr [ ebp + 0FFFFFD88h ] ;0x007ae3c3 : 8b8588fdffff
cmp ax , 085h ;0x007ae3c9 : 663d8500
jne Label7ae7ab ;0x007ae3cd : 0f85d8030000
cmp dword ptr [ ebp + 0FFFFFDC8h ] , 00h ;0x007ae3d3 : 83bdc8fdffff00
jne Label7ae2f4 ;0x007ae3da : 0f8514ffffff
mov edi , dword ptr [ esi + 65 ] ;0x007ae3e0 : 8b7e41
cmp word ptr [esi] , 0600h ;0x007ae3e3 : 66813e0006
jne Label7ae769 ;0x007ae3e8 : 0f857b030000
cmp byte ptr [ edi + 7 ] , 00h ;0x007ae3ee : 807f0700
je Label7ae764 ;0x007ae3f2 : 0f846c030000
lea ecx , dword ptr [ edi + 8 ] ;0x007ae3f8 : 8d4f08
xor eax , eax ;0x007ae3fb : 33c0
push eax ;0x007ae3fd : 50
push eax ;0x007ae3fe : 50
push eax ;0x007ae3ff : 50
lea edx , dword ptr [ ebp + 0FFFFFEE0h ] ;0x007ae400 : 8d95e0feffff
push edx ;0x007ae406 : 52
movzx edx ,byte ptr [ edi + 6 ] ;0x007ae407 : 0fb65706
push edx ;0x007ae40b : 52
push ecx ;0x007ae40c : 51
push eax ;0x007ae40d : 50
push eax ;0x007ae40e : 50
call WideCharToMultiByte ;0x007ae40f : ff1598719100
mov dword ptr [ ebp + 0FFFFFDC0h ] , eax ;0x007ae415 : 8985c0fdffff
test eax , eax ;0x007ae41b : 85c0
je Label7ae454 ;0x007ae41d : 7435
mov eax , 0FEh ;0x007ae41f : b8fe000000
cmp dword ptr [ ebp + 0FFFFFDC0h ] , eax ;0x007ae424 : 3985c0fdffff
jl Label7ae432 ;0x007ae42a : 7c06
mov dword ptr [ ebp + 0FFFFFDC0h ] , eax ;0x007ae42c : 8985c0fdffff
Label7ae432 ::
xor ecx , ecx ;0x007ae432 : 33c9
push ecx ;0x007ae434 : 51
push ecx ;0x007ae435 : 51
push dword ptr [ ebp + 0FFFFFDC0h ] ;0x007ae436 : ffb5c0fdffff
lea eax , dword ptr [ ebp + 0FFFFFEE0h ] ;0x007ae43c : 8d85e0feffff
push eax ;0x007ae442 : 50
movzx eax ,byte ptr [ edi + 6 ] ;0x007ae443 : 0fb64706
push eax ;0x007ae447 : 50
lea eax , dword ptr [ edi + 8 ] ;0x007ae448 : 8d4708
push eax ;0x007ae44b : 50
push ecx ;0x007ae44c : 51
push ecx ;0x007ae44d : 51
call WideCharToMultiByte ;0x007ae44e : ff1598719100
Label7ae454 ::
mov eax , dword ptr [ ebp + 0FFFFFDC0h ] ;0x007ae454 : 8b85c0fdffff
mov byte ptr [ ebp + eax + 0FFFFFEE0h ] , 00h ;0x007ae45a : c68405e0feffff00
mov eax , dword ptr [ ebp + 12 ] ;0x007ae462 : 8b450c
add eax , 0216h ;0x007ae465 : 0516020000
cmp byte ptr [eax] , 00h ;0x007ae46a : 803800
je Label7ae794 ;0x007ae46d : 0f8421030000
push eax ;0x007ae473 : 50
lea eax , dword ptr [ ebp + 0FFFFFEE0h ] ;0x007ae474 : 8d85e0feffff
jmp Label7ae783 ;0x007ae47a : e904030000
Label7ae47f ::
mov dword ptr [ ebp + 0FFFFFDACh ] , 01h ;0x007ae47f : c785acfdffff01000000
cmp di , 0FCh ;0x007ae489 : 6681fffc00
jne Label7ae4bf ;0x007ae48e : 752f
mov edi , dword ptr [ esi + 65 ] ;0x007ae490 : 8b7e41
mov eax , dword ptr [ edi + 4 ] ;0x007ae493 : 8b4704
mov dword ptr [ esi + 57 ] , eax ;0x007ae496 : 894639
pushd 0107Dh ;0x007ae499 : 687d100000
mov eax , dword ptr [ edi + 4 ] ;0x007ae49e : 8b4704
shl eax , 02h ;0x007ae4a1 : c1e002
call Fun42bf2a ;0x007ae4a4 : e881dac7ff
mov dword ptr [ esi + 81 ] , eax ;0x007ae4a9 : 894651
mov eax , dword ptr [eax] ;0x007ae4ac : 8b00
mov dword ptr [ ebp + 0FFFFFD84h ] , eax ;0x007ae4ae : 898584fdffff
add edi , 08h ;0x007ae4b4 : 83c708
mov dword ptr [ ebp + 0FFFFFDD4h ] , edi ;0x007ae4b7 : 89bdd4fdffff
jmp Label7ae4c8 ;0x007ae4bd : eb09
Label7ae4bf ::
mov eax , dword ptr [ esi + 65 ] ;0x007ae4bf : 8b4641
mov dword ptr [ ebp + 0FFFFFDD4h ] , eax ;0x007ae4c2 : 8985d4fdffff
Label7ae4c8 ::
movsx eax ,word ptr [ ebp + 0FFFFFD8Ch ] ;0x007ae4c8 : 0fbf858cfdffff
add eax , dword ptr [ esi + 65 ] ;0x007ae4cf : 034641
mov dword ptr [ ebp + 0FFFFFD98h ] , eax ;0x007ae4d2 : 898598fdffff
mov edi , dword ptr [ ebp + 0FFFFFDA0h ] ;0x007ae4d8 : 8bbda0fdffff
test edi , edi ;0x007ae4de : 85ff
jle Label7ae516 ;0x007ae4e0 : 7e34
inc dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae4e2 : ff85d4fdffff
push edi ;0x007ae4e8 : 57
mov ecx , ebx ;0x007ae4e9 : 8bcb
sub ecx , edi ;0x007ae4eb : 2bcf
add ecx , dword ptr [ ebp + 0FFFFFD9Ch ] ;0x007ae4ed : 038d9cfdffff
mov edx , dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae4f3 : 8b95d4fdffff
call Fun42c19b ;0x007ae4f9 : e89ddcc7ff
mov eax , dword ptr [ ebp + 0FFFFFD9Ch ] ;0x007ae4fe : 8b859cfdffff
mov byte ptr [ eax + ebx ] , 00h ;0x007ae504 : c6041800
mov eax , dword ptr [ ebp + 0FFFFFDBCh ] ;0x007ae508 : 8b85bcfdffff
add eax , edi ;0x007ae50e : 03c7
add dword ptr [ ebp + 0FFFFFDD4h ] , eax ;0x007ae510 : 0185d4fdffff
Label7ae516 ::
mov eax , dword ptr [ ebp + 0FFFFFDB8h ] ;0x007ae516 : 8b85b8fdffff
test eax , eax ;0x007ae51c : 85c0
jle Label7ae537 ;0x007ae51e : 7e17
mov ecx , dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae520 : 8b8dd4fdffff
lea eax , dword ptr [ eax + ecx + 1 ] ;0x007ae526 : 8d440801
mov dword ptr [ ebp + 0FFFFFDD4h ] , eax ;0x007ae52a : 8985d4fdffff
and dword ptr [ ebp + 0FFFFFDB8h ] , 00h ;0x007ae530 : 83a5b8fdffff00
Label7ae537 ::
mov eax , dword ptr [ ebp + 0FFFFFDB4h ] ;0x007ae537 : 8b85b4fdffff
cmp eax , dword ptr [ esi + 57 ] ;0x007ae53d : 3b4639
jnb Label7ae3c3 ;0x007ae540 : 0f837dfeffff
mov eax , dword ptr [ Data937220 ] ;0x007ae546 : a120729300
mov dword ptr [ ebp + 0FFFFFD74h ] , eax ;0x007ae54b : 898574fdffff
xor edi , edi ;0x007ae551 : 33ff
mov dword ptr [ ebp - 4 ] , edi ;0x007ae553 : 897dfc
xor eax , eax ;0x007ae556 : 33c0
mov dword ptr [ ebp + 0FFFFFDC4h ] , eax ;0x007ae558 : 8985c4fdffff
mov ecx , dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae55e : 8b8dd4fdffff
movzx ebx ,word ptr [ecx] ;0x007ae564 : 0fb719
mov dword ptr [ ebp + 0FFFFFDCCh ] , ebx ;0x007ae567 : 899dccfdffff
cmp ebx , 0FEh ;0x007ae56d : 81fbfe000000
jbe Label7ae58e ;0x007ae573 : 7619
lea edi , dword ptr [ ebx + 0FFFFFF02h ] ;0x007ae575 : 8dbb02ffffff
mov dword ptr [ ebp + 0FFFFFDBCh ] , edi ;0x007ae57b : 89bdbcfdffff
mov ebx , 0FEh ;0x007ae581 : bbfe000000
mov dword ptr [ ebp + 0FFFFFDCCh ] , ebx ;0x007ae586 : 899dccfdffff
jmp Label7ae594 ;0x007ae58c : eb06
Label7ae58e ::
mov dword ptr [ ebp + 0FFFFFDBCh ] , edi ;0x007ae58e : 89bdbcfdffff
Label7ae594 ::
add dword ptr [ ebp + 0FFFFFDD4h ] , 02h ;0x007ae594 : 8385d4fdffff02
mov ecx , dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae59b : 8b8dd4fdffff
mov cl , byte ptr [ecx] ;0x007ae5a1 : 8a09
mov byte ptr [ ebp + 0FFFFFDD3h ] , cl ;0x007ae5a3 : 888dd3fdffff
inc dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae5a9 : ff85d4fdffff
test byte ptr cl , 01h ;0x007ae5af : f6c101
je Label7ae5c5 ;0x007ae5b2 : 7411
add ebx , ebx ;0x007ae5b4 : 03db
mov dword ptr [ ebp + 0FFFFFDCCh ] , ebx ;0x007ae5b6 : 899dccfdffff
lea edx , dword ptr [ edi + edi ] ;0x007ae5bc : 8d143f
mov dword ptr [ ebp + 0FFFFFDBCh ] , edx ;0x007ae5bf : 8995bcfdffff
Label7ae5c5 ::
test byte ptr cl , 08h ;0x007ae5c5 : f6c108
je Label7ae5e3 ;0x007ae5c8 : 7419
mov eax , dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae5ca : 8b85d4fdffff
movzx eax ,word ptr [eax] ;0x007ae5d0 : 0fb700
shl eax , 02h ;0x007ae5d3 : c1e002
mov dword ptr [ ebp + 0FFFFFDC4h ] , eax ;0x007ae5d6 : 8985c4fdffff
add dword ptr [ ebp + 0FFFFFDD4h ] , 02h ;0x007ae5dc : 8385d4fdffff02
Label7ae5e3 ::
test byte ptr cl , 04h ;0x007ae5e3 : f6c104
je Label7ae5fd ;0x007ae5e6 : 7415
mov ecx , dword ptr [ ebp + 0FFFFFDD4h ] ;0x007ae5e8 : 8b8dd4fdffff
add eax , dword ptr [ecx] ;0x007ae5ee : 0301
mov dword ptr [ ebp + 0FFFFFDC4h ] , eax ;0x007ae5f0 : 8985c4fdffff
add dword ptr [ ebp + 0FFFFFDD4h ] , 04h ;0x007ae5f6 : 8385d4fdffff04
Label7ae5fd ::
or dword ptr [ ebp - 4 ] , 0FFFFFFFFh ;0x007ae5fd : 834dfcff
jmp Label7ae614 ;0x007ae601 : eb11
4. APPLIES TO:
VFP 6.0.8167.0
VFP 6.0.8961.0 (SP5)
VFP 7.0.0.9262
VFP 7.0.0.9465 (SP1)
VFP 8.0.0.2521
VFP 8.0.0.3117 (SP1)
VFP 9.0.0.2412
VFP 9.0.0.3504 (SP1)
VFP 9.0.0.4611 (SP2)
VFP 9.0.0.5015 (SP2)
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.
5. REFERENCE WEBSITES:
1, baiyujia.com:
http://www.baiyujia.com
http://www.baiyujia.com/vfpdocuments/f_vfp9fix384.asp
6. OTHER:
For reference only, there is no guarantees.
Any questions or suggestions, please send me an email at ccb2000@163.com.
|