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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
mov eax, 0x273c
call fcn.004012c0
or dword [ebp + 0x44], 0xffffffff
push ebx
push esi
xor esi, esi
push edi
push 0x40
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x70], esi
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x60], esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x64], esi
call fcn.0040247a
lea ecx, [ebp - 0x1dc]
call fcn.0040c9c8
lea ecx, [ebp - 0x134]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
call fcn.0040c9c8
mov eax, dword [ebp + 0x20]
mov dword [0x414b48], eax
mov dword [0x413908], 1
cmp byte [0x42dd82], 0
jne 0x40338b
and dword [ebp + 0x58], 0
and dword [ebp + 0x68], 0
mov ebx, 0x424c8c
mov eax, dword [ebp + 0x58]
xor edi, edi
inc edi
cmp eax, 0x40
mov esi, 0x41393c
jl 0x402668
cmp byte [0x425524], 0
je 0x402a2a
cmp eax, dword [ebp + 0x24]
jl 0x40267a
mov eax, dword [ebp + 0x58]
inc eax
push eax
lea ecx, [ebp + 0x20]
call fcn.00402540
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x68]
push 4
add ecx, eax
push esi
mov dword [0x414b48], ecx
call fcn.00404682
test eax, eax
je 0x402977
push 4
push 0x424bb5
push esi
call fcn.0040910f
test eax, eax
jne 0x402983
call fcn.004083e8
xor esi, esi
cmp eax, esi
jne 0x402a0c
xor eax, eax
mov word [0x424c8c], ax
movzx eax, byte [0x424be9]
push eax
movzx eax, word [0x424c08]
push 0x424bec
push 2
push eax
call fcn.00404a46
cmp eax, esi
je 0x4026f4
cmp eax, dword [ebp + 0x70]
jle 0x4026ec
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402a11
movzx eax, word [0x424c0a]
push esi
push esi
push 3
push eax
call fcn.00404a46
cmp eax, esi
je 0x402719
cmp eax, dword [ebp + 0x70]
jle 0x402711
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402a11
movzx eax, word [0x424c0a]
push esi
push eax
push dword [0x424ba8]
call fcn.00407cae
movzx eax, word [0x424c0a]
push 0x424bee
push eax
push dword [0x424ba8]
call fcn.0040cd04
movzx eax, word [0x424c0c]
push esi
push esi
push esi
push eax
call fcn.00404a46
cmp eax, esi
je 0x402769
cmp eax, dword [ebp + 0x70]
jle 0x402761
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402a11
mov eax, dword [0x424bec]
mov ecx, dword [0x424ba8]
shr eax, 0xb
and al, 1
mov byte [ebp + 0x6f], al
push 0x1800
lea eax, [ebp - 0x26c4]
push eax
movzx eax, word [0x424c0a]
push dword [0x42548c]
call fcn.004023d8
test al, al
je 0x4027b4
push 0x400
push ebx
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040d1ef
mov byte [ebp + 0x6f], 1
lea eax, [ebp - 0x20]
push eax
movzx eax, word [0x424bf0]
push eax
movzx eax, word [0x424bf2]
push eax
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov eax, dword [0x414b48]
add eax, 0x28
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov eax, dword [0x414b48]
push 8
push 0
add eax, 0x30
push eax
call fcn.00408ea7
mov eax, dword [0x414b48]
push 8
push 0
add eax, 0x38
push eax
call fcn.00408ea7
mov eax, dword [0x414b48]
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0x30]
push ecx
mov ecx, dword [0x424ba8]
add eax, 0x28
push eax
movzx eax, word [0x424c0a]
call fcn.00402305
movzx esi, word [0x424c0a]
mov eax, dword [0x424ba8]
mov edi, eax
test esi, esi
je 0x40283e
test eax, eax
jne 0x402874
mov byte [ebp + 0x77], 0
jmp 0x402898
push edi
call fcn.00404c8f
movzx eax, ax
mov dword [ebp + 0x40], eax
lea eax, [edi + 2]
push eax
call fcn.00404c8f
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x40283e
cmp dword [ebp + 0x40], 0x17
je 0x40287b
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402844
jmp 0x40283e
push ebx
push 0xb0
mov byte [ebp + 0x77], 1
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
add esp, 0xc
lea ecx, [ebp - 0xec4]
call fcn.0040257d
push 0xce8
xor edi, edi
push edi
lea eax, [ebp - 0xec4]
push eax
call fcn.00408ea7
mov esi, 0x400
push esi
push ebx
lea eax, [ebp - 0xa94]
push eax
call fcn.0040c6b9
push esi
lea eax, [ebp - 0xe94]
push eax
lea eax, [ebp - 0xa94]
push eax
call fcn.00406d00
mov eax, dword [0x414b48]
add eax, 0x28
push eax
lea ecx, [ebp - 0x280]
call fcn.0040cbc0
mov eax, dword [0x424c00]
mov dword [ebp - 0x1e4], eax
mov eax, dword [0x424c04]
mov dword [ebp - 0x1e0], eax
mov eax, 0x200
or word [ebp - 0xebc], ax
cmp byte [ebp + 0x77], 0
jne 0x402960
push 5
push edi
lea eax, [ebp - 0xec4]
push eax
mov ecx, 0x42eee8
call fcn.004014e3
test eax, eax
je 0x402960
call fcn.00401d8c
test eax, eax
je 0x40295d
cmp byte [ebp + 0x6f], 0
mov eax, ebx
jne 0x402948
mov eax, 0x40f308
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0040c9f5
inc dword [ebp + 0x58]
add dword [ebp + 0x68], 0x48
jmp 0x402960
inc dword [ebp + 0x48]
add dword [ebp + 0x50], 1
lea ecx, [ebp - 0x294]
adc dword [ebp + 0x54], edi
call fcn.0040146d
jmp 0x40264b
mov dword [ebp + 0x70], 0x33
jmp 0x402a27
mov ecx, dword [0x424c30]
mov eax, ecx
xor eax, dword [ebp + 0x50]
mov edx, 0xffff
and eax, edx
xor ebx, ebx
or eax, ebx
je 0x4029c7
cmp ecx, edx
jne 0x4029a7
cmp dword [0x424c34], ebx
je 0x4029c7
push 0xa0
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x402a27
push 0x40f304
lea eax, [ebp + 0x11]
push eax
mov byte [ebp + 0x10], 0x50
call fcn.00409049
push 4
push 0x424bba
push esi
call fcn.0040910f
test eax, eax
je 0x402a07
cmp byte [0x42552c], bl
je 0x402a02
push 4
lea eax, [ebp + 0x10]
push eax
push esi
call fcn.0040910f
test eax, eax
je 0x402a07
mov dword [ebp + 0x3c], edi
jmp 0x402a27
and dword [ebp + 0x3c], ebx
jmp 0x402a27
mov dword [ebp + 0x70], eax
jmp 0x402a27
push ebx
push 0x68
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
add esp, 0xc
mov dword [ebp + 0x64], edi
cmp byte [0x425524], 0
mov eax, dword [0x424b98]
mov dword [ebp - 4], eax
mov eax, dword [0x424b9c]
mov dword [ebp], eax
mov eax, dword [0x424b58]
mov dword [ebp - 8], eax
mov eax, dword [0x424b60]
mov dword [ebp + 8], eax
mov eax, dword [0x424b64]
mov dword [ebp + 0xc], eax
je 0x402aae
and dword [0x425528], 0
cmp byte [0x4331ea], 0
je 0x402a7a
push 0x40f300
push 0x4331ea
call fcn.004071a9
cmp word [0x4335ea], 0
je 0x402a93
push 0x40f2f8
push 0x4335ea
call fcn.004071e8
mov ecx, dword [0x424b78]
test ecx, ecx
je 0x402aa2
mov eax, dword [ecx]
push edi
call dword [eax]
and dword [0x424b78], 0
call fcn.004043b6
and dword [ebp + 0x68], 0
cmp dword [ebp + 0x58], 0
jle 0x40332d
mov eax, dword [ebp + 0x38]
shl eax, 6
mov dword [ebp + 0x40], eax
jmp 0x402aca
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x68]
add eax, ecx
imul ecx, ecx, 0x48
add ecx, dword [ebp + 0x20]
mov dword [ebp + 0x44], eax
mov dword [0x414b48], ecx
lea ecx, [ebp - 0x1dc]
call fcn.0040ca47
cmp byte [0x425524], 0
mov dword [ebp + 4], eax
je 0x402ba4
mov eax, dword [0x414b48]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x425528]
je 0x402ba4
movzx ecx, word [0x424c20]
cmp eax, ecx
jne 0x402b4b
cmp byte [0x4331ea], 0
je 0x402b30
push 0x40f2f4
push 0x4331ea
call fcn.004071a9
cmp word [0x4335ea], 0
je 0x402b7b
push 0x40f2ec
push 0x4335ea
call fcn.004071e8
jmp 0x402b7b
cmp byte [0x4331ea], 0
je 0x402b5f
push eax
push 0x4331ea
call fcn.0040228f
cmp word [0x4335ea], 0
je 0x402b7b
mov eax, dword [0x414b48]
push dword [eax + 0x20]
push 0x4335ea
call fcn.004022c9
mov eax, dword [0x414b48]
mov ecx, dword [0x424b78]
mov eax, dword [eax + 0x20]
mov dword [0x425528], eax
test ecx, ecx
je 0x402b98
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x424b78], 0
call fcn.004043b6
mov eax, dword [0x414b48]
mov edi, dword [eax]
add edi, dword [0x424ba0]
mov esi, dword [eax + 4]
adc esi, dword [0x424ba4]
push 0
push 0x2000
push esi
push edi
call fcn.00401200
mov ebx, eax
mov eax, edi
sub eax, ebx
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x402c7b
jl 0x402be4
test edi, edi
jae 0x402c7b
push 0xa0
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
cmp dword [ebp + 0x44], 0
pop ecx
pop ecx
mov dword [ebp + 0x70], 2
jne 0x402c6f
mov eax, dword [0x424ba0]
mov ecx, dword [0x424ba4]
mov edx, eax
or edx, ecx
je 0x402c6f
mov dword [ebp + 0x60], ecx
xor ecx, ecx
push ecx
mov dword [ebp + 0x5c], eax
mov eax, dword [0x414b48]
mov dword [0x424ba0], ecx
mov dword [0x424ba4], ecx
mov esi, dword [eax + 4]
mov edi, dword [eax]
push 0x2000
push esi
push edi
call fcn.00401200
mov ebx, eax
mov eax, edi
sub eax, ebx
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x402c7b
jl 0x402c58
test edi, edi
jae 0x402c7b
push 0xa0
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x40331e
cmp eax, dword [0x424b98]
jne 0x402cbc
cmp ecx, dword [0x424b9c]
jne 0x402cbc
cmp byte [0x425524], 0
jne 0x402cbc
mov eax, dword [0x424b58]
mov ecx, dword [0x424b54]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x424b60], eax
adc dword [0x424b64], edx
add ebx, ecx
mov dword [0x424b58], ebx
xor edi, edi
jmp 0x402d2b
xor edi, edi
push edi
push ecx
mov ecx, dword [0x424b78]
push eax
call fcn.00403c6f
mov ecx, dword [0x424b78]
call fcn.0040372b
push 0x2000
push dword [0x424b54]
mov dword [0x424b98], eax
mov dword [0x424b9c], edx
call fcn.00404529
cdq
cmp edx, edi
mov dword [0x424b60], eax
mov dword [0x424b64], edx
jg 0x402d10
jl 0x402c58
cmp eax, edi
jbe 0x402c58
mov eax, dword [0x424b54]
add eax, ebx
mov dword [0x424b58], eax
mov eax, ebx
cdq
sub dword [0x424b60], eax
sbb dword [0x424b64], edx
push 4
mov ebx, 0x41393c
push ebx
call fcn.00404682
test eax, eax
je 0x402c58
push 4
push 0x424bb0
push ebx
call fcn.0040910f
mov esi, 0xa0
test eax, eax
je 0x402dff
push esi
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
mov eax, dword [0x424ba0]
pop ecx
pop ecx
mov ecx, dword [0x424ba4]
mov dword [ebp + 0x70], 2
cmp dword [ebp + 0x44], edi
jne 0x402d8a
mov edx, eax
or edx, ecx
jne 0x402deb
or eax, ecx
jne 0x40331e
mov eax, dword [ebp + 0x5c]
or eax, dword [ebp + 0x60]
je 0x40331e
mov eax, dword [ebp + 0x5c]
mov dword [0x424ba0], eax
mov eax, dword [ebp + 0x60]
mov dword [0x424ba4], eax
xor edi, edi
mov ebx, 0x41393c
mov eax, dword [0x414b48]
push dword [eax + 4]
push dword [eax]
call fcn.0040487c
test eax, eax
jne 0x402de5
push 4
push ebx
call fcn.00404682
test eax, eax
je 0x402de5
push 4
push 0x424bb0
push ebx
call fcn.0040910f
test eax, eax
je 0x402dff
push esi
jmp 0x402c5d
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], ecx
mov dword [0x424ba0], edi
mov dword [0x424ba4], edi
jmp 0x402db5
call fcn.00407e2f
mov ebx, eax
cmp ebx, edi
je 0x402e25
push esi
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
pop ecx
pop ecx
mov dword [ebp + 0x70], ebx
jmp 0x40331e
xor eax, eax
push edi
mov word [0x424c8c], ax
movzx eax, word [0x424be0]
push 0x424bc2
push 2
push eax
call fcn.00404a46
cmp eax, edi
je 0x402e72
cmp eax, dword [ebp + 0x70]
jle 0x402e4e
mov dword [ebp + 0x70], eax
cmp eax, 1
jle 0x402e72
push 0x424c8c
push 0x68
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
add esp, 0xc
jmp 0x40331e
mov eax, dword [0x424ba8]
cmp eax, edi
je 0x402e87
push eax
call fcn.00408d67
mov dword [0x424ba8], edi
movzx eax, word [0x424be2]
push edi
push edi
push 3
push eax
call fcn.00404a46
cmp eax, edi
je 0x402ea9
cmp eax, dword [ebp + 0x70]
jle 0x402ea4
mov dword [ebp + 0x70], eax
cmp eax, 1
jg 0x402e53
movzx eax, word [0x424be2]
push 1
push eax
push dword [0x424ba8]
call fcn.00407cae
mov ecx, dword [0x424ba8]
push 0x1800
lea eax, [ebp - 0x26c4]
push eax
movzx eax, word [0x424be2]
push dword [0x42548c]
call fcn.004023d8
mov esi, 0x424c8c
test al, al
je 0x402efd
push 0x400
push esi
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040d1ef
mov eax, dword [0x414b48]
mov ecx, dword [eax + 0x28]
mov dword [0x425490], ecx
mov ecx, dword [eax + 0x2c]
mov dword [0x425494], ecx
mov ecx, dword [eax + 0x30]
mov dword [0x425498], ecx
mov ecx, dword [eax + 0x34]
mov dword [0x42549c], ecx
mov ecx, dword [eax + 0x38]
mov dword [0x4254a0], ecx
mov eax, dword [eax + 0x3c]
mov ecx, dword [0x424ba8]
mov dword [0x4254a4], eax
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
movzx eax, word [0x424be2]
call fcn.00402305
test al, al
je 0x402f89
mov eax, dword [ebp - 0x10]
mov dword [0x425490], eax
mov eax, dword [ebp - 0xc]
mov dword [0x425494], eax
mov eax, dword [ebp - 0x18]
mov dword [0x425498], eax
mov eax, dword [ebp - 0x14]
mov dword [0x42549c], eax
mov eax, dword [ebp + 0x18]
mov dword [0x4254a0], eax
mov eax, dword [ebp + 0x1c]
mov dword [0x4254a4], eax
movzx eax, word [0x424be2]
push 0x424bc4
push eax
push dword [0x424ba8]
call fcn.0040cd04
mov eax, dword [ebp + 4]
cmp eax, edi
je 0x402fb9
cmp word [eax], di
je 0x402fb9
push 0x400
push eax
push esi
call fcn.0040c6b9
push esi
call fcn.00406a21
cmp word [eax], 0x5c
sete byte [ebp + 0x77]
cmp byte [ebp + 0x77], 0
je 0x402fd2
xor ecx, ecx
mov word [eax], cx
cmp word [0x424c8c], di
je 0x403005
cmp word [0x424c8e], di
je 0x403005
mov eax, 0x424c90
cmp word [0x424c90], di
je 0x403005
cmp word [eax], 0x3a
jne 0x402ffe
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], di
jne 0x402ff2
push esi
push esi
call fcn.00406ef0
mov eax, dword [0x414b48]
test byte [eax + 0x24], 0x10
je 0x40302f
mov ecx, dword [eax + 0x10]
or ecx, dword [eax + 0x14]
jne 0x40302f
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x40302b
cmp eax, 0xb
jne 0x40302f
mov byte [ebp + 0x77], 1
cmp byte [0x4325b9], 0x49
push edi
sete al
movzx eax, al
push eax
movzx eax, byte [0x431cd2]
push eax
push esi
push edi
call fcn.00409c73
test al, al
je 0x40332d
cmp byte [0x431cd2], 0
jne 0x40316a
xor ebx, ebx
cmp byte [ebp + 0x77], bl
jne 0x4031bc
push esi
call fcn.004049cf
cmp eax, 0xffffffff
je 0x403152
cmp eax, edi
je 0x4030ad
cmp eax, 1
jne 0x40316a
mov eax, dword [0x431c10]
cmp eax, 2
je 0x40331e
cmp byte [0x431c31], 0
jne 0x4030a9
cmp byte [0x431c30], 0
je 0x4030bb
test ebx, ebx
jmp 0x4030b5
mov eax, dword [0x431c10]
cmp eax, 2
je 0x40331e
xor edi, edi
cmp eax, edi
je 0x4030ca
cmp eax, 3
jne 0x403165
mov esi, 0x424c8c
push esi
lea eax, [ebp - 0x9dc]
push eax
call fcn.004091b4
movzx eax, word [0x424bc8]
movzx ecx, word [0x424bc6]
push edi
shl eax, 0x10
add eax, ecx
push eax
push dword [0x41392c]
lea eax, [ebp - 0x9dc]
push dword [0x413928]
push eax
push edi
call fcn.0040aaed
cmp al, 0x43
je 0x40332d
cmp al, 0x41
je 0x4032c0
cmp al, 0x4e
je 0x40331e
cmp al, 0x52
je 0x403136
cmp al, 0x59
je 0x403163
cmp al, 0x72
je 0x403136
cmp al, 0x79
je 0x403163
xor edi, edi
jmp 0x4030ca
lea eax, [ebp - 0x9dc]
push eax
mov esi, 0x424c8c
push esi
call fcn.004091b4
xor ebx, ebx
inc ebx
xor edi, edi
jmp 0x40306d
cmp byte [0x431c30], 0
je 0x40316a
cmp ebx, edi
je 0x40331e
xor edi, edi
mov esi, 0x424c8c
mov eax, dword [0x414b48]
test byte [eax + 0x40], 1
je 0x4032fa
call fcn.0040d17f
cmp eax, edi
je 0x4032fa
cmp eax, 9
je 0x403480
cmp eax, 1
jne 0x4032ea
cmp dword [0x4138e8], edi
jne 0x4032e5
cmp dword [0x4254a8], edi
je 0x4032cf
push edi
call fcn.00409c31
pop ecx
jmp 0x4032e5
cmp byte [0x431c30], 0
jne 0x40331e
cmp word [0x424c8c], 0
je 0x40331e
cmp dword [0x431c34], 1
je 0x40331e
mov eax, dword [0x414b48]
mov ecx, dword [eax + 0x1c]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
je 0x4031f9
cmp ecx, 0xb
jne 0x4031fc
mov edi, dword [eax + 0x24]
mov esi, 0x424c8c
push esi
call fcn.00403f12
test al, al
jne 0x403276
cmp byte [0x431c77], al
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00404140
test eax, eax
je 0x403276
push 1
push esi
call fcn.004041ac
cmp byte [0x431c77], 0
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00404140
test eax, eax
je 0x403276
push esi
push 0x6f
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
add esp, 0xc
push esi
mov esi, 0x42ddbc
push ebx
mov ecx, esi
call fcn.0040194b
mov ecx, esi
call fcn.00401a46
jmp 0x40331e
push esi
lea ecx, [ebp - 0x134]
call fcn.0040c9f5
push dword [0x425494]
lea ecx, [ebp + 0x2c]
push dword [0x425490]
call fcn.0040255a
push dword [0x4254a4]
lea ecx, [ebp + 0x2c]
push dword [0x4254a0]
call fcn.0040255a
push dword [0x42549c]
lea ecx, [ebp + 0x2c]
push dword [0x425498]
call fcn.0040255a
jmp 0x40331e
mov dword [0x431c10], 1
jmp 0x40316a
push esi
push 0x73
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
add esp, 0xc
inc dword [ebp + 0x4c]
jmp 0x40331e
cmp eax, dword [ebp + 0x70]
jle 0x4032f2
mov dword [ebp + 0x70], eax
push esi
push 0x73
jmp 0x402e5a
mov dword [0x424c5c], edi
call fcn.00401e9a
cmp eax, edi
je 0x40331e
cmp eax, dword [ebp + 0x70]
jle 0x403311
mov dword [ebp + 0x70], eax
cmp dword [0x424c5c], 1
jg 0x40348c
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x58]
jl 0x402ac7
mov ecx, dword [0x424b78]
push 0
push dword [ebp]
push dword [ebp - 4]
call fcn.00403c6f
mov ecx, dword [0x424b78]
call fcn.0040372b
push 0x2000
push dword [0x424b54]
mov dword [0x424b98], eax
mov dword [0x424b9c], edx
call fcn.00404529
mov eax, dword [ebp - 8]
inc dword [ebp + 0x38]
cmp dword [ebp + 0x64], 0
mov dword [0x424b58], eax
mov eax, dword [ebp + 8]
mov dword [0x424b60], eax
mov eax, dword [ebp + 0xc]
mov dword [0x424b64], eax
je 0x402631
mov edi, 0x400
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
call fcn.0040ca6d
test al, al
je 0x4034ec
mov esi, dword [ebp + 0x2c]
add esi, 0x10
xor ebx, ebx
mov eax, dword [esi - 0x10]
mov dword [ebp + 0x18], eax
mov eax, dword [esi - 0xc]
mov dword [ebp + 0x1c], eax
mov eax, dword [esi - 8]
mov dword [ebp + 0x50], eax
mov eax, dword [esi - 4]
mov dword [ebp + 0x54], eax
mov eax, dword [esi]
mov dword [ebp + 0x5c], eax
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x8c]
mov dword [ebp + 0x60], eax
call fcn.0040cbba
lea ecx, [ebp - 0x68]
call fcn.0040cbba
lea ecx, [ebp - 0x44]
call fcn.0040cbba
cmp dword [0x43219c], ebx
je 0x403408
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040cbc0
cmp dword [0x4321a0], ebx
je 0x403426
cmp dword [ebp + 0x54], ebx
jne 0x40341a
cmp dword [ebp + 0x50], ebx
je 0x403426
lea eax, [ebp + 0x50]
push eax
lea ecx, [ebp - 0x68]
call fcn.0040cbc0
cmp dword [0x4321a4], ebx
je 0x403444
cmp dword [ebp + 0x60], ebx
jne 0x403438
cmp dword [ebp + 0x5c], ebx
je 0x403444
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040cbc0
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x9dc]
push eax
push ebx
call fcn.00404261
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
add esi, 0x18
call fcn.0040ca6d
test al, al
jne 0x4033b3
jmp 0x4034ee
push edi
call fcn.00409c31
pop ecx
jmp 0x40338b
lea ecx, [ebp - 0x124]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4034ac
push dword [ebp - 0x134]
call fcn.00408d67
cmp dword [ebp + 0x2c], esi
je 0x4034b9
push dword [ebp + 0x2c]
call fcn.00408d67
lea ecx, [ebp - 0x1cc]
call fcn.0040146d
cmp dword [ebp - 0x1dc], esi
je 0x4034d7
push dword [ebp - 0x1dc]
call fcn.00408d67
cmp dword [ebp + 0x20], esi
je 0x4034e4
push dword [ebp + 0x20]
call fcn.00408d67
mov eax, dword [ebp + 0x70]
jmp 0x4035fc
xor ebx, ebx
cmp byte [0x42dd82], 0
jne 0x403526
cmp dword [ebp + 0x3c], ebx
je 0x403526
cmp byte [0x425524], 0
jne 0x403526
push 0xa0
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
mov ebx, dword [ebp + 0x70]
pop ecx
pop ecx
test ebx, ebx
jne 0x403529
inc ebx
jmp 0x403529
mov ebx, dword [ebp + 0x70]
mov edi, dword [ebp + 0x44]
movzx esi, word [ebp + 0x4c]
inc edi
cmp edi, esi
jne 0x40355e
cmp byte [0x4325b9], 0x49
je 0x40355e
cmp dword [0x4254a8], 0
jne 0x40355e
push 0x343
call fcn.00408cd2
push eax
push 0x4335ea
call fcn.0040a184
pop ecx
pop ecx
test edi, edi
jne 0x403578
cmp ebx, 1
jg 0x403578
xor ax, ax
cmp ax, word [ebp + 0x48]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x4035a2
cmp edi, esi
jne 0x403585
cmp ebx, 1
jg 0x403585
push 0x52
jmp 0x403593
cmp word [ebp + 0x48], 0
jbe 0x403596
cmp ebx, 1
jg 0x403596
push 0x51
pop ebx
jmp 0x4035a2
cmp word [ebp + 0x4c], 0
jbe 0x4035a2
test ebx, ebx
jne 0x4035a2
inc ebx
lea ecx, [ebp - 0x124]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4035c2
push dword [ebp - 0x134]
call fcn.00408d67
cmp dword [ebp + 0x2c], esi
je 0x4035cf
push dword [ebp + 0x2c]
call fcn.00408d67
lea ecx, [ebp - 0x1cc]
call fcn.0040146d
cmp dword [ebp - 0x1dc], esi
je 0x4035ed
push dword [ebp - 0x1dc]
call fcn.00408d67
cmp dword [ebp + 0x20], esi
je 0x4035fa
push dword [ebp + 0x20]
call fcn.00408d67
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret