--------------------------------------------------------------------------
[BUG/PRB.] VFP 9.0 FIX - FIX the GRID.BEFOREROWCOLCHANGE EVENT
November 2026
--------------------------------------------------------------------------
CCB
1. BUG:
In vfp9 (and vfp6, vfp7, vfp8), if there is the DODEFAULT() function in the Grid.BeforeRowColChange event,
when we clicking the delete mark in the Grid control, and the clicked record is the last record and it is not fully visible,
VFP will call the Grid.BeforeRowColChange event, VFP will call the DODEFAULT() function,
VFP will scroll up the clicked record, and then the clicked record is fully visible,
VFP will call the Grid.BeforeRowColChange event again, VFP will call the DODEFAULT() function again,
and then VFP will cause the error "Record is out of range (Error 5)",
VFP will not toggle the delete mark for the clicked record.
The bug occurs when there is the DODEFAULT() function in the Grid.BeforeRowColChange event,
it does not occur when there is no the DODEFAULT() function in the Grid.BeforeRowColChange event.
The bug was reported by Gamaliel Perez Yanez.
In VFP Advanced, if there is the DODEFAULT() function in the Grid.BeforeRowColChange event,
when we clicking the delete mark in the Grid control, and the clicked record is the last record and it is not fully visible,
VFP will call the Grid.BeforeRowColChange event, VFP will call the DODEFAULT() function,
VFP will scroll up the clicked record, and then the clicked record is fully visible,
VFP will not call the Grid.BeforeRowColChange event again,
VFP will not toggle the delete mark for the clicked record.
2. CAUSE:
There are some BUGs in the following code.
3. RESOLUTION:
We can write some code to fix the BUG.
Fun67ec4d :: ; proc near
push ebp ;0x0067ec4d : 55
lea ebp , dword ptr [ esp - 96 ] ;0x0067ec4e : 8d6c24a0
sub esp , 059Ch ;0x0067ec52 : 81ec9c050000
mov eax , dword ptr [ Data937090 ] ;0x0067ec58 : a190709300
and dword ptr [ ebp + 0FFFFFB20h ] , 00h ;0x0067ec5d : 83a520fbffff00
push ebx ;0x0067ec64 : 53
push esi ;0x0067ec65 : 56
push edi ;0x0067ec66 : 57
mov edi , dword ptr [ ebp + 104 ] ;0x0067ec67 : 8b7d68
mov ebx , dword ptr [ edi + 88 ] ;0x0067ec6a : 8b5f58
test dword ptr ebx , 080000h ;0x0067ec6d : f7c300000800
mov dword ptr [ ebp + 92 ] , eax ;0x0067ec73 : 89455c
jne Label67f588 ;0x0067ec76 : 0f850c090000
test byte ptr bh , 02h ;0x0067ec7c : f6c702
je Label67ec8a ;0x0067ec7f : 7409
mov eax , dword ptr [ edi + 0F8h ] ;0x0067ec81 : 8b87f8000000
mov dword ptr [ ebp + 116 ] , eax ;0x0067ec87 : 894574
Label67ec8a ::
mov ecx , dword ptr [ ebp + 112 ] ;0x0067ec8a : 8b4d70
mov edx , dword ptr [ edi + 053Ch ] ;0x0067ec8d : 8b973c050000
mov eax , edi ;0x0067ec93 : 8bc7
call Fun51b871 ;0x0067ec95 : e8d7cbe9ff
xor esi , esi ;0x0067ec9a : 33f6
inc esi ;0x0067ec9c : 46
and ebx , esi ;0x0067ec9d : 23de
mov dword ptr [ ebp + 0FFFFFB34h ] , eax ;0x0067ec9f : 898534fbffff
mov ecx , 0800000h ;0x0067eca5 : b900008000
jne Label67ecb5 ;0x0067ecaa : 7509
test dword ptr [ edi + 96 ] , ecx ;0x0067ecac : 854f60
jne Label67ed75 ;0x0067ecaf : 0f85c0000000
Label67ecb5 ::
xor edx , edx ;0x0067ecb5 : 33d2
cmp ebx , edx ;0x0067ecb7 : 3bda
je Label67ed38 ;0x0067ecb9 : 747d
cmp dword ptr [ ebp + 0FFFFFB34h ] , edx ;0x0067ecbb : 399534fbffff
mov eax , dword ptr [ edi + 090h ] ;0x0067ecc1 : 8b8790000000
je Label67ece1 ;0x0067ecc7 : 7418
cmp eax , dword ptr [ ebp + 116 ] ;0x0067ecc9 : 3b4574
je Label67ecdc ;0x0067eccc : 740e
test dword ptr [ edi + 96 ] , ecx ;0x0067ecce : 854f60
je Label67ecdc ;0x0067ecd1 : 7409
mov dword ptr [ edi + 108 ] , 02h ;0x0067ecd3 : c7476c02000000
jmp Label67ecf7 ;0x0067ecda : eb1b
Label67ecdc ::
mov dword ptr [ edi + 108 ] , edx ;0x0067ecdc : 89576c
jmp Label67ecf7 ;0x0067ecdf : eb16
Label67ece1 ::
cmp eax , dword ptr [ ebp + 116 ] ;0x0067ece1 : 3b4574
je Label67ecf4 ;0x0067ece4 : 740e
test dword ptr [ edi + 96 ] , ecx ;0x0067ece6 : 854f60
je Label67ecf4 ;0x0067ece9 : 7409
mov dword ptr [ edi + 108 ] , 03h ;0x0067eceb : c7476c03000000
jmp Label67ed38 ;0x0067ecf2 : eb44
Label67ecf4 ::
mov dword ptr [ edi + 108 ] , esi ;0x0067ecf4 : 89776c
Label67ecf7 ::
cmp dword ptr [ ebp + 0FFFFFB34h ] , edx ;0x0067ecf7 : 399534fbffff
je Label67ed38 ;0x0067ecfd : 7439
cmp eax , dword ptr [ ebp + 116 ] ;0x0067ecff : 3b4574
jne Label67ed38 ;0x0067ed02 : 7534
mov ecx , dword ptr [ edi + 20 ] ;0x0067ed04 : 8b4f14
cmp ecx , dword ptr [ ebp + 108 ] ;0x0067ed07 : 3b4d6c
jne Label67ed38 ;0x0067ed0a : 752c
test byte ptr [ edi + 95 ] , 010h ;0x0067ed0c : f6475f10
je Label67ed2e ;0x0067ed10 : 741c
imul eax , eax , 0158h ;0x0067ed12 : 69c058010000
mov eax , dword ptr [ eax + edi + 0868h ] ;0x0067ed18 : 8b843868080000
cmp eax , edx ;0x0067ed1f : 3bc2
je Label67ed2a ;0x0067ed21 : 7407
mov ecx , eax ;0x0067ed23 : 8bc8
call Fun4de849 ;0x0067ed25 : e81ffbe5ff
Label67ed2a ::
and byte ptr [ edi + 95 ] , 0EFh ;0x0067ed2a : 80675fef
Label67ed2e ::
test byte ptr [ edi + 96 ] , 08h ;0x0067ed2e : f6476008
je Label67f588 ;0x0067ed32 : 0f8450080000
Label67ed38 ::
mov edx , dword ptr [ ebp + 0FFFFFB34h ] ;0x0067ed38 : 8b9534fbffff
push esi ;0x0067ed3e : 56
push esi ;0x0067ed3f : 56
mov ecx , edi ;0x0067ed40 : 8bcf
call Fun51e9aa ;0x0067ed42 : e863fce9ff
test eax , eax ;0x0067ed47 : 85c0
jne Label67ed53 ;0x0067ed49 : 7508
or dword ptr [ edi + 88 ] , esi ;0x0067ed4b : 097758
jmp Label67f588 ;0x0067ed4e : e935080000
Label67ed53 ::
cmp dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067ed53 : 83bd34fbffff00
jne Label67ed75 ;0x0067ed5a : 7519
cmp dword ptr [ edi + 0320h ] , 00h ;0x0067ed5c : 83bf2003000000
je Label67f588 ;0x0067ed63 : 0f841f080000
push dword ptr [ edi + 053Ch ] ;0x0067ed69 : ffb73c050000
push edi ;0x0067ed6f : 57
call Fun51e049 ;0x0067ed70 : e8d4f2e9ff
Label67ed75 ::
and dword ptr [ edi + 96 ] , 0FFFFFFF7h ;0x0067ed75 : 836760f7
cmp dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067ed79 : 83bd34fbffff00
jne Label67edae ;0x0067ed80 : 752c
;
; -------------------------------------------------------------
; VFP 9.0 FIX - FIX THE GRID.BEFOREROWCOLCHANGE EVENT
; November 2026
; -------------------------------------------------------------
; CCB
;
; Fix the Grid.BeforeRowColChange event.
;
; 2026/11/12, by ccb
;
cmp dword ptr vfpa_sys9215_data,00h
je Label67ed82
mov eax , dword ptr [ edi + 12 ]
call Fun433d0b
add eax , 03E8h
mov edx , dword ptr [ ebp + 112 ]
mov edx , dword ptr [edx]
cmp edx , eax
jl Label67ed82
mov eax , dword ptr [ ebp + 108 ]
imul eax , eax , 074h
lea eax , dword ptr [ eax + edi + 0138h ]
;; #define FOXGRID_DELETEMARK 00000200h
test dword ptr [ eax + 8 ] , 00000200h
je Label67ed82
mov ecx , dword ptr [ eax + 60 ]
test ecx , ecx
je Label67ed82
mov edx , dword ptr [ eax + 112 ]
test edx , edx
je Label67ed82
mov eax , dword ptr [ ebp + 112 ]
add edx , 04h
dec ecx
test ecx , ecx
je Label67ed82
Label67ed80 ::
cmp dword ptr [edx] , eax
jne Label67ed81
sub edx , 04h
mov eax , dword ptr [edx]
mov dword ptr [ ebp + 112 ] , eax
jmp Label67ed82
Label67ed81 ::
add edx , 04h
dec ecx
test ecx , ecx
jne Label67ed80
jmp Label67ed82
Label67ed82 ::
mov eax , dword ptr [ ebp + 112 ] ;0x0067ed82 : 8b4570
mov eax , dword ptr [eax] ;0x0067ed85 : 8b00
cmp eax , dword ptr [ edi + 0530h ] ;0x0067ed87 : 3b8730050000
jne Label67edae ;0x0067ed8d : 751f
lea ebx , dword ptr [ edi + 0728h ] ;0x0067ed8f : 8d9f28070000
mov ecx , dword ptr [ebx] ;0x0067ed95 : 8b0b
test ecx , ecx ;0x0067ed97 : 85c9
je Label67edae ;0x0067ed99 : 7413
mov eax , dword ptr [ edi + 053Ch ] ;0x0067ed9b : 8b873c050000
cmp dword ptr [eax] , 00h ;0x0067eda1 : 833800
je Label67edae ;0x0067eda4 : 7408
call Fun42c1e2 ;0x0067eda6 : e837d4daff
and dword ptr [ebx] , 00h ;0x0067edab : 832300
Label67edae ::
cmp dword ptr [ edi + 12 ] , 00h ;0x0067edae : 837f0c00
je Label67f588 ;0x0067edb2 : 0f84d0070000
test byte ptr [ edi + 88 ] , 02h ;0x0067edb8 : f6475802
je Label67ede4 ;0x0067edbc : 7426
push dword ptr [ edi + 053Ch ] ;0x0067edbe : ffb73c050000
mov ebx , edi ;0x0067edc4 : 8bdf
call Fun675986 ;0x0067edc6 : e8bb6bffff
cmp dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067edcb : 83bd34fbffff00
je Label67ede4 ;0x0067edd2 : 7410
mov edx , dword ptr [ edi + 053Ch ] ;0x0067edd4 : 8b973c050000
mov ecx , dword ptr [ ebp + 112 ] ;0x0067edda : 8b4d70
mov eax , edi ;0x0067eddd : 8bc7
call Fun51b456 ;0x0067eddf : e872c6e9ff
Label67ede4 ::
push dword ptr [ ebp + 112 ] ;0x0067ede4 : ff7570
mov ebx , edi ;0x0067ede7 : 8bdf
call Fun519a5f ;0x0067ede9 : e871ace9ff
mov edx , dword ptr [ ebp + 112 ] ;0x0067edee : 8b5570
mov ecx , dword ptr [ edi + 053Ch ] ;0x0067edf1 : 8b8f3c050000
mov eax , edi ;0x0067edf7 : 8bc7
call Fun51b456 ;0x0067edf9 : e858c6e9ff
cmp dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067edfe : 83bd34fbffff00
jne Label67ee14 ;0x0067ee05 : 750d
test byte ptr [ edi + 97 ] , 08h ;0x0067ee07 : f6476108
jne Label67ee14 ;0x0067ee0b : 7507
mov esi , edi ;0x0067ee0d : 8bf7
call Fun67e6fa ;0x0067ee0f : e8e6f8ffff
Label67ee14 ::
mov eax , dword ptr [ edi + 88 ] ;0x0067ee14 : 8b4758
and byte ptr [ edi + 97 ] , 0F7h ;0x0067ee17 : 806761f7
test eax , 0400000h ;0x0067ee1b : a900004000
je Label67ee2c ;0x0067ee20 : 740a
and eax , 0FFBFFFFFh ;0x0067ee22 : 25ffffbfff
mov dword ptr [ edi + 88 ] , eax ;0x0067ee27 : 894758
jmp Label67ee35 ;0x0067ee2a : eb09
Label67ee2c ::
push dword ptr [ ebp + 116 ] ;0x0067ee2c : ff7574
push edi ;0x0067ee2f : 57
call Fun67e808 ;0x0067ee30 : e8d3f9ffff
Label67ee35 ::
mov eax , dword ptr [ ebp + 116 ] ;0x0067ee35 : 8b4574
imul eax , eax , 0158h ;0x0067ee38 : 69c058010000
lea ebx , dword ptr [ eax + edi + 0740h ] ;0x0067ee3e : 8d9c3840070000
xor ecx , ecx ;0x0067ee45 : 33c9
mov dword ptr [ ebp + 0FFFFFB2Ch ] , ebx ;0x0067ee47 : 899d2cfbffff
call Fun425165 ;0x0067ee4d : e81363daff
cmp dword ptr [ ebx + 8 ] , 044h ;0x0067ee52 : 837b0844
jne Label67ee6f ;0x0067ee56 : 7517
mov eax , dword ptr [ Data9370f8 ] ;0x0067ee58 : a1f8709300
mov eax , dword ptr [eax] ;0x0067ee5d : 8b00
cmp dword ptr [ eax + 0128h ] , 00h ;0x0067ee5f : 83b82801000000
je Label67ee6f ;0x0067ee66 : 7407
mov dword ptr [ ebx + 12 ] , 0Ah ;0x0067ee68 : c7430c0a000000
Label67ee6f ::
mov eax , dword ptr [ ebp + 116 ] ;0x0067ee6f : 8b4574
or dword ptr [ edi + 88 ] , 01h ;0x0067ee72 : 834f5801
mov edx , edi ;0x0067ee76 : 8bd7
call Fun679f81 ;0x0067ee78 : e804b1ffff
mov eax , dword ptr [ ebp + 108 ] ;0x0067ee7d : 8b456c
and dword ptr [ edi + 088h ] , 00h ;0x0067ee80 : 83a78800000000
and dword ptr [ edi + 08Ch ] , 00h ;0x0067ee87 : 83a78c00000000
and dword ptr [ edi + 88 ] , 0FFFFFFFDh ;0x0067ee8e : 836758fd
cmp eax , dword ptr [ edi + 20 ] ;0x0067ee92 : 3b4714
je Label67eeb0 ;0x0067ee95 : 7419
mov esi , edi ;0x0067ee97 : 8bf7
mov dword ptr [ edi + 20 ] , eax ;0x0067ee99 : 894714
call Fun51b5b8 ;0x0067ee9c : e817c7e9ff
test byte ptr [ edi + 89 ] , 01h ;0x0067eea1 : f6475901
je Label67eeb0 ;0x0067eea5 : 7409
pushd 00h ;0x0067eea7 : 6a00
mov eax , edi ;0x0067eea9 : 8bc7
call Fun458bc1 ;0x0067eeab : e8119dddff
Label67eeb0 ::
xor eax , eax ;0x0067eeb0 : 33c0
mov dword ptr [ ebp + 0FFFFFB28h ] , eax ;0x0067eeb2 : 898528fbffff
mov byte ptr [ ebp + 0FFFFFC38h ] , al ;0x0067eeb8 : 888538fcffff
mov dword ptr [ ebp + 0FFFFFB30h ] , eax ;0x0067eebe : 898530fbffff
mov dword ptr [ ebp + 0FFFFFB34h ] , eax ;0x0067eec4 : 898534fbffff
lea eax , dword ptr [ ebp + 0FFFFFF54h ] ;0x0067eeca : 8d8554ffffff
push eax ;0x0067eed0 : 50
push edi ;0x0067eed1 : 57
mov esi , ebx ;0x0067eed2 : 8bf3
call Fun51981d ;0x0067eed4 : e844a9e9ff
test eax , eax ;0x0067eed9 : 85c0
je Label67ef10 ;0x0067eedb : 7433
lea ecx , dword ptr [ ebp + 0FFFFFF54h ] ;0x0067eedd : 8d8d54ffffff
mov edx , 0150h ;0x0067eee3 : ba50010000
lea eax , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067eee8 : 8d8538fcffff
call Fun42c33e ;0x0067eeee : e84bd4daff
pushd 00h ;0x0067eef3 : 6a00
lea eax , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067eef5 : 8d8538fcffff
push eax ;0x0067eefb : 50
lea edi , dword ptr [ ebp + 0FFFFFAFCh ] ;0x0067eefc : 8dbdfcfaffff
call Fun50d4f0 ;0x0067ef02 : e8e9e5e8ff
mov edi , dword ptr [ ebp + 104 ] ;0x0067ef07 : 8b7d68
mov dword ptr [ ebp + 0FFFFFB34h ] , eax ;0x0067ef0a : 898534fbffff
Label67ef10 ::
pushd 00h ;0x0067ef10 : 6a00
push ebx ;0x0067ef12 : 53
lea eax , dword ptr [ ebp + 0FFFFFF28h ] ;0x0067ef13 : 8d8528ffffff
push eax ;0x0067ef19 : 50
push edi ;0x0067ef1a : 57
call Fun51972a ;0x0067ef1b : e80aa8e9ff
test eax , eax ;0x0067ef20 : 85c0
jne Label67ef86 ;0x0067ef22 : 7562
test byte ptr [ ebx + 012Dh ] , 080h ;0x0067ef24 : f6832d01000080
je Label67ef58 ;0x0067ef2b : 742b
push dword ptr [ebx] ;0x0067ef2d : ff33
mov eax , edi ;0x0067ef2f : 8bc7
call Fun45b393 ;0x0067ef31 : e85dc4ddff
test eax , eax ;0x0067ef36 : 85c0
je Label67ef46 ;0x0067ef38 : 740c
mov dword ptr [ ebp + 0FFFFFB28h ] , 01h ;0x0067ef3a : c78528fbffff01000000
jmp Label67ef86 ;0x0067ef44 : eb40
Label67ef46 ::
push dword ptr [ ebx + 4 ] ;0x0067ef46 : ff7304
mov edx , dword ptr [ebx] ;0x0067ef49 : 8b13
lea ecx , dword ptr [ ebp + 0FFFFFF28h ] ;0x0067ef4b : 8d8d28ffffff
call Fun43c868 ;0x0067ef51 : e812d9dbff
jmp Label67ef86 ;0x0067ef56 : eb2e
Label67ef58 ::
pushd 04Bh ;0x0067ef58 : 6a4b
xor eax , eax ;0x0067ef5a : 33c0
pop ecx ;0x0067ef5c : 59
lea edi , dword ptr [ ebp + 0FFFFFF28h ] ;0x0067ef5d : 8dbd28ffffff
rep stosd ;0x0067ef63 : f3ab
and dword ptr [ ebp + 0FFFFFF2Ch ] , eax ;0x0067ef65 : 21852cffffff
mov edi , dword ptr [ ebp + 104 ] ;0x0067ef6b : 8b7d68
mov byte ptr [ ebp + 0FFFFFF28h ] , 043h ;0x0067ef6e : c68528ffffff43
mov dword ptr [ ebp + 0FFFFFF30h ] , 01h ;0x0067ef75 : c78530ffffff01000000
mov byte ptr [ ebp + 0FFFFFF54h ] , 020h ;0x0067ef7f : c68554ffffff20
Label67ef86 ::
pushd 01h ;0x0067ef86 : 6a01
push edi ;0x0067ef88 : 57
mov ecx , ebx ;0x0067ef89 : 8bcb
call Fun45ba26 ;0x0067ef8b : e896caddff
push edi ;0x0067ef90 : 57
mov eax , ebx ;0x0067ef91 : 8bc3
call Fun67c046 ;0x0067ef93 : e8aed0ffff
pushd 04Bh ;0x0067ef98 : 6a4b
add edi , 0540h ;0x0067ef9a : 81c740050000
cmp dword ptr [ ebp + 0FFFFFB28h ] , 00h ;0x0067efa0 : 83bd28fbffff00
pop ecx ;0x0067efa7 : 59
lea esi , dword ptr [ ebp + 0FFFFFF28h ] ;0x0067efa8 : 8db528ffffff
rep movsd ;0x0067efae : f3a5
jne Label67f174 ;0x0067efb0 : 0f85be010000
cmp byte ptr [ ebp + 0FFFFFC38h ] , 00h ;0x0067efb6 : 80bd38fcffff00
jne Label67efe8 ;0x0067efbd : 7529
lea eax , dword ptr [ ebp + 0FFFFFAFCh ] ;0x0067efbf : 8d85fcfaffff
push eax ;0x0067efc5 : 50
lea eax , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067efc6 : 8d8538fcffff
push eax ;0x0067efcc : 50
push dword ptr [ ebx + 0128h ] ;0x0067efcd : ffb328010000
call Fun67e954 ;0x0067efd3 : e87cf9ffff
test eax , eax ;0x0067efd8 : 85c0
je Label67eff7 ;0x0067efda : 741b
mov dword ptr [ ebp + 0FFFFFB30h ] , 01h ;0x0067efdc : c78530fbffff01000000
jmp Label67f010 ;0x0067efe6 : eb28
Label67efe8 ::
mov eax , dword ptr [ ebp + 0FFFFFB34h ] ;0x0067efe8 : 8b8534fbffff
test eax , eax ;0x0067efee : 85c0
je Label67f010 ;0x0067eff0 : 741e
cmp byte ptr [eax] , 00h ;0x0067eff2 : 803800
jne Label67f010 ;0x0067eff5 : 7519
Label67eff7 ::
lea eax , dword ptr [ ebp + 0FFFFFAFCh ] ;0x0067eff7 : 8d85fcfaffff
push eax ;0x0067effd : 50
lea eax , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067effe : 8d8538fcffff
lea ecx , dword ptr [ ebp + 0FFFFFF28h ] ;0x0067f004 : 8d8d28ffffff
push eax ;0x0067f00a : 50
call Fun67eb3f ;0x0067f00b : e82ffbffff
Label67f010 ::
mov eax , dword ptr [ ebx + 8 ] ;0x0067f010 : 8b4308
cmp eax , 056h ;0x0067f013 : 83f856
je Label67f021 ;0x0067f016 : 7409
cmp eax , 051h ;0x0067f018 : 83f851
jne Label67f143 ;0x0067f01b : 0f8522010000
Label67f021 ::
cmp dword ptr [ ebp + 0FFFFFB30h ] , 00h ;0x0067f021 : 83bd30fbffff00
je Label67f143 ;0x0067f028 : 0f8415010000
xor eax , eax ;0x0067f02e : 33c0
lea edi , dword ptr [ ebp + 0FFFFFB0Ch ] ;0x0067f030 : 8dbd0cfbffff
stosd ;0x0067f036 : ab
stosd ;0x0067f037 : ab
stosd ;0x0067f038 : ab
stosd ;0x0067f039 : ab
lea ecx , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067f03a : 8d8d38fcffff
mov edx , 01A0h ;0x0067f040 : baa0010000
lea eax , dword ptr [ ebp + 0FFFFFD88h ] ;0x0067f045 : 8d8588fdffff
call Fun42c33e ;0x0067f04b : e8eed2daff
pushd 01h ;0x0067f050 : 6a01
lea eax , dword ptr [ ebp + 0FFFFFD88h ] ;0x0067f052 : 8d8588fdffff
push eax ;0x0067f058 : 50
lea edi , dword ptr [ ebp + 0FFFFFB0Ch ] ;0x0067f059 : 8dbd0cfbffff
call Fun50d4f0 ;0x0067f05f : e88ce4e8ff
test byte ptr [ ebp + 0FFFFFB0Fh ] , 01h ;0x0067f064 : f6850ffbffff01
je Label67f095 ;0x0067f06b : 7428
lea eax , dword ptr [ ebp + 0FFFFFD88h ] ;0x0067f06d : 8d8588fdffff
jmp Label67f086 ;0x0067f073 : eb11
Label67f075 ::
lea ecx , dword ptr [ eax + 1 ] ;0x0067f075 : 8d4801
mov esi , eax ;0x0067f078 : 8bf0
sub esi , ecx ;0x0067f07a : 2bf1
Label67f07c ::
mov dl , byte ptr [ecx] ;0x0067f07c : 8a11
mov byte ptr [ ecx + esi ] , dl ;0x0067f07e : 881431
inc ecx ;0x0067f081 : 41
test dl , dl ;0x0067f082 : 84d2
jne Label67f07c ;0x0067f084 : 75f6
Label67f086 ::
pushd 046h ;0x0067f086 : 6a46
push eax ;0x0067f088 : 50
call _mbschr = qword ptr [ Data9370b0 ] ;0x0067f089 : ff15b0709300
test eax , eax ;0x0067f08f : 85c0
pop ecx ;0x0067f091 : 59
pop ecx ;0x0067f092 : 59
jne Label67f075 ;0x0067f093 : 75e0
Label67f095 ::
test byte ptr [ ebp + 0FFFFFB0Eh ] , 01h ;0x0067f095 : f6850efbffff01
jne Label67f0f8 ;0x0067f09c : 755a
cmp byte ptr [ ebp + 0FFFFFD88h ] , 040h ;0x0067f09e : 80bd88fdffff40
lea eax , dword ptr [ ebp + 0FFFFFD89h ] ;0x0067f0a5 : 8d8589fdffff
lea edx , dword ptr [ eax + 1 ] ;0x0067f0ab : 8d5001
jne Label67f0ce ;0x0067f0ae : 751e
Label67f0b0 ::
mov cl , byte ptr [eax] ;0x0067f0b0 : 8a08
inc eax ;0x0067f0b2 : 40
test cl , cl ;0x0067f0b3 : 84c9
jne Label67f0b0 ;0x0067f0b5 : 75f9
sub eax , edx ;0x0067f0b7 : 2bc2
inc eax ;0x0067f0b9 : 40
push eax ;0x0067f0ba : 50
lea edx , dword ptr [ ebp + 0FFFFFD89h ] ;0x0067f0bb : 8d9589fdffff
lea ecx , dword ptr [ ebp + 0FFFFFD8Ah ] ;0x0067f0c1 : 8d8d8afdffff
call Fun42c19b ;0x0067f0c7 : e8cfd0daff
jmp Label67f0f1 ;0x0067f0cc : eb23
Label67f0ce ::
mov cl , byte ptr [eax] ;0x0067f0ce : 8a08
inc eax ;0x0067f0d0 : 40
test cl , cl ;0x0067f0d1 : 84c9
jne Label67f0ce ;0x0067f0d3 : 75f9
sub eax , edx ;0x0067f0d5 : 2bc2
inc eax ;0x0067f0d7 : 40
push eax ;0x0067f0d8 : 50
lea edx , dword ptr [ ebp + 0FFFFFD89h ] ;0x0067f0d9 : 8d9589fdffff
lea ecx , dword ptr [ ebp + 0FFFFFD8Bh ] ;0x0067f0df : 8d8d8bfdffff
call Fun42c19b ;0x0067f0e5 : e8b1d0daff
mov byte ptr [ ebp + 0FFFFFD8Ah ] , 020h ;0x0067f0ea : c6858afdffff20
Label67f0f1 ::
mov byte ptr [ ebp + 0FFFFFD89h ] , 04Eh ;0x0067f0f1 : c68589fdffff4e
Label67f0f8 ::
lea esi , dword ptr [ ebp + 0FFFFFAFCh ] ;0x0067f0f8 : 8db5fcfaffff
lea edi , dword ptr [ ebp + 0FFFFFB0Ch ] ;0x0067f0fe : 8dbd0cfbffff
movsd ;0x0067f104 : a5
movsd ;0x0067f105 : a5
movsd ;0x0067f106 : a5
movsd ;0x0067f107 : a5
mov eax , dword ptr [ ebp + 0FFFFFB0Ch ] ;0x0067f108 : 8b850cfbffff
mov edi , dword ptr [ ebp + 104 ] ;0x0067f10e : 8b7d68
and eax , 0FEFFFFFFh ;0x0067f111 : 25fffffffe
or eax , 010000h ;0x0067f116 : 0d00000100
pushd 00h ;0x0067f11b : 6a00
mov dword ptr [ ebp + 0FFFFFB0Ch ] , eax ;0x0067f11d : 89850cfbffff
lea eax , dword ptr [ ebp + 0FFFFFB0Ch ] ;0x0067f123 : 8d850cfbffff
push eax ;0x0067f129 : 50
pushd 01h ;0x0067f12a : 6a01
lea eax , dword ptr [ ebp + 0FFFFFB38h ] ;0x0067f12c : 8d8538fbffff
push eax ;0x0067f132 : 50
push edi ;0x0067f133 : 57
lea ecx , dword ptr [ ebp + 0FFFFFD88h ] ;0x0067f134 : 8d8d88fdffff
mov edx , ebx ;0x0067f13a : 8bd3
call Fun519746 ;0x0067f13c : e805a6e9ff
jmp Label67f168 ;0x0067f141 : eb25
Label67f143 ::
pushd 00h ;0x0067f143 : 6a00
lea eax , dword ptr [ ebp + 0FFFFFAFCh ] ;0x0067f145 : 8d85fcfaffff
push eax ;0x0067f14b : 50
pushd 01h ;0x0067f14c : 6a01
lea eax , dword ptr [ ebp + 0FFFFFB38h ] ;0x0067f14e : 8d8538fbffff
push eax ;0x0067f154 : 50
push dword ptr [ ebp + 104 ] ;0x0067f155 : ff7568
lea ecx , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067f158 : 8d8d38fcffff
mov edx , ebx ;0x0067f15e : 8bd3
call Fun519746 ;0x0067f160 : e8e1a5e9ff
mov edi , dword ptr [ ebp + 104 ] ;0x0067f165 : 8b7d68
Label67f168 ::
and dword ptr [ edi + 051Ch ] , 00h ;0x0067f168 : 83a71c05000000
mov dword ptr [ ebx + 12 ] , eax ;0x0067f16f : 89430c
jmp Label67f177 ;0x0067f172 : eb03
Label67f174 ::
mov edi , dword ptr [ ebp + 104 ] ;0x0067f174 : 8b7d68
Label67f177 ::
mov ebx , dword ptr [ edi + 0320h ] ;0x0067f177 : 8b9f20030000
xor eax , eax ;0x0067f17d : 33c0
inc eax ;0x0067f17f : 40
call Fun42534c ;0x0067f180 : e8c761daff
push dword ptr [ ebp + 108 ] ;0x0067f185 : ff756c
push edi ;0x0067f188 : 57
call Fun67f8cc ;0x0067f189 : e83e070000
mov ebx , dword ptr [ ebp + 0FFFFFB2Ch ] ;0x0067f18e : 8b9d2cfbffff
mov esi , dword ptr [ ebx + 0128h ] ;0x0067f194 : 8bb328010000
test esi , esi ;0x0067f19a : 85f6
je Label67f3bc ;0x0067f19c : 0f841a020000
cmp dword ptr [ ebp + 0FFFFFB30h ] , 00h ;0x0067f1a2 : 83bd30fbffff00
jne Label67f1b7 ;0x0067f1a9 : 750c
lea eax , dword ptr [ ebp + 0FFFFFC38h ] ;0x0067f1ab : 8d8538fcffff
push eax ;0x0067f1b1 : 50
call Fun67eaf5 ;0x0067f1b2 : e83ef9ffff
Label67f1b7 ::
cmp dword ptr [ ebp + 0FFFFFB28h ] , 00h ;0x0067f1b7 : 83bd28fbffff00
jne Label67f1ec ;0x0067f1be : 752c
test dword ptr [ ebp + 120 ] , 02h ;0x0067f1c0 : f7457802000000
je Label67f1ec ;0x0067f1c7 : 7423
mov eax , dword ptr [ ebp + 108 ] ;0x0067f1c9 : 8b456c
imul eax , eax , 074h ;0x0067f1cc : 6bc074
test byte ptr [ eax + edi + 0140h ] , 040h ;0x0067f1cf : f684384001000040
mov dword ptr [ ebp + 0FFFFFB30h ] , 01h ;0x0067f1d7 : c78530fbffff01000000
je Label67f1ec ;0x0067f1e1 : 7409
test byte ptr [ ebx + 012Dh ] , 010h ;0x0067f1e3 : f6832d01000010
jne Label67f1f3 ;0x0067f1ea : 7507
Label67f1ec ::
and dword ptr [ ebp + 0FFFFFB30h ] , 00h ;0x0067f1ec : 83a530fbffff00
Label67f1f3 ::
push dword ptr [ ebx + 0128h ] ;0x0067f1f3 : ffb328010000
mov esi , 0160h ;0x0067f1f9 : be60010000
mov ecx , esi ;0x0067f1fe : 8bce
call Fun433c43 ;0x0067f200 : e83e4adbff
test eax , eax ;0x0067f205 : 85c0
je Label67f244 ;0x0067f207 : 743b
mov eax , dword ptr [ ebp + 0FFFFFB30h ] ;0x0067f209 : 8b8530fbffff
mov edx , dword ptr [ Data9388dc ] ;0x0067f20f : 8b15dc889300
pushd 0FFFFFFFFh ;0x0067f215 : 6aff
pushd 04h ;0x0067f217 : 6a04
mov dword ptr [ ebp + 0FFFFFB2Ch ] , eax ;0x0067f219 : 89852cfbffff
mov eax , dword ptr [ ebx + 0128h ] ;0x0067f21f : 8b8328010000
lea ecx , dword ptr [ ebp + 0FFFFFB2Ch ] ;0x0067f225 : 8d8d2cfbffff
push ecx ;0x0067f22b : 51
lea ecx , dword ptr [ eax + 4 * eax ] ;0x0067f22c : 8d0c80
shl ecx , 05h ;0x0067f22f : c1e105
push dword ptr [ ecx + edx + 116 ] ;0x0067f232 : ff741174
pushd 00h ;0x0067f236 : 6a00
pushd 0FFFFFFFFh ;0x0067f238 : 6aff
push esi ;0x0067f23a : 56
push eax ;0x0067f23b : 50
call Fun41c715 ;0x0067f23c : e8d4d4d9ff
add esp , 020h ;0x0067f241 : 83c420
Label67f244 ::
xor eax , eax ;0x0067f244 : 33c0
call Fun42c118 ;0x0067f246 : e8cdcedaff
mov esi , dword ptr [ edi + 0524h ] ;0x0067f24b : 8bb724050000
mov eax , esp ;0x0067f251 : 8bc4
sub eax , dword ptr [ Data9370c4 ] ;0x0067f253 : 2b05c4709300
shl esi , 02h ;0x0067f259 : c1e602
cmp eax , esi ;0x0067f25c : 3bc6
jle Label67f275 ;0x0067f25e : 7e15
mov eax , esi ;0x0067f260 : 8bc6
add eax , 07h ;0x0067f262 : 83c007
and eax , 0FFFFFFF8h ;0x0067f265 : 83e0f8
call Fun42c118 ;0x0067f268 : e8abcedaff
mov dword ptr [ ebp + 0FFFFFB30h ] , esp ;0x0067f26d : 89a530fbffff
jmp Label67f27c ;0x0067f273 : eb07
Label67f275 ::
and dword ptr [ ebp + 0FFFFFB30h ] , 00h ;0x0067f275 : 83a530fbffff00
Label67f27c ::
xor eax , eax ;0x0067f27c : 33c0
call Fun42c118 ;0x0067f27e : e895cedaff
mov eax , esp ;0x0067f283 : 8bc4
sub eax , dword ptr [ Data9370c4 ] ;0x0067f285 : 2b05c4709300
cmp eax , esi ;0x0067f28b : 3bc6
jle Label67f2a4 ;0x0067f28d : 7e15
mov eax , esi ;0x0067f28f : 8bc6
add eax , 07h ;0x0067f291 : 83c007
and eax , 0FFFFFFF8h ;0x0067f294 : 83e0f8
call Fun42c118 ;0x0067f297 : e87ccedaff
mov dword ptr [ ebp + 0FFFFFB34h ] , esp ;0x0067f29c : 89a534fbffff
jmp Label67f2ab ;0x0067f2a2 : eb07
Label67f2a4 ::
and dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067f2a4 : 83a534fbffff00
Label67f2ab ::
cmp dword ptr [ ebp + 0FFFFFB30h ] , 00h ;0x0067f2ab : 83bd30fbffff00
je Label67f2d4 ;0x0067f2b2 : 7420
cmp dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067f2b4 : 83bd34fbffff00
je Label67f2d4 ;0x0067f2bb : 7417
push dword ptr [ ebp + 0FFFFFB30h ] ;0x0067f2bd : ffb530fbffff
call Fun519c4f ;0x0067f2c3 : e887a9e9ff
mov eax , dword ptr [ ebp + 116 ] ;0x0067f2c8 : 8b4574
mov edi , dword ptr [ ebp + 104 ] ;0x0067f2cb : 8b7d68
mov dword ptr [ ebp + 0FFFFFB1Ch ] , eax ;0x0067f2ce : 89851cfbffff
Label67f2d4 ::
test byte ptr [ edi + 95 ] , 04h ;0x0067f2d4 : f6475f04
je Label67f36e ;0x0067f2d8 : 0f8490000000
mov eax , dword ptr [ Data9370f8 ] ;0x0067f2de : a1f8709300
mov eax , dword ptr [eax] ;0x0067f2e3 : 8b00
mov esi , dword ptr [ eax + 24 ] ;0x0067f2e5 : 8b7018
mov eax , dword ptr [ ebx + 0128h ] ;0x0067f2e8 : 8b8328010000
call Fun50d098 ;0x0067f2ee : e8a5dde8ff
test eax , eax ;0x0067f2f3 : 85c0
jne Label67f350 ;0x0067f2f5 : 7559
test byte ptr [ edi + 98 ] , 080h ;0x0067f2f7 : f6476280
je Label67f350 ;0x0067f2fb : 7453
mov ecx , dword ptr [ ebx + 0128h ] ;0x0067f2fd : 8b8b28010000
call Fun51b6c8 ;0x0067f303 : e8c0c3e9ff
test eax , eax ;0x0067f308 : 85c0
je Label67f33d ;0x0067f30a : 7431
mov edx , dword ptr [ Data9388dc ] ;0x0067f30c : 8b15dc889300
and dword ptr [ ebp + 0FFFFFB2Ch ] , 00h ;0x0067f312 : 83a52cfbffff00
pushd 0FFFFFFFFh ;0x0067f319 : 6aff
pushd 04h ;0x0067f31b : 6a04
lea ecx , dword ptr [ ebp + 0FFFFFB2Ch ] ;0x0067f31d : 8d8d2cfbffff
push ecx ;0x0067f323 : 51
lea ecx , dword ptr [ eax + 4 * eax ] ;0x0067f324 : 8d0c80
shl ecx , 05h ;0x0067f327 : c1e105
push dword ptr [ ecx + edx + 116 ] ;0x0067f32a : ff741174
pushd 00h ;0x0067f32e : 6a00
pushd 0FFFFFFFFh ;0x0067f330 : 6aff
pushd 04h ;0x0067f332 : 6a04
push eax ;0x0067f334 : 50
call Fun41c715 ;0x0067f335 : e8dbd3d9ff
add esp , 020h ;0x0067f33a : 83c420
Label67f33d ::
mov eax , dword ptr [ ebp + 124 ] ;0x0067f33d : 8b457c
mov edx , dword ptr [ ebx + 0128h ] ;0x0067f340 : 8b9328010000
mov ecx , 0BDh ;0x0067f346 : b9bd000000
call Fun4f6226 ;0x0067f34b : e8d66ee7ff
Label67f350 ::
mov eax , dword ptr [ Data9370f8 ] ;0x0067f350 : a1f8709300
mov eax , dword ptr [eax] ;0x0067f355 : 8b00
mov eax , dword ptr [ eax + 24 ] ;0x0067f357 : 8b4018
cmp eax , esi ;0x0067f35a : 3bc6
je Label67f36e ;0x0067f35c : 7410
mov ecx , dword ptr [ edi + 12 ] ;0x0067f35e : 8b4f0c
pushd 00h ;0x0067f361 : 6a00
mov dword ptr [ ebp + 0FFFFFB20h ] , eax ;0x0067f363 : 898520fbffff
call Fun52da49 ;0x0067f369 : e8dbe6eaff
Label67f36e ::
cmp dword ptr [ ebp + 0FFFFFB30h ] , 00h ;0x0067f36e : 83bd30fbffff00
je Label67f3bc ;0x0067f375 : 7445
cmp dword ptr [ ebp + 0FFFFFB34h ] , 00h ;0x0067f377 : 83bd34fbffff00
je Label67f3bc ;0x0067f37e : 743c
push dword ptr [ ebp + 0FFFFFB34h ] ;0x0067f380 : ffb534fbffff
call Fun519c4f ;0x0067f386 : e8c4a8e9ff
mov eax , dword ptr [ ebp + 104 ] ;0x0067f38b : 8b4568
mov ecx , dword ptr [ ebp + 0FFFFFB1Ch ] ;0x0067f38e : 8b8d1cfbffff
cmp ecx , dword ptr [ eax + 090h ] ;0x0067f394 : 3b8890000000
jne Label67f588 ;0x0067f39a : 0f85e8010000
mov ecx , dword ptr [ ebp + 0FFFFFB34h ] ;0x0067f3a0 : 8b8d34fbffff
mov edx , dword ptr [ ebp + 0FFFFFB30h ] ;0x0067f3a6 : 8b9530fbffff
call Fun51b871 ;0x0067f3ac : e8c0c4e9ff
test eax , eax ;0x0067f3b1 : 85c0
je Label67f588 ;0x0067f3b3 : 0f84cf010000
mov edi , dword ptr [ ebp + 104 ] ;0x0067f3b9 : 8b7d68
Label67f3bc ::
push dword ptr [ edi + 053Ch ] ;0x0067f3bc : ffb73c050000
push edi ;0x0067f3c2 : 57
call Fun51e049 ;0x0067f3c3 : e881ece9ff
mov eax , dword ptr [ ebx + 012Ch ] ;0x0067f3c8 : 8b832c010000
test ah , ah ;0x0067f3ce : 84e4
jns Label67f422 ;0x0067f3d0 : 7950
cmp dword ptr [ ebp + 0FFFFFB28h ] , 00h ;0x0067f3d2 : 83bd28fbffff00
jne Label67f422 ;0x0067f3d9 : 7547
test byte ptr [ edi + 92 ] , 01h ;0x0067f3db : f6475c01
jne Label67f422 ;0x0067f3df : 7541
mov edx , dword ptr [ edi + 88 ] ;0x0067f3e1 : 8b5758
test edx , edx ;0x0067f3e4 : 85d2
js Label67f422 ;0x0067f3e6 : 783a
test byte ptr [ edi + 98 ] , 080h ;0x0067f3e8 : f6476280
je Label67f422 ;0x0067f3ec : 7434
cmp dword ptr [ ebx + 112 ] , 00h ;0x0067f3ee : 837b7000
jne Label67f422 ;0x0067f3f2 : 752e
test al , 01h ;0x0067f3f4 : a801
jne Label67f422 ;0x0067f3f6 : 752a
mov eax , dword ptr [ebx] ;0x0067f3f8 : 8b03
mov ecx , dword ptr [ eax + 16 ] ;0x0067f3fa : 8b4810
test byte ptr cl , 040h ;0x0067f3fd : f6c140
jne Label67f422 ;0x0067f400 : 7520
test byte ptr dh , 08h ;0x0067f402 : f6c608
je Label67f414 ;0x0067f405 : 740d
mov edx , dword ptr [ ebp + 112 ] ;0x0067f407 : 8b5570
mov edx , dword ptr [edx] ;0x0067f40a : 8b12
cmp edx , dword ptr [ edi + 0538h ] ;0x0067f40c : 3b9738050000
jle Label67f422 ;0x0067f412 : 7e0e
Label67f414 ::
cmp eax , dword ptr [ edi + 12 ] ;0x0067f414 : 3b470c
je Label67f41e ;0x0067f417 : 7405
test byte ptr cl , 01h ;0x0067f419 : f6c101
jne Label67f422 ;0x0067f41c : 7504
Label67f41e ::
xor eax , eax ;0x0067f41e : 33c0
jmp Label67f425 ;0x0067f420 : eb03
Label67f422 ::
xor eax , eax ;0x0067f422 : 33c0
inc eax ;0x0067f424 : 40
Label67f425 ::
shl eax , 02h ;0x0067f425 : c1e002
xor eax , dword ptr [ edi + 88 ] ;0x0067f428 : 334758
and eax , 04h ;0x0067f42b : 83e004
xor dword ptr [ edi + 88 ] , eax ;0x0067f42e : 314758
mov eax , dword ptr [ ebx + 0128h ] ;0x0067f431 : 8b8328010000
test eax , eax ;0x0067f437 : 85c0
je Label67f4f5 ;0x0067f439 : 0f84b6000000
mov esi , 012Dh ;0x0067f43f : be2d010000
push eax ;0x0067f444 : 50
mov ecx , esi ;0x0067f445 : 8bce
call Fun433c43 ;0x0067f447 : e8f747dbff
test eax , eax ;0x0067f44c : 85c0
je Label67f48f ;0x0067f44e : 743f
movzx eax ,byte ptr [ edi + 88 ] ;0x0067f450 : 0fb64758
mov edx , dword ptr [ Data9388dc ] ;0x0067f454 : 8b15dc889300
pushd 0FFFFFFFFh ;0x0067f45a : 6aff
shr eax , 02h ;0x0067f45c : c1e802
pushd 04h ;0x0067f45f : 6a04
and eax , 01h ;0x0067f461 : 83e001
mov dword ptr [ ebp + 0FFFFFB24h ] , eax ;0x0067f464 : 898524fbffff
mov eax , dword ptr [ ebx + 0128h ] ;0x0067f46a : 8b8328010000
lea ecx , dword ptr [ ebp + 0FFFFFB24h ] ;0x0067f470 : 8d8d24fbffff
push ecx ;0x0067f476 : 51
lea ecx , dword ptr [ eax + 4 * eax ] ;0x0067f477 : 8d0c80
shl ecx , 05h ;0x0067f47a : c1e105
push dword ptr [ ecx + edx + 116 ] ;0x0067f47d : ff741174
pushd 00h ;0x0067f481 : 6a00
pushd 0FFFFFFFFh ;0x0067f483 : 6aff
push esi ;0x0067f485 : 56
push eax ;0x0067f486 : 50
call Fun41c715 ;0x0067f487 : e889d2d9ff
add esp , 020h ;0x0067f48c : 83c420
Label67f48f ::
push dword ptr [ ebx + 0128h ] ;0x0067f48f : ffb328010000
pushd 030h ;0x0067f495 : 6a30
pop ecx ;0x0067f497 : 59
call Fun433c43 ;0x0067f498 : e8a647dbff
test eax , eax ;0x0067f49d : 85c0
je Label67f4f5 ;0x0067f49f : 7454
xor esi , esi ;0x0067f4a1 : 33f6
cmp dword ptr [ ebp + 0FFFFFB28h ] , esi ;0x0067f4a3 : 39b528fbffff
je Label67f4be ;0x0067f4a9 : 7413
test byte ptr [ ebx + 012Eh ] , 08h ;0x0067f4ab : f6832e01000008
mov dword ptr [ ebp + 0FFFFFB24h ] , 01h ;0x0067f4b2 : c78524fbffff01000000
jne Label67f4c4 ;0x0067f4bc : 7506
Label67f4be ::
mov dword ptr [ ebp + 0FFFFFB24h ] , esi ;0x0067f4be : 89b524fbffff
Label67f4c4 ::
mov ebx , dword ptr [ ebx + 0128h ] ;0x0067f4c4 : 8b9b28010000
mov ecx , dword ptr [ Data9388dc ] ;0x0067f4ca : 8b0ddc889300
pushd 0FFFFFFFFh ;0x0067f4d0 : 6aff
pushd 04h ;0x0067f4d2 : 6a04
lea eax , dword ptr [ ebp + 0FFFFFB24h ] ;0x0067f4d4 : 8d8524fbffff
push eax ;0x0067f4da : 50
lea eax , dword ptr [ ebx + 4 * ebx ] ;0x0067f4db : 8d049b
shl eax , 05h ;0x0067f4de : c1e005
push dword ptr [ eax + ecx + 116 ] ;0x0067f4e1 : ff740874
push esi ;0x0067f4e5 : 56
pushd 0FFFFFFFFh ;0x0067f4e6 : 6aff
pushd 030h ;0x0067f4e8 : 6a30
push ebx ;0x0067f4ea : 53
call Fun41c715 ;0x0067f4eb : e825d2d9ff
add esp , 020h ;0x0067f4f0 : 83c420
jmp Label67f4f7 ;0x0067f4f3 : eb02
Label67f4f5 ::
xor esi , esi ;0x0067f4f5 : 33f6
Label67f4f7 ::
mov eax , dword ptr [ ebp + 120 ] ;0x0067f4f7 : 8b4578
and eax , 01h ;0x0067f4fa : 83e001
push eax ;0x0067f4fd : 50
push dword ptr [ ebp + 108 ] ;0x0067f4fe : ff756c
mov eax , edi ;0x0067f501 : 8bc7
call Fun674f29 ;0x0067f503 : e8215affff
mov eax , edi ;0x0067f508 : 8bc7
call Fun67fc8c ;0x0067f50a : e87d070000
mov eax , dword ptr [ edi + 0320h ] ;0x0067f50f : 8b8720030000
call Fun4defb8 ;0x0067f515 : e89efae5ff
mov eax , dword ptr [ ebp + 116 ] ;0x0067f51a : 8b4574
inc eax ;0x0067f51d : 40
mov dword ptr [ ebp + 0FFFFFAE0h ] , eax ;0x0067f51e : 8985e0faffff
mov eax , dword ptr [ Data9370f8 ] ;0x0067f524 : a1f8709300
mov eax , dword ptr [eax] ;0x0067f529 : 8b00
mov ebx , dword ptr [ eax + 24 ] ;0x0067f52b : 8b5818
mov eax , dword ptr [ edi + 96 ] ;0x0067f52e : 8b4760
shr eax , 017h ;0x0067f531 : c1e817
and eax , 01h ;0x0067f534 : 83e001
jne Label67f53f ;0x0067f537 : 7506
cmp dword ptr [ edi + 108 ] , 01h ;0x0067f539 : 837f6c01
jne Label67f562 ;0x0067f53d : 7523
Label67f53f ::
cmp eax , esi ;0x0067f53f : 3bc6
jne Label67f549 ;0x0067f541 : 7506
mov dword ptr [ ebp + 0FFFFFAE0h ] , esi ;0x0067f543 : 89b5e0faffff
Label67f549 ::
push esi ;0x0067f549 : 56
push esi ;0x0067f54a : 56
pushd 01h ;0x0067f54b : 6a01
push esi ;0x0067f54d : 56
lea eax , dword ptr [ ebp + 0FFFFFAC8h ] ;0x0067f54e : 8d85c8faffff
push eax ;0x0067f554 : 50
pushd 0Ch ;0x0067f555 : 6a0c
push dword ptr [ edi + 06D0h ] ;0x0067f557 : ffb7d0060000
call Fun43c117 ;0x0067f55d : e8b5cbdbff
Label67f562 ::
mov eax , dword ptr [ Data9370f8 ] ;0x0067f562 : a1f8709300
mov dword ptr [ edi + 108 ] , esi ;0x0067f567 : 89776c
mov eax , dword ptr [eax] ;0x0067f56a : 8b00
mov eax , dword ptr [ eax + 24 ] ;0x0067f56c : 8b4018
cmp eax , ebx ;0x0067f56f : 3bc3
je Label67f579 ;0x0067f571 : 7406
mov dword ptr [ ebp + 0FFFFFB20h ] , eax ;0x0067f573 : 898520fbffff
Label67f579 ::
mov ecx , dword ptr [ ebp + 0FFFFFB20h ] ;0x0067f579 : 8b8d20fbffff
cmp ecx , esi ;0x0067f57f : 3bce
je Label67f588 ;0x0067f581 : 7405
call Fun52a6f6 ;0x0067f583 : e86eb1eaff
Label67f588 ::
lea esp , dword ptr [ ebp + 0FFFFFAB8h ] ;0x0067f588 : 8da5b8faffff
mov ecx , dword ptr [ ebp + 92 ] ;0x0067f58e : 8b4d5c
call Fun42bf1d ;0x0067f591 : e887c9daff
pop edi ;0x0067f596 : 5f
pop esi ;0x0067f597 : 5e
pop ebx ;0x0067f598 : 5b
add ebp , 060h ;0x0067f599 : 83c560
leave ;0x0067f59c : c9
ret 018h ;0x0067f59d : c21800
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_vfp9fix433.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix14.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix141.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix398.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix399.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix431.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix432.asp
6. OTHER:
For reference only, there is no guarantees.
Any questions or suggestions, please send me an email at ccb2000@163.com.
|