Function at 0x4025b0
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.0040246a
lea ecx, [ebp - 0x1dc]
call fcn.0040c967
lea ecx, [ebp - 0x134]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
call fcn.0040c967
mov eax, dword [ebp + 0x20]
mov dword [0x414b48], eax
mov dword [0x413908], 1
cmp byte [0x42dd82], 0
jne 0x403389
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 0x402658
cmp byte [0x425524], 0
je 0x402a23
cmp eax, dword [ebp + 0x24]
jl 0x40266a
mov eax, dword [ebp + 0x58]
inc eax
push eax
lea ecx, [ebp + 0x20]
call fcn.00402530
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x68]
push 4
add ecx, eax
push esi
mov dword [0x414b48], ecx
call fcn.00404680
test eax, eax
je 0x402970
push 4
push 0x424bb5
push esi
call fcn.004090ae
test eax, eax
jne 0x40297c
call fcn.00408387
xor esi, esi
cmp eax, esi
jne 0x402a05
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.00404a44
cmp eax, esi
je 0x4026e4
cmp eax, dword [ebp + 0x70]
jle 0x4026dc
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402a0a
movzx eax, word [0x424c0a]
push esi
push esi
push 3
push eax
call fcn.00404a44
cmp eax, esi
je 0x402709
cmp eax, dword [ebp + 0x70]
jle 0x402701
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402a0a
movzx eax, word [0x424c0a]
push esi
push eax
push dword [0x424ba8]
call fcn.00407c4d
movzx eax, word [0x424c0a]
push 0x424bee
push eax
push dword [0x424ba8]
call fcn.0040cca3
movzx eax, word [0x424c0c]
push esi
push esi
push esi
push eax
call fcn.00404a44
cmp eax, esi
je 0x402759
cmp eax, dword [ebp + 0x70]
jle 0x402751
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402a0a
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 0x4027ad
mov edi, 0x400
push edi
push ebx
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040d18e
push edi
push esi
push ebx
call fcn.00406ab3
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.00408e46
mov eax, dword [0x414b48]
push 8
push 0
add eax, 0x38
push eax
call fcn.00408e46
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 0x402837
test eax, eax
jne 0x40286d
mov byte [ebp + 0x77], 0
jmp 0x402891
push edi
call fcn.00404c8d
movzx eax, ax
mov dword [ebp + 0x40], eax
lea eax, [edi + 2]
push eax
call fcn.00404c8d
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x402837
cmp dword [ebp + 0x40], 0x17
je 0x402874
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x40283d
jmp 0x402837
push ebx
push 0xb0
mov byte [ebp + 0x77], 1
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
add esp, 0xc
lea ecx, [ebp - 0xec4]
call fcn.0040256d
push 0xce8
xor edi, edi
push edi
lea eax, [ebp - 0xec4]
push eax
call fcn.00408e46
mov esi, 0x400
push esi
push ebx
lea eax, [ebp - 0xa94]
push eax
call fcn.0040c658
push esi
lea eax, [ebp - 0xe94]
push eax
lea eax, [ebp - 0xa94]
push eax
call fcn.00406cfe
mov eax, dword [0x414b48]
add eax, 0x28
push eax
lea ecx, [ebp - 0x280]
call fcn.0040cb5f
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 0x402959
push 5
push edi
lea eax, [ebp - 0xec4]
push eax
mov ecx, 0x42eee8
call fcn.004014e3
test eax, eax
je 0x402959
call fcn.00401d8c
test eax, eax
je 0x402956
cmp byte [ebp + 0x6f], 0
mov eax, ebx
jne 0x402941
mov eax, 0x40f308
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0040c994
inc dword [ebp + 0x58]
add dword [ebp + 0x68], 0x48
jmp 0x402959
inc dword [ebp + 0x48]
add dword [ebp + 0x50], 1
lea ecx, [ebp - 0x294]
adc dword [ebp + 0x54], edi
call fcn.0040146d
jmp 0x40263b
mov dword [ebp + 0x70], 0x33
jmp 0x402a20
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 0x4029c0
cmp ecx, edx
jne 0x4029a0
cmp dword [0x424c34], ebx
je 0x4029c0
push 0xa0
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x402a20
push 0x40f304
lea eax, [ebp + 0x11]
push eax
mov byte [ebp + 0x10], 0x50
call fcn.00408fe8
push 4
push 0x424bba
push esi
call fcn.004090ae
test eax, eax
je 0x402a00
cmp byte [0x42552c], bl
je 0x4029fb
push 4
lea eax, [ebp + 0x10]
push eax
push esi
call fcn.004090ae
test eax, eax
je 0x402a00
mov dword [ebp + 0x3c], edi
jmp 0x402a20
and dword [ebp + 0x3c], ebx
jmp 0x402a20
mov dword [ebp + 0x70], eax
jmp 0x402a20
push ebx
push 0x68
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
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 0x402aa7
and dword [0x425528], 0
cmp byte [0x4331ea], 0
je 0x402a73
push 0x40f300
push 0x4331ea
call fcn.00407148
cmp word [0x4335ea], 0
je 0x402a8c
push 0x40f2f8
push 0x4335ea
call fcn.00407187
mov ecx, dword [0x424b78]
test ecx, ecx
je 0x402a9b
mov eax, dword [ecx]
push edi
call dword [eax]
and dword [0x424b78], 0
call fcn.004043b4
and dword [ebp + 0x68], 0
cmp dword [ebp + 0x58], 0
jle 0x40332b
mov eax, dword [ebp + 0x38]
shl eax, 6
mov dword [ebp + 0x40], eax
jmp 0x402ac3
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.0040c9e6
cmp byte [0x425524], 0
mov dword [ebp + 4], eax
je 0x402b9d
mov eax, dword [0x414b48]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x425528]
je 0x402b9d
movzx ecx, word [0x424c20]
cmp eax, ecx
jne 0x402b44
cmp byte [0x4331ea], 0
je 0x402b29
push 0x40f2f4
push 0x4331ea
call fcn.00407148
cmp word [0x4335ea], 0
je 0x402b74
push 0x40f2ec
push 0x4335ea
call fcn.00407187
jmp 0x402b74
cmp byte [0x4331ea], 0
je 0x402b58
push eax
push 0x4331ea
call fcn.0040228f
cmp word [0x4335ea], 0
je 0x402b74
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 0x402b91
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x424b78], 0
call fcn.004043b4
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 0x402c74
jl 0x402bdd
test edi, edi
jae 0x402c74
push 0xa0
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
cmp dword [ebp + 0x44], 0
pop ecx
pop ecx
mov dword [ebp + 0x70], 2
jne 0x402c68
mov eax, dword [0x424ba0]
mov ecx, dword [0x424ba4]
mov edx, eax
or edx, ecx
je 0x402c68
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 0x402c74
jl 0x402c51
test edi, edi
jae 0x402c74
push 0xa0
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x40331c
cmp eax, dword [0x424b98]
jne 0x402cb5
cmp ecx, dword [0x424b9c]
jne 0x402cb5
cmp byte [0x425524], 0
jne 0x402cb5
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 0x402d24
xor edi, edi
push edi
push ecx
mov ecx, dword [0x424b78]
push eax
call fcn.00403c6d
mov ecx, dword [0x424b78]
call fcn.00403729
push 0x2000
push dword [0x424b54]
mov dword [0x424b98], eax
mov dword [0x424b9c], edx
call fcn.00404527
cdq
cmp edx, edi
mov dword [0x424b60], eax
mov dword [0x424b64], edx
jg 0x402d09
jl 0x402c51
cmp eax, edi
jbe 0x402c51
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.00404680
test eax, eax
je 0x402c51
push 4
push 0x424bb0
push ebx
call fcn.004090ae
mov esi, 0xa0
test eax, eax
je 0x402df8
push esi
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
mov eax, dword [0x424ba0]
pop ecx
pop ecx
mov ecx, dword [0x424ba4]
mov dword [ebp + 0x70], 2
cmp dword [ebp + 0x44], edi
jne 0x402d83
mov edx, eax
or edx, ecx
jne 0x402de4
or eax, ecx
jne 0x40331c
mov eax, dword [ebp + 0x5c]
or eax, dword [ebp + 0x60]
je 0x40331c
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.0040487a
test eax, eax
jne 0x402dde
push 4
push ebx
call fcn.00404680
test eax, eax
je 0x402dde
push 4
push 0x424bb0
push ebx
call fcn.004090ae
test eax, eax
je 0x402df8
push esi
jmp 0x402c56
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], ecx
mov dword [0x424ba0], edi
mov dword [0x424ba4], edi
jmp 0x402dae
call fcn.00407dce
mov ebx, eax
cmp ebx, edi
je 0x402e1e
push esi
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
pop ecx
pop ecx
mov dword [ebp + 0x70], ebx
jmp 0x40331c
xor eax, eax
push edi
mov word [0x424c8c], ax
movzx eax, word [0x424be0]
push 0x424bc2
push 2
push eax
call fcn.00404a44
cmp eax, edi
je 0x402e6b
cmp eax, dword [ebp + 0x70]
jle 0x402e47
mov dword [ebp + 0x70], eax
cmp eax, 1
jle 0x402e6b
push 0x424c8c
push 0x68
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
add esp, 0xc
jmp 0x40331c
mov eax, dword [0x424ba8]
cmp eax, edi
je 0x402e80
push eax
call fcn.00408d06
mov dword [0x424ba8], edi
movzx eax, word [0x424be2]
push edi
push edi
push 3
push eax
call fcn.00404a44
cmp eax, edi
je 0x402ea2
cmp eax, dword [ebp + 0x70]
jle 0x402e9d
mov dword [ebp + 0x70], eax
cmp eax, 1
jg 0x402e4c
movzx eax, word [0x424be2]
push 1
push eax
push dword [0x424ba8]
call fcn.00407c4d
mov ecx, dword [0x424ba8]
push 0x1800
lea eax, [ebp - 0x26c4]
push eax
movzx eax, word [0x424be2]
push dword [0x42548c]
call fcn.004023d8
mov ebx, 0x400
mov esi, 0x424c8c
test al, al
je 0x402eff
push ebx
push esi
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040d18e
push ebx
push edi
push esi
call fcn.00406ab3
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 0x402f8b
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.0040cca3
mov eax, dword [ebp + 4]
cmp eax, edi
je 0x402fb7
cmp word [eax], di
je 0x402fb7
push ebx
push eax
push esi
call fcn.0040c658
push esi
call fcn.00406a1f
cmp word [eax], 0x5c
sete byte [ebp + 0x77]
cmp byte [ebp + 0x77], 0
je 0x402fd0
xor ecx, ecx
mov word [eax], cx
cmp word [0x424c8c], di
je 0x403003
cmp word [0x424c8e], di
je 0x403003
mov eax, 0x424c90
cmp word [0x424c90], di
je 0x403003
cmp word [eax], 0x3a
jne 0x402ffc
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], di
jne 0x402ff0
push esi
push esi
call fcn.00406eee
mov eax, dword [0x414b48]
test byte [eax + 0x24], 0x10
je 0x40302d
mov ecx, dword [eax + 0x10]
or ecx, dword [eax + 0x14]
jne 0x40302d
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x403029
cmp eax, 0xb
jne 0x40302d
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.00409c12
test al, al
je 0x40332b
cmp byte [0x431cd2], 0
jne 0x403168
xor ebx, ebx
cmp byte [ebp + 0x77], bl
jne 0x4031ba
push esi
call fcn.004049cd
cmp eax, 0xffffffff
je 0x403150
cmp eax, edi
je 0x4030ab
cmp eax, 1
jne 0x403168
mov eax, dword [0x431c10]
cmp eax, 2
je 0x40331c
cmp byte [0x431c31], 0
jne 0x4030a7
cmp byte [0x431c30], 0
je 0x4030b9
test ebx, ebx
jmp 0x4030b3
mov eax, dword [0x431c10]
cmp eax, 2
je 0x40331c
xor edi, edi
cmp eax, edi
je 0x4030c8
cmp eax, 3
jne 0x403163
mov esi, 0x424c8c
push esi
lea eax, [ebp - 0x9dc]
push eax
call fcn.00409153
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.0040aa8c
cmp al, 0x43
je 0x40332b
cmp al, 0x41
je 0x4032be
cmp al, 0x4e
je 0x40331c
cmp al, 0x52
je 0x403134
cmp al, 0x59
je 0x403161
cmp al, 0x72
je 0x403134
cmp al, 0x79
je 0x403161
xor edi, edi
jmp 0x4030c8
lea eax, [ebp - 0x9dc]
push eax
mov esi, 0x424c8c
push esi
call fcn.00409153
xor ebx, ebx
inc ebx
xor edi, edi
jmp 0x40306b
cmp byte [0x431c30], 0
je 0x403168
cmp ebx, edi
je 0x40331c
xor edi, edi
mov esi, 0x424c8c
mov eax, dword [0x414b48]
test byte [eax + 0x40], 1
je 0x4032f8
call fcn.0040d11e
cmp eax, edi
je 0x4032f8
cmp eax, 9
je 0x40347e
cmp eax, 1
jne 0x4032e8
cmp dword [0x4138e8], edi
jne 0x4032e3
cmp dword [0x4254a8], edi
je 0x4032cd
push edi
call fcn.00409bd0
pop ecx
jmp 0x4032e3
cmp byte [0x431c30], 0
jne 0x40331c
cmp word [0x424c8c], 0
je 0x40331c
cmp dword [0x431c34], 1
je 0x40331c
mov eax, dword [0x414b48]
mov ecx, dword [eax + 0x1c]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
je 0x4031f7
cmp ecx, 0xb
jne 0x4031fa
mov edi, dword [eax + 0x24]
mov esi, 0x424c8c
push esi
call fcn.00403f10
test al, al
jne 0x403274
cmp byte [0x431c77], al
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.0040413e
test eax, eax
je 0x403274
push 1
push esi
call fcn.004041aa
cmp byte [0x431c77], 0
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.0040413e
test eax, eax
je 0x403274
push esi
push 0x6f
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
add esp, 0xc
push esi
mov esi, 0x42ddbc
push ebx
mov ecx, esi
call fcn.0040194b
mov ecx, esi
call fcn.00401a46
jmp 0x40331c
push esi
lea ecx, [ebp - 0x134]
call fcn.0040c994
push dword [0x425494]
lea ecx, [ebp + 0x2c]
push dword [0x425490]
call fcn.0040254a
push dword [0x4254a4]
lea ecx, [ebp + 0x2c]
push dword [0x4254a0]
call fcn.0040254a
push dword [0x42549c]
lea ecx, [ebp + 0x2c]
push dword [0x425498]
call fcn.0040254a
jmp 0x40331c
mov dword [0x431c10], 1
jmp 0x403168
push esi
push 0x73
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
add esp, 0xc
inc dword [ebp + 0x4c]
jmp 0x40331c
cmp eax, dword [ebp + 0x70]
jle 0x4032f0
mov dword [ebp + 0x70], eax
push esi
push 0x73
jmp 0x402e53
mov dword [0x424c5c], edi
call fcn.00401e9a
cmp eax, edi
je 0x40331c
cmp eax, dword [ebp + 0x70]
jle 0x40330f
mov dword [ebp + 0x70], eax
cmp dword [0x424c5c], 1
jg 0x40348a
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x58]
jl 0x402ac0
mov ecx, dword [0x424b78]
push 0
push dword [ebp]
push dword [ebp - 4]
call fcn.00403c6d
mov ecx, dword [0x424b78]
call fcn.00403729
push 0x2000
push dword [0x424b54]
mov dword [0x424b98], eax
mov dword [0x424b9c], edx
call fcn.00404527
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 0x402621
mov edi, 0x400
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
call fcn.0040ca0c
test al, al
je 0x4034ea
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.0040cb59
lea ecx, [ebp - 0x68]
call fcn.0040cb59
lea ecx, [ebp - 0x44]
call fcn.0040cb59
cmp dword [0x43219c], ebx
je 0x403406
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040cb5f
cmp dword [0x4321a0], ebx
je 0x403424
cmp dword [ebp + 0x54], ebx
jne 0x403418
cmp dword [ebp + 0x50], ebx
je 0x403424
lea eax, [ebp + 0x50]
push eax
lea ecx, [ebp - 0x68]
call fcn.0040cb5f
cmp dword [0x4321a4], ebx
je 0x403442
cmp dword [ebp + 0x60], ebx
jne 0x403436
cmp dword [ebp + 0x5c], ebx
je 0x403442
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040cb5f
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.0040425f
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
add esi, 0x18
call fcn.0040ca0c
test al, al
jne 0x4033b1
jmp 0x4034ec
push edi
call fcn.00409bd0
pop ecx
jmp 0x403389
lea ecx, [ebp - 0x124]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4034aa
push dword [ebp - 0x134]
call fcn.00408d06
cmp dword [ebp + 0x2c], esi
je 0x4034b7
push dword [ebp + 0x2c]
call fcn.00408d06
lea ecx, [ebp - 0x1cc]
call fcn.0040146d
cmp dword [ebp - 0x1dc], esi
je 0x4034d5
push dword [ebp - 0x1dc]
call fcn.00408d06
cmp dword [ebp + 0x20], esi
je 0x4034e2
push dword [ebp + 0x20]
call fcn.00408d06
mov eax, dword [ebp + 0x70]
jmp 0x4035fa
xor ebx, ebx
cmp byte [0x42dd82], 0
jne 0x403524
cmp dword [ebp + 0x3c], ebx
je 0x403524
cmp byte [0x425524], 0
jne 0x403524
push 0xa0
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
mov ebx, dword [ebp + 0x70]
pop ecx
pop ecx
test ebx, ebx
jne 0x403527
inc ebx
jmp 0x403527
mov ebx, dword [ebp + 0x70]
mov edi, dword [ebp + 0x44]
movzx esi, word [ebp + 0x4c]
inc edi
cmp edi, esi
jne 0x40355c
cmp byte [0x4325b9], 0x49
je 0x40355c
cmp dword [0x4254a8], 0
jne 0x40355c
push 0x343
call fcn.00408c71
push eax
push 0x4335ea
call fcn.0040a123
pop ecx
pop ecx
test edi, edi
jne 0x403576
cmp ebx, 1
jg 0x403576
xor ax, ax
cmp ax, word [ebp + 0x48]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x4035a0
cmp edi, esi
jne 0x403583
cmp ebx, 1
jg 0x403583
push 0x52
jmp 0x403591
cmp word [ebp + 0x48], 0
jbe 0x403594
cmp ebx, 1
jg 0x403594
push 0x51
pop ebx
jmp 0x4035a0
cmp word [ebp + 0x4c], 0
jbe 0x4035a0
test ebx, ebx
jne 0x4035a0
inc ebx
lea ecx, [ebp - 0x124]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4035c0
push dword [ebp - 0x134]
call fcn.00408d06
cmp dword [ebp + 0x2c], esi
je 0x4035cd
push dword [ebp + 0x2c]
call fcn.00408d06
lea ecx, [ebp - 0x1cc]
call fcn.0040146d
cmp dword [ebp - 0x1dc], esi
je 0x4035eb
push dword [ebp - 0x1dc]
call fcn.00408d06
cmp dword [ebp + 0x20], esi
je 0x4035f8
push dword [ebp + 0x20]
call fcn.00408d06
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret