Function at 0x4025a3
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.0040245d
lea ecx, [ebp - 0x1dc]
call fcn.0040d3c9
lea ecx, [ebp - 0x134]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
call fcn.0040d3c9
mov eax, dword [ebp + 0x20]
mov dword [0x414b48], eax
mov dword [0x413908], 1
cmp byte [0x42de72], 0
jne 0x40336e
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 0x40264b
cmp byte [0x425524], 0
je 0x402a0d
cmp eax, dword [ebp + 0x24]
jl 0x40265d
mov eax, dword [ebp + 0x58]
inc eax
push eax
lea ecx, [ebp + 0x20]
call fcn.00402523
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x68]
push 4
add ecx, eax
push esi
mov dword [0x414b48], ecx
call fcn.00404665
test eax, eax
je 0x40295a
push 4
push 0x424bb5
push esi
call fcn.00409da5
test eax, eax
jne 0x402966
call fcn.0040907e
xor esi, esi
cmp eax, esi
jne 0x4029ef
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.00404a92
cmp eax, esi
je 0x4026d7
cmp eax, dword [ebp + 0x70]
jle 0x4026cf
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x4029f4
movzx eax, word [0x424c0a]
push esi
push esi
push 3
push eax
call fcn.00404a92
cmp eax, esi
je 0x4026fc
cmp eax, dword [ebp + 0x70]
jle 0x4026f4
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x4029f4
movzx eax, word [0x424c0a]
push esi
push eax
push dword [0x424ba8]
call fcn.00408944
movzx eax, word [0x424c0a]
push 0x424bee
push eax
push dword [0x424ba8]
call fcn.0040d705
movzx eax, word [0x424c0c]
push esi
push esi
push esi
push eax
call fcn.00404a92
cmp eax, esi
je 0x40274c
cmp eax, dword [ebp + 0x70]
jle 0x402744
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x4029f4
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.004023bb
test al, al
je 0x402797
push 0x400
push ebx
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040dbb7
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.00409b3d
mov eax, dword [0x414b48]
push 8
push 0
add eax, 0x38
push eax
call fcn.00409b3d
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.004022e8
movzx esi, word [0x424c0a]
mov eax, dword [0x424ba8]
mov edi, eax
test esi, esi
je 0x402821
test eax, eax
jne 0x402857
mov byte [ebp + 0x77], 0
jmp 0x40287b
push edi
call fcn.00404cdb
movzx eax, ax
mov dword [ebp + 0x40], eax
lea eax, [edi + 2]
push eax
call fcn.00404cdb
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x402821
cmp dword [ebp + 0x40], 0x17
je 0x40285e
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402827
jmp 0x402821
push ebx
push 0xb0
mov byte [ebp + 0x77], 1
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
add esp, 0xc
lea ecx, [ebp - 0xec4]
call fcn.00402560
push 0xce8
xor edi, edi
push edi
lea eax, [ebp - 0xec4]
push eax
call fcn.00409b3d
mov esi, 0x400
push esi
push ebx
lea eax, [ebp - 0xa94]
push eax
call fcn.0040d0fa
push esi
lea eax, [ebp - 0xe94]
push eax
lea eax, [ebp - 0xa94]
push eax
call fcn.00407996
mov eax, dword [0x414b48]
add eax, 0x28
push eax
lea ecx, [ebp - 0x280]
call fcn.0040d5c1
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 0x402943
push 5
push edi
lea eax, [ebp - 0xec4]
push eax
mov ecx, 0x42efd8
call fcn.004014e3
test eax, eax
je 0x402943
call fcn.00401d6f
test eax, eax
je 0x402940
cmp byte [ebp + 0x6f], 0
mov eax, ebx
jne 0x40292b
mov eax, 0x40f308
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0040d3f6
inc dword [ebp + 0x58]
add dword [ebp + 0x68], 0x48
jmp 0x402943
inc dword [ebp + 0x48]
add dword [ebp + 0x50], 1
lea ecx, [ebp - 0x294]
adc dword [ebp + 0x54], edi
call fcn.0040146d
jmp 0x40262e
mov dword [ebp + 0x70], 0x33
jmp 0x402a0a
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 0x4029aa
cmp ecx, edx
jne 0x40298a
cmp dword [0x424c34], ebx
je 0x4029aa
push 0xa0
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x402a0a
push 0x40f304
lea eax, [ebp + 0x11]
push eax
mov byte [ebp + 0x10], 0x50
call fcn.00409cdf
push 4
push 0x424bba
push esi
call fcn.00409da5
test eax, eax
je 0x4029ea
cmp byte [0x42552c], bl
je 0x4029e5
push 4
lea eax, [ebp + 0x10]
push eax
push esi
call fcn.00409da5
test eax, eax
je 0x4029ea
mov dword [ebp + 0x3c], edi
jmp 0x402a0a
and dword [ebp + 0x3c], ebx
jmp 0x402a0a
mov dword [ebp + 0x70], eax
jmp 0x402a0a
push ebx
push 0x68
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
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 0x402a91
and dword [0x425528], 0
cmp byte [0x4332da], 0
je 0x402a5d
push 0x40f300
push 0x4332da
call fcn.00407e3f
cmp word [0x4336da], 0
je 0x402a76
push 0x40f2f8
push 0x4336da
call fcn.00407e7e
mov ecx, dword [0x424b78]
test ecx, ecx
je 0x402a85
mov eax, dword [ecx]
push edi
call dword [eax]
and dword [0x424b78], 0
call fcn.00404399
and dword [ebp + 0x68], 0
cmp dword [ebp + 0x58], 0
jle 0x403310
mov eax, dword [ebp + 0x38]
shl eax, 6
mov dword [ebp + 0x40], eax
jmp 0x402aad
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.0040d448
cmp byte [0x425524], 0
mov dword [ebp + 4], eax
je 0x402b87
mov eax, dword [0x414b48]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x425528]
je 0x402b87
movzx ecx, word [0x424c20]
cmp eax, ecx
jne 0x402b2e
cmp byte [0x4332da], 0
je 0x402b13
push 0x40f2f4
push 0x4332da
call fcn.00407e3f
cmp word [0x4336da], 0
je 0x402b5e
push 0x40f2ec
push 0x4336da
call fcn.00407e7e
jmp 0x402b5e
cmp byte [0x4332da], 0
je 0x402b42
push eax
push 0x4332da
call fcn.00402272
cmp word [0x4336da], 0
je 0x402b5e
mov eax, dword [0x414b48]
push dword [eax + 0x20]
push 0x4336da
call fcn.004022ac
mov eax, dword [0x414b48]
mov ecx, dword [0x424b78]
mov eax, dword [eax + 0x20]
mov dword [0x425528], eax
test ecx, ecx
je 0x402b7b
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x424b78], 0
call fcn.00404399
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 0x402c5e
jl 0x402bc7
test edi, edi
jae 0x402c5e
push 0xa0
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
cmp dword [ebp + 0x44], 0
pop ecx
pop ecx
mov dword [ebp + 0x70], 2
jne 0x402c52
mov eax, dword [0x424ba0]
mov ecx, dword [0x424ba4]
mov edx, eax
or edx, ecx
je 0x402c52
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 0x402c5e
jl 0x402c3b
test edi, edi
jae 0x402c5e
push 0xa0
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x403301
cmp eax, dword [0x424b98]
jne 0x402c9f
cmp ecx, dword [0x424b9c]
jne 0x402c9f
cmp byte [0x425524], 0
jne 0x402c9f
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 0x402d0e
xor edi, edi
push edi
push ecx
mov ecx, dword [0x424b78]
push eax
call fcn.00403c52
mov ecx, dword [0x424b78]
call fcn.0040370e
push 0x2000
push dword [0x424b54]
mov dword [0x424b98], eax
mov dword [0x424b9c], edx
call fcn.0040450c
cdq
cmp edx, edi
mov dword [0x424b60], eax
mov dword [0x424b64], edx
jg 0x402cf3
jl 0x402c3b
cmp eax, edi
jbe 0x402c3b
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.00404665
test eax, eax
je 0x402c3b
push 4
push 0x424bb0
push ebx
call fcn.00409da5
mov esi, 0xa0
test eax, eax
je 0x402de2
push esi
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
mov eax, dword [0x424ba0]
pop ecx
pop ecx
mov ecx, dword [0x424ba4]
mov dword [ebp + 0x70], 2
cmp dword [ebp + 0x44], edi
jne 0x402d6d
mov edx, eax
or edx, ecx
jne 0x402dce
or eax, ecx
jne 0x403301
mov eax, dword [ebp + 0x5c]
or eax, dword [ebp + 0x60]
je 0x403301
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.0040485f
test eax, eax
jne 0x402dc8
push 4
push ebx
call fcn.00404665
test eax, eax
je 0x402dc8
push 4
push 0x424bb0
push ebx
call fcn.00409da5
test eax, eax
je 0x402de2
push esi
jmp 0x402c40
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], ecx
mov dword [0x424ba0], edi
mov dword [0x424ba4], edi
jmp 0x402d98
call fcn.00408ac5
mov ebx, eax
cmp ebx, edi
je 0x402e08
push esi
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
pop ecx
pop ecx
mov dword [ebp + 0x70], ebx
jmp 0x403301
xor eax, eax
push edi
mov word [0x424c8c], ax
movzx eax, word [0x424be0]
push 0x424bc2
push 2
push eax
call fcn.00404a92
cmp eax, edi
je 0x402e55
cmp eax, dword [ebp + 0x70]
jle 0x402e31
mov dword [ebp + 0x70], eax
cmp eax, 1
jle 0x402e55
push 0x424c8c
push 0x68
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
add esp, 0xc
jmp 0x403301
mov eax, dword [0x424ba8]
cmp eax, edi
je 0x402e6a
push eax
call fcn.004099fd
mov dword [0x424ba8], edi
movzx eax, word [0x424be2]
push edi
push edi
push 3
push eax
call fcn.00404a92
cmp eax, edi
je 0x402e8c
cmp eax, dword [ebp + 0x70]
jle 0x402e87
mov dword [ebp + 0x70], eax
cmp eax, 1
jg 0x402e36
movzx eax, word [0x424be2]
push 1
push eax
push dword [0x424ba8]
call fcn.00408944
mov ecx, dword [0x424ba8]
push 0x1800
lea eax, [ebp - 0x26c4]
push eax
movzx eax, word [0x424be2]
push dword [0x42548c]
call fcn.004023bb
mov esi, 0x424c8c
test al, al
je 0x402ee0
push 0x400
push esi
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040dbb7
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.004022e8
test al, al
je 0x402f6c
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.0040d705
mov eax, dword [ebp + 4]
cmp eax, edi
je 0x402f9c
cmp word [eax], di
je 0x402f9c
push 0x400
push eax
push esi
call fcn.0040d0fa
push esi
call fcn.004076b7
cmp word [eax], 0x5c
sete byte [ebp + 0x77]
cmp byte [ebp + 0x77], 0
je 0x402fb5
xor ecx, ecx
mov word [eax], cx
cmp word [0x424c8c], di
je 0x402fe8
cmp word [0x424c8e], di
je 0x402fe8
mov eax, 0x424c90
cmp word [0x424c90], di
je 0x402fe8
cmp word [eax], 0x3a
jne 0x402fe1
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], di
jne 0x402fd5
push esi
push esi
call fcn.00407b86
mov eax, dword [0x414b48]
test byte [eax + 0x24], 0x10
je 0x403012
mov ecx, dword [eax + 0x10]
or ecx, dword [eax + 0x14]
jne 0x403012
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x40300e
cmp eax, 0xb
jne 0x403012
mov byte [ebp + 0x77], 1
cmp byte [0x4326a9], 0x49
push edi
sete al
movzx eax, al
push eax
movzx eax, byte [0x431dc2]
push eax
push esi
push edi
call fcn.0040a735
test al, al
je 0x403310
cmp byte [0x431dc2], 0
jne 0x40314d
xor ebx, ebx
cmp byte [ebp + 0x77], bl
jne 0x40319f
push esi
call fcn.00404a1b
cmp eax, 0xffffffff
je 0x403135
cmp eax, edi
je 0x403090
cmp eax, 1
jne 0x40314d
mov eax, dword [0x431d00]
cmp eax, 2
je 0x403301
cmp byte [0x431d21], 0
jne 0x40308c
cmp byte [0x431d20], 0
je 0x40309e
test ebx, ebx
jmp 0x403098
mov eax, dword [0x431d00]
cmp eax, 2
je 0x403301
xor edi, edi
cmp eax, edi
je 0x4030ad
cmp eax, 3
jne 0x403148
mov esi, 0x424c8c
push esi
lea eax, [ebp - 0x9dc]
push eax
call fcn.00409e4a
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.0040b587
cmp al, 0x43
je 0x403310
cmp al, 0x41
je 0x4032a3
cmp al, 0x4e
je 0x403301
cmp al, 0x52
je 0x403119
cmp al, 0x59
je 0x403146
cmp al, 0x72
je 0x403119
cmp al, 0x79
je 0x403146
xor edi, edi
jmp 0x4030ad
lea eax, [ebp - 0x9dc]
push eax
mov esi, 0x424c8c
push esi
call fcn.00409e4a
xor ebx, ebx
inc ebx
xor edi, edi
jmp 0x403050
cmp byte [0x431d20], 0
je 0x40314d
cmp ebx, edi
je 0x403301
xor edi, edi
mov esi, 0x424c8c
mov eax, dword [0x414b48]
test byte [eax + 0x40], 1
je 0x4032dd
call fcn.0040db47
cmp eax, edi
je 0x4032dd
cmp eax, 9
je 0x403463
cmp eax, 1
jne 0x4032cd
cmp dword [0x4138e8], edi
jne 0x4032c8
cmp dword [0x4254a8], edi
je 0x4032b2
push edi
call fcn.0040a6f3
pop ecx
jmp 0x4032c8
cmp byte [0x431d20], 0
jne 0x403301
cmp word [0x424c8c], 0
je 0x403301
cmp dword [0x431d24], 1
je 0x403301
mov eax, dword [0x414b48]
mov ecx, dword [eax + 0x1c]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
je 0x4031dc
cmp ecx, 0xb
jne 0x4031df
mov edi, dword [eax + 0x24]
mov esi, 0x424c8c
push esi
call fcn.00403ef5
test al, al
jne 0x403259
cmp byte [0x431d67], al
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00404123
test eax, eax
je 0x403259
push 1
push esi
call fcn.0040418f
cmp byte [0x431d67], 0
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00404123
test eax, eax
je 0x403259
push esi
push 0x6f
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
add esp, 0xc
push esi
mov esi, 0x42efb8
push ebx
mov ecx, esi
call fcn.0040194f
mov ecx, esi
call fcn.00401a4a
jmp 0x403301
push esi
lea ecx, [ebp - 0x134]
call fcn.0040d3f6
push dword [0x425494]
lea ecx, [ebp + 0x2c]
push dword [0x425490]
call fcn.0040253d
push dword [0x4254a4]
lea ecx, [ebp + 0x2c]
push dword [0x4254a0]
call fcn.0040253d
push dword [0x42549c]
lea ecx, [ebp + 0x2c]
push dword [0x425498]
call fcn.0040253d
jmp 0x403301
mov dword [0x431d00], 1
jmp 0x40314d
push esi
push 0x73
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
add esp, 0xc
inc dword [ebp + 0x4c]
jmp 0x403301
cmp eax, dword [ebp + 0x70]
jle 0x4032d5
mov dword [ebp + 0x70], eax
push esi
push 0x73
jmp 0x402e3d
mov dword [0x424c5c], edi
call fcn.00401e7d
cmp eax, edi
je 0x403301
cmp eax, dword [ebp + 0x70]
jle 0x4032f4
mov dword [ebp + 0x70], eax
cmp dword [0x424c5c], 1
jg 0x40346f
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x58]
jl 0x402aaa
mov ecx, dword [0x424b78]
push 0
push dword [ebp]
push dword [ebp - 4]
call fcn.00403c52
mov ecx, dword [0x424b78]
call fcn.0040370e
push 0x2000
push dword [0x424b54]
mov dword [0x424b98], eax
mov dword [0x424b9c], edx
call fcn.0040450c
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 0x402614
mov edi, 0x400
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
call fcn.0040d46e
test al, al
je 0x4034cf
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.0040d5bb
lea ecx, [ebp - 0x68]
call fcn.0040d5bb
lea ecx, [ebp - 0x44]
call fcn.0040d5bb
cmp dword [0x43228c], ebx
je 0x4033eb
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040d5c1
cmp dword [0x432290], ebx
je 0x403409
cmp dword [ebp + 0x54], ebx
jne 0x4033fd
cmp dword [ebp + 0x50], ebx
je 0x403409
lea eax, [ebp + 0x50]
push eax
lea ecx, [ebp - 0x68]
call fcn.0040d5c1
cmp dword [0x432294], ebx
je 0x403427
cmp dword [ebp + 0x60], ebx
jne 0x40341b
cmp dword [ebp + 0x5c], ebx
je 0x403427
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040d5c1
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.00404244
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
add esi, 0x18
call fcn.0040d46e
test al, al
jne 0x403396
jmp 0x4034d1
push edi
call fcn.0040a6f3
pop ecx
jmp 0x40336e
lea ecx, [ebp - 0x124]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x40348f
push dword [ebp - 0x134]
call fcn.004099fd
cmp dword [ebp + 0x2c], esi
je 0x40349c
push dword [ebp + 0x2c]
call fcn.004099fd
lea ecx, [ebp - 0x1cc]
call fcn.0040146d
cmp dword [ebp - 0x1dc], esi
je 0x4034ba
push dword [ebp - 0x1dc]
call fcn.004099fd
cmp dword [ebp + 0x20], esi
je 0x4034c7
push dword [ebp + 0x20]
call fcn.004099fd
mov eax, dword [ebp + 0x70]
jmp 0x4035df
xor ebx, ebx
cmp byte [0x42de72], 0
jne 0x403509
cmp dword [ebp + 0x3c], ebx
je 0x403509
cmp byte [0x425524], 0
jne 0x403509
push 0xa0
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
mov ebx, dword [ebp + 0x70]
pop ecx
pop ecx
test ebx, ebx
jne 0x40350c
inc ebx
jmp 0x40350c
mov ebx, dword [ebp + 0x70]
mov edi, dword [ebp + 0x44]
movzx esi, word [ebp + 0x4c]
inc edi
cmp edi, esi
jne 0x403541
cmp byte [0x4326a9], 0x49
je 0x403541
cmp dword [0x4254a8], 0
jne 0x403541
push 0x343
call fcn.00409968
push eax
push 0x4336da
call fcn.0040ac1e
pop ecx
pop ecx
test edi, edi
jne 0x40355b
cmp ebx, 1
jg 0x40355b
xor ax, ax
cmp ax, word [ebp + 0x48]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x403585
cmp edi, esi
jne 0x403568
cmp ebx, 1
jg 0x403568
push 0x52
jmp 0x403576
cmp word [ebp + 0x48], 0
jbe 0x403579
cmp ebx, 1
jg 0x403579
push 0x51
pop ebx
jmp 0x403585
cmp word [ebp + 0x4c], 0
jbe 0x403585
test ebx, ebx
jne 0x403585
inc ebx
lea ecx, [ebp - 0x124]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4035a5
push dword [ebp - 0x134]
call fcn.004099fd
cmp dword [ebp + 0x2c], esi
je 0x4035b2
push dword [ebp + 0x2c]
call fcn.004099fd
lea ecx, [ebp - 0x1cc]
call fcn.0040146d
cmp dword [ebp - 0x1dc], esi
je 0x4035d0
push dword [ebp - 0x1dc]
call fcn.004099fd
cmp dword [ebp + 0x20], esi
je 0x4035dd
push dword [ebp + 0x20]
call fcn.004099fd
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret