Function at 0x428de0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
push edi
mov ebp, dword [ebx + 8]
xor edi, edi
push ebx
mov byte [esp + 0x17], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], ebp
call fcn.0045d2c0
mov ecx, dword [ebx + 0x50]
mov edx, eax
push ecx
push 0x2c
push edx
lea eax, [ecx + 1]
mov dword [ebx + 0x50], eax
call fcn.00475250
mov edx, dword [esp + 0x8c]
xor ecx, ecx
mov esi, dword [esp + 0x98]
add esp, 0x10
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], ecx
mov eax, dword [edx + 0x10]
mov esi, dword [esi + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], esi
xor esi, esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], esi
mov ebp, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x48], 0xffffffff
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebp
mov dword [esp + 0x40], eax
cmp ebp, eax
jae 0x4294bb
jmp 0x428e84
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax]
or eax, dword [edi + 4]
mov edi, dword [esp + 0x20]
jne 0x42936f
test byte [ebp + 0x14], 2
jne 0x42936f
mov esi, dword [ebp]
test byte [esi + 4], 1
jne 0x42936b
xor eax, eax
mov dword [esp + 0x54], 0x42eff0
mov dword [esp + 0x68], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x54]
push esi
push eax
mov byte [esp + 0x70], 3
mov dword [esp + 0x60], 0x447120
call fcn.00482c90
add esp, 8
cmp byte [esp + 0x68], 0
je 0x429367
push 0
push 0
push esi
push dword [ebx]
call fcn.0042ed30
mov esi, dword [ebx]
add esp, 0x10
mov ebp, eax
test edi, edi
jne 0x428f1b
mov edi, ebp
mov dword [esp + 0x20], edi
jmp 0x429363
test ebp, ebp
je 0x429363
mov edx, dword [edi + 4]
mov dword [esp + 0x44], 0
test dl, 1
jne 0x428f50
lea eax, [esp + 0x44]
push eax
push edi
call fcn.004574f0
add esp, 8
test eax, eax
je 0x428f50
cmp dword [esp + 0x44], 0
je 0x429167
push ebp
call fcn.0042cba0
add esp, 4
test eax, eax
jne 0x429167
test esi, esi
je 0x428fe3
cmp byte [esi + 0x41], al
je 0x428fc6
xor ebx, ebx
test dword [edi + 4], 0x4000
jne 0x42908b
push dword [edi + 0xc]
push esi
call fcn.00456b60
push dword [edi + 0x10]
push esi
call fcn.00456b60
mov eax, dword [edi + 4]
add esp, 0x10
test eax, 0x10000
je 0x428fa7
push dword [edi + 8]
push esi
call fcn.00451330
mov eax, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0x14]
test eax, 0x800
je 0x429081
push 1
push ecx
push esi
call fcn.00425460
add esp, 0xc
jmp 0x42908b
cmp byte [esi + 0xfa], 0
je 0x428fe3
mov eax, 0x2c
cmp ax, word [esi + 0xf8]
jbe 0x429044
inc dword [esi + 0x108]
push 0
push 0x2c
call fcn.00461c40
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x429005
test esi, esi
je 0x428ffd
mov byte [esi + 0x41], 1
test ebx, ebx
je 0x428f6c
push 0x2c
push 0
push ebx
call fcn.004c2200
mov eax, dword [esp + 0x54]
add esp, 0xc
mov word [ebx + 0x1e], ax
mov byte [ebx], 0x48
mov dword [ebx + 0x10], ebp
mov eax, dword [ebp + 4]
and eax, 0x200100
mov dword [ebx + 0xc], edi
or dword [ebx + 4], eax
mov eax, dword [edi + 4]
mov edi, ebx
and eax, 0x200100
mov dword [esp + 0x20], edi
or dword [ebx + 4], eax
jmp 0x429363
mov ebx, dword [esi + 0x110]
test ebx, ebx
jne 0x429056
inc dword [esi + 0x10c]
jmp 0x428fe3
mov eax, dword [ebx]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x429005
mov dword [esi + 0x100], eax
jmp 0x429005
push ecx
push esi
call fcn.00457680
add esp, 8
test dword [edi + 4], 0x8000
jne 0x429152
test esi, esi
je 0x4290fd
cmp dword [esi + 0x208], 0
je 0x4290c4
push edi
push esi
call fcn.00438370
add esp, 8
push ebp
push esi
call fcn.00456b60
mov edi, ebx
add esp, 8
mov dword [esp + 0x20], edi
jmp 0x429363
cmp edi, dword [esi + 0x114]
jb 0x4290fd
cmp edi, dword [esi + 0x118]
jae 0x4290fd
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
push ebp
push esi
mov dword [esi + 0x110], edi
call fcn.00456b60
mov edi, ebx
add esp, 8
mov dword [esp + 0x20], edi
jmp 0x429363
cmp dword [section..data], 0
je 0x429148
mov eax, dword [0x50bf70]
test eax, eax
je 0x429119
push eax
call dword [0x509054]
add esp, 4
push edi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push edi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x429152
push eax
call dword [0x50905c]
jmp 0x42914f
push edi
call dword [0x509028]
add esp, 4
push ebp
push esi
call fcn.00456b60
mov edi, ebx
add esp, 8
mov dword [esp + 0x20], edi
jmp 0x429363
test edx, 0x4000
jne 0x4291bf
push dword [edi + 0xc]
push esi
call fcn.00456b60
push dword [edi + 0x10]
push esi
call fcn.00456b60
mov eax, dword [edi + 4]
add esp, 0x10
test eax, 0x10000
je 0x42919d
push dword [edi + 8]
push esi
call fcn.00451330
mov eax, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0x14]
test eax, 0x800
je 0x4291b5
push 1
push ecx
push esi
call fcn.00425460
add esp, 0xc
jmp 0x4291bf
push ecx
push esi
call fcn.00457680
add esp, 8
test dword [edi + 4], 0x8000
jne 0x429260
test esi, esi
je 0x42920b
cmp dword [esi + 0x208], 0
je 0x4291e5
push edi
push esi
call fcn.00438370
add esp, 8
jmp 0x429260
cmp edi, dword [esi + 0x114]
jb 0x42920b
cmp edi, dword [esi + 0x118]
jae 0x42920b
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
jmp 0x429260
cmp dword [section..data], 0
je 0x429256
mov eax, dword [0x50bf70]
test eax, eax
je 0x429227
push eax
call dword [0x509054]
add esp, 4
push edi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push edi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x429260
push eax
call dword [0x50905c]
jmp 0x42925d
push edi
call dword [0x509028]
add esp, 4
push ebp
push esi
call fcn.00456b60
lea eax, [esp + 0x4c]
xor ebp, ebp
push eax
push 0x4ee134
mov dword [esp + 0x54], ebp
call fcn.0045c800
add esp, 0x10
test eax, eax
mov eax, 2
cmove ebp, eax
xor ecx, ecx
lea ebx, [ebp + 0x2c]
test esi, esi
je 0x4292c2
cmp byte [esi + 0x41], cl
je 0x4292a2
xor edi, edi
mov dword [esp + 0x20], edi
jmp 0x429363
cmp byte [esi + 0xfa], cl
je 0x4292c2
movzx eax, word [esi + 0xf8]
cdq
cmp ecx, edx
jb 0x429311
ja 0x4292bc
cmp ebx, eax
jbe 0x429311
inc dword [esi + 0x108]
push ecx
push ebx
call fcn.00461c40
mov edi, eax
add esp, 8
mov dword [esp + 0x20], edi
test edi, edi
jne 0x4292e6
test esi, esi
je 0x4292de
mov byte [esi + 0x41], 1
test edi, edi
je 0x429363
push ebx
push 0
push edi
call fcn.004c2200
mov eax, dword [esp + 0x54]
add esp, 0xc
mov byte [edi], 0x84
mov word [edi + 0x1e], ax
test ebp, ebp
jne 0x429352
mov eax, dword [esp + 0x44]
or dword [edi + 4], 0x400
mov dword [edi + 8], eax
jmp 0x429363
mov edi, dword [esi + 0x110]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x429327
inc dword [esi + 0x10c]
jmp 0x4292c2
mov eax, dword [edi]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x4292e6
mov dword [esi + 0x100], eax
jmp 0x4292e6
lea ecx, [edi + 0x2c]
mov dword [edi + 8], ecx
mov al, byte [0x4ee134]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x7c]
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x30]
jne 0x4294a6
test byte [ebp + 0x12], 2
je 0x4294a6
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esp + 0x80]
and eax, dword [esp + 0x84]
or ecx, eax
jne 0x4294a2
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x4294a2
mov eax, dword [ebx + 0x10]
lea ecx, [ecx + ecx*2]
push dword [ebp]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*8 + 0x15]
call fcn.00428670
movsx eax, al
add esp, 4
sub eax, 0x41
je 0x4293ef
sub eax, 1
je 0x4293df
xor eax, eax
cmp bl, 0x43
setge al
jmp 0x4293e7
xor eax, eax
cmp bl, 0x42
sete al
test eax, eax
je 0x4294a2
mov ecx, dword [ebp + 0xc]
xor esi, esi
cmp ecx, 0x40
jl 0x429400
mov ebx, SysReAllocString
jmp 0x429415
mov eax, ecx
xor ebx, ebx
bts esi, eax
cmp eax, 0x20
cmovae ebx, esi
xor esi, ebx
cmp eax, 0x40
cmovae ebx, esi
cmp byte [esp + 0x13], 0
jne 0x429442
mov edx, dword [esp + 0x30]
lea ecx, [ecx + ecx*2]
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0041e040
add esp, 0x10
mov byte [esp + 0x13], 1
mov ecx, esi
mov eax, ebx
and ecx, dword [esp + 0x28]
and eax, dword [esp + 0x18]
or ecx, eax
jne 0x42949e
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
inc ebp
push ebp
push dword [esp + 0x30]
push dword [eax]
call fcn.00490190
add esp, 0xc
test eax, eax
jne 0x429f1e
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
or dword [esp + 0x28], esi
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x30]
mov esi, dword [esp + 0x18]
or esi, ebx
mov dword [esp + 0x18], esi
mov dword [eax + edx*4], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
jmp 0x4294a6
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
add ebp, 0x30
mov dword [esp + 0x24], ebp
cmp ebp, dword [esp + 0x40]
jb 0x428e80
movzx eax, cx
not esi
mov ecx, dword [esp + 0x2c]
or esi, 0x80000000
mov word [ecx + 0x28], ax
mov word [ecx + 0x18], ax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x24], 0x4241
not eax
mov ecx, dword [edx + 0x40]
and eax, ecx
mov ebp, dword [edx + 0x44]
and esi, ebp
mov dword [esp + 0x28], eax
mov edx, 0x3f
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x18], esi
movzx ebx, word [eax + 0x22]
mov dword [esp + 0x3c], ebx
movzx eax, bx
cmp dx, bx
jge 0x429518
mov dword [esp + 0x44], edx
jmp 0x429526
movsx edx, bx
mov dword [esp + 0x44], edx
xor edx, edx
cmp dx, ax
jge 0x42956c
mov edi, dword [esp + 0x44]
xor esi, esi
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, ebx
and ecx, ebp
or edx, ecx
je 0x429557
inc dword [esp + 0x14]
inc esi
cmp esi, edi
jl 0x429534
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
test ebp, ebp
jg 0x429586
jl 0x429576
test ecx, ecx
jae 0x429586
mov ecx, dword [esp + 0x14]
movsx eax, bx
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
movzx eax, ax
inc eax
movzx eax, ax
mov esi, dword [ebx]
mov dword [esp + 0x4c], eax
cwde
lea ecx, [eax*4 + 7]
lea eax, [eax + eax*4]
and ecx, 0xfffffff8
add eax, 9
mov dword [esp + 0x38], ecx
and eax, 0xfffffff8
add ecx, 0x38
add eax, ecx
mov dword [esp + 0x3c], eax
cdq
mov ecx, eax
mov ebp, edx
test esi, esi
je 0x4295f8
cmp byte [esi + 0x41], 0
jne 0x429f22
cmp byte [esi + 0xfa], 0
je 0x4295f8
movzx eax, word [esi + 0xf8]
cdq
cmp ebp, edx
jb 0x42970c
ja 0x4295f2
cmp ecx, eax
jbe 0x42970c
inc dword [esi + 0x108]
push ebp
push ecx
call fcn.00461c40
mov ebx, eax
mov dword [esp + 0x2c], eax
add esp, 8
test ebx, ebx
jne 0x42961c
test esi, esi
je 0x429614
mov byte [esi + 0x41], 1
test ebx, ebx
je 0x429f1e
push dword [esp + 0x3c]
push 0
push ebx
call fcn.004c2200
mov edx, dword [esp + 0x58]
lea eax, [ebx + 0x38]
mov ebp, dword [esp + 0x84]
xor esi, esi
mov dword [ebx + 0x20], eax
add esp, 0xc
add eax, dword [esp + 0x38]
mov dword [ebx + 8], eax
movsx ecx, dx
mov word [ebx + 0x30], dx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], esi
lea eax, [eax + ecx*2]
mov dword [esp + 0x3c], esi
add eax, 2
mov dword [ebx + 4], eax
lea eax, [eax + ecx*2]
mov dword [ebx + 0x1c], eax
movzx eax, dx
mov word [ebx + 0x2e], ax
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x30]
mov dword [ebx], str.auto_index
mov dword [ebx + 0xc], eax
mov ebp, dword [ebp + 0x14]
cmp ebp, dword [esp + 0x40]
jae 0x42981b
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x7c]
jmp 0x4296a0
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x30]
jne 0x42980a
test byte [ebp + 0x12], 2
je 0x42980a
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esp + 0x80]
and eax, dword [esp + 0x84]
or ecx, eax
jne 0x42980a
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x42980a
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*2]
push dword [ebp]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*8 + 0x15]
call fcn.00428670
movsx eax, al
add esp, 4
sub eax, 0x41
je 0x429767
sub eax, 1
je 0x429757
xor eax, eax
cmp bl, 0x43
setge al
jmp 0x42975f
mov ebx, dword [esi + 0x110]
mov dword [esp + 0x24], ebx
test ebx, ebx
jne 0x429725
inc dword [esi + 0x10c]
jmp 0x4295f8
mov eax, dword [ebx]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x42961c
mov dword [esi + 0x100], eax
jmp 0x42961c
xor eax, eax
cmp bl, 0x42
sete al
test eax, eax
je 0x429806
mov eax, dword [ebp + 0xc]
xor edx, edx
movzx ecx, ax
mov dword [esp + 0x78], ecx
cmp eax, 0x40
jl 0x42977f
mov ebx, SysReAllocString
jmp 0x429792
xor ebx, ebx
bts edx, eax
cmp eax, 0x20
cmovae ebx, edx
xor edx, ebx
cmp eax, 0x40
cmovae ebx, edx
mov ecx, edx
mov eax, ebx
and ecx, dword [esp + 0x38]
and eax, dword [esp + 0x3c]
or ecx, eax
jne 0x429806
mov ecx, dword [ebp]
mov eax, dword [edi + 4]
or dword [esp + 0x38], edx
mov edx, dword [esp + 0x78]
or dword [esp + 0x3c], ebx
mov word [eax + esi*2], dx
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
test dword [eax + 4], 0x100
jne 0x4297e7
test ebx, ebx
je 0x4297d4
test dword [ebx + 4], 0x100
jne 0x4297e5
push eax
push dword [esp + 0x78]
call fcn.00456840
add esp, 8
test eax, eax
jne 0x4297fd
mov eax, ebx
push eax
push dword [esp + 0x78]
call fcn.00456840
add esp, 8
mov ecx, str.BINARY
test eax, eax
je 0x4297ff
mov ecx, dword [eax]
mov eax, dword [edi + 0x20]
mov dword [eax + esi*4], ecx
inc esi
mov edx, dword [esp + 0x7c]
add ebp, 0x30
cmp ebp, dword [esp + 0x40]
jb 0x4296a0
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x44]
xor ebx, ebx
test ebp, ebp
jle 0x42986e
mov edi, dword [esp + 0x24]
lea esp, [esp]
xor edx, edx
xor ecx, ecx
mov eax, ebx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x28]
and ecx, dword [esp + 0x18]
or edx, ecx
je 0x429865
mov eax, dword [edi + 4]
mov word [eax + esi*2], bx
mov eax, dword [edi + 0x20]
mov dword [eax + esi*4], str.BINARY
inc esi
inc ebx
cmp ebx, ebp
jl 0x429830
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
cmp dword [eax + 0x44], 0
jg 0x4298b2
jl 0x429880
cmp dword [eax + 0x40], 0
jae 0x4298b2
mov ebx, dword [esp + 0x30]
mov eax, 0x3f
mov edx, dword [esp + 0x24]
cmp ax, word [ebx + 0x22]
jge 0x4298b6
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + esi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + esi*4], str.BINARY
inc esi
movsx eax, word [ebx + 0x22]
cmp ecx, eax
jl 0x429895
jmp 0x4298b6
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
mov word [eax + esi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
mov dword [eax + esi*4], str.BINARY
mov eax, dword [ecx + 0x44]
mov dword [edx + 8], eax
inc dword [ecx + 0x44]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x20]
mov ecx, ebp
mov eax, dword [ebx + 0x54]
cmp eax, ebp
jg 0x429968
test eax, eax
je 0x429905
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x42990a
mov eax, 0x3fc
push 0
push eax
push dword [edx + 4]
push dword [ebx]
call fcn.004515f0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4299a3
mov eax, dword [ebx]
test eax, eax
je 0x429943
cmp esi, dword [eax + 0x114]
jb 0x429943
cmp esi, dword [eax + 0x118]
jae 0x429943
movzx ecx, word [eax + 0xf8]
jmp 0x42994f
push esi
call dword [0x509030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebx + 0x54], edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [edx + 4], esi
jmp 0x42996b
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edx + 0x20], eax
lea eax, [ebp*4]
add eax, ebp
lea ecx, [esi + eax*4]
mov eax, dword [esp + 0x7c]
mov word [ecx], 0x38
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
inc eax
mov byte [ecx + 3], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esp + 0x74]
push dword [esp + 0x24]
push eax
mov ebx, dword [eax + 8]
call fcn.00460650
mov ebp, dword [ebx + 4]
add esp, 8
mov edx, dword [ebx]
mov esi, eax
test ebp, ebp
je 0x429a00
cmp byte [edx + 0x41], 0
jne 0x429a00
mov ecx, dword [ebx + 0x20]
dec ecx
lea eax, [ecx + ecx*4]
lea ebx, [eax*4]
movsx eax, byte [ebx + ebp + 1]
add ebx, ebp
push dword [ebx + 0x10]
push eax
push edx
call fcn.004332a0
add esp, 0xc
test esi, esi
jne 0x4299f7
mov dword [ebx + 0x10], esi
mov byte [ebx + 1], 0
jmp 0x429a67
mov dword [ebx + 0x10], esi
mov byte [ebx + 1], 0xfa
jmp 0x429a67
test esi, esi
je 0x429a67
cmp dword [edx + 0x208], 0
jne 0x429a67
add dword [esi], 0xffffffff
jne 0x429a67
cmp dword [section..data], 0
je 0x429a5d
mov eax, dword [0x50bf70]
test eax, eax
je 0x429a2e
push eax
call dword [0x509054]
add esp, 4
push esi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push esi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x429a67
push eax
call dword [0x50905c]
jmp 0x429a64
push esi
call dword [0x509028]
add esp, 4
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
inc dword [eax + 0x64]
mov ebp, dword [edx + 0x18]
mov eax, dword [esi + 4]
mov ebx, dword [edx + 0x20]
mov ecx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x7c], ebx
cmp eax, ebx
jg 0x429b12
test eax, eax
je 0x429aa3
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429aa8
mov eax, 0x3fc
push 0
push eax
push dword [edx + 4]
push dword [ebp]
call fcn.004515f0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x429b04
mov eax, dword [ebp]
test eax, eax
je 0x429adf
cmp esi, dword [eax + 0x114]
jb 0x429adf
cmp esi, dword [eax + 0x118]
jae 0x429adf
movzx ecx, word [eax + 0xf8]
jmp 0x429aeb
push esi
call dword [0x509030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x54], edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [edx + 4], esi
jmp 0x429b15
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x7c], 1
jmp 0x429b49
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x20], eax
lea eax, [ebx + ebx*4]
mov word [esi + eax*4], 0x6c
mov byte [esi + eax*4 + 3], 0
mov dword [esi + eax*4 + 4], ecx
mov dword [esi + eax*4 + 8], 0
mov dword [esi + eax*4 + 0xc], 0
mov dword [esi + eax*4 + 0x10], 0
test edi, edi
je 0x429c6a
mov ebp, dword [edx + 0x18]
mov ecx, dword [ebp + 0x6c]
mov ebx, dword [ebp + 0x70]
mov dword [esp + 0x34], ecx
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea eax, [ecx - 1]
test ecx, eax
jne 0x429c3b
mov esi, dword [ebp]
lea eax, [ecx*8 + 4]
push 0
push eax
push ebx
push esi
call fcn.004515f0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
jne 0x429c30
test ebx, ebx
je 0x429c30
test esi, esi
je 0x429bdb
cmp dword [esi + 0x208], eax
je 0x429bb5
push ebx
push esi
call fcn.00438370
add esp, 8
jmp 0x429c30
cmp ebx, dword [esi + 0x114]
jb 0x429bdb
cmp ebx, dword [esi + 0x118]
jae 0x429bdb
mov eax, dword [esi + 0x110]
mov dword [ebx], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], ebx
jmp 0x429c30
cmp dword [section..data], 0
je 0x429c26
mov eax, dword [0x50bf70]
test eax, eax
je 0x429bf7
push eax
call dword [0x509054]
add esp, 4
push ebx
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push ebx
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x429c30
push eax
call dword [0x50905c]
jmp 0x429c2d
push ebx
call dword [0x509028]
add esp, 4
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0x70], ebx
test ebx, ebx
je 0x429c46
mov dword [ebx + ecx*4], 0xffffffff
not ecx
push 0x10
push ecx
push edi
push dword [esp + 0x80]
mov dword [esp + 0x44], ecx
call fcn.00456c80
mov eax, dword [esp + 0x3c]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, dword [esp + 0x74]
mov al, byte [ecx + 0x13]
test al, al
jne 0x429c7d
inc dword [ecx + 0x48]
mov esi, dword [ecx + 0x48]
jmp 0x429c89
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0x18]
mov ebx, dword [esp + 0x88]
push 0
push 0
push 0
push 0
push esi
push dword [ebx + 4]
push dword [esp + 0x3c]
push ecx
call fcn.0045bd30
mov eax, dword [ebx + 8]
add esp, 0x20
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov ebp, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x20]
mov edx, ecx
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0x54]
cmp eax, ecx
jg 0x429d3c
test eax, eax
je 0x429cd3
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429cd8
mov eax, 0x3fc
push 0
push eax
push dword [ebx + 4]
push dword [ebp]
call fcn.004515f0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x429d73
mov eax, dword [ebp]
test eax, eax
je 0x429d13
cmp ebx, dword [eax + 0x114]
jb 0x429d13
cmp ebx, dword [eax + 0x118]
jae 0x429d13
movzx ecx, word [eax + 0xf8]
jmp 0x429d1f
push ebx
call dword [0x509030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x78]
shr edx, 4
mov dword [ebp + 0x54], edx
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 4], ebx
jmp 0x429d43
mov ebx, dword [ebx + 4]
mov ebp, dword [esp + 0x1c]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x4c]
mov word [ebx + eax*4], 0x6e
mov byte [ebx + eax*4 + 3], 0
mov dword [ebx + eax*4 + 4], ecx
mov dword [ebx + eax*4 + 8], esi
mov dword [ebx + eax*4 + 0xc], 0
mov dword [ebx + eax*4 + 0x10], 0
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x429d89
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x10
test edi, edi
je 0x429dae
mov ebp, dword [esp + 0x34]
mov edx, dword [ebx + 0x18]
not ebp
test ebp, ebp
js 0x429da7
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x429da7
mov eax, dword [ebx + 0x20]
mov dword [ecx + ebp*4], eax
mov eax, dword [ebx + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x88]
mov ebp, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x20]
mov edx, ecx
mov dword [esp + 0x88], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x54]
cmp eax, ecx
jg 0x429e4a
test eax, eax
je 0x429dde
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429de3
mov eax, 0x3fc
push 0
push eax
push dword [ebx + 4]
push dword [ebp]
call fcn.004515f0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x429e88
mov eax, dword [ebp]
test eax, eax
je 0x429e1e
cmp ebx, dword [eax + 0x114]
jb 0x429e1e
cmp ebx, dword [eax + 0x118]
jae 0x429e1e
movzx ecx, word [eax + 0xf8]
jmp 0x429e2a
push ebx
call dword [0x509030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x88]
shr edx, 4
mov dword [ebp + 0x54], edx
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 4], ebx
jmp 0x429e4c
mov ebp, ebx
mov ebx, dword [esp + 0x7c]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 4]
mov word [eax + ecx*4], 9
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [ebx + 1]
mov dword [ecx + 8], eax
jmp 0x429e90
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x429ea2
mov eax, dword [ebp + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 3
mov edx, dword [ebp + 0x20]
cmp edx, ebx
jbe 0x429eb6
mov eax, dword [ebp + 4]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
lea ecx, [edx - 1]
mov ebx, dword [esp + 0x74]
mov dword [eax + 0x58], ecx
test esi, esi
je 0x429ef2
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x429ef2
xor ecx, ecx
lea eax, [ebx + 0x74]
cmp dword [eax + 0xc], esi
je 0x429eee
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x429ed4
movzx eax, dl
mov dword [ebx + eax*4 + 0x18], esi
inc byte [ebx + 0x13]
jmp 0x429ef2
mov byte [eax + 6], 1
push ebx
call fcn.00454520
mov edx, dword [ebp + 0x20]
add esp, 4
mov eax, dword [esp + 0x50]
cmp edx, eax
jbe 0x429f13
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
lea ecx, [edx - 1]
mov dword [eax + 0x58], ecx
jmp 0x429f22
mov ebx, dword [esp + 0x74]
mov esi, dword [ebx]
test edi, edi
je 0x42a03b
test dword [edi + 4], 0x4000
jne 0x429f85
push dword [edi + 0xc]
push esi
call fcn.00456b60
push dword [edi + 0x10]
push esi
call fcn.00456b60
mov eax, dword [edi + 4]
add esp, 0x10
test eax, 0x10000
je 0x429f63
push dword [edi + 8]
push esi
call fcn.00451330
mov eax, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0x14]
test eax, 0x800
je 0x429f7b
push 1
push ecx
push esi
call fcn.00425460
add esp, 0xc
jmp 0x429f85
push ecx
push esi
call fcn.00457680
add esp, 8
test dword [edi + 4], 0x8000
jne 0x42a03b
test esi, esi
je 0x429fdd
cmp dword [esi + 0x208], 0
je 0x429fb1
push edi
push esi
call fcn.00438370
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp edi, dword [esi + 0x114]
jb 0x429fdd
cmp edi, dword [esi + 0x118]
jae 0x429fdd
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [section..data], 0
je 0x42a031
mov eax, dword [0x50bf70]
test eax, eax
je 0x429ff9
push eax
call dword [0x509054]
add esp, 4
push edi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push edi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x42a03b
push eax
call dword [0x50905c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push edi
call dword [0x509028]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret