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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
mov eax, 0x2730
call fcn.004012c0
or dword [ebp + 0x48], 0xffffffff
push ebx
push esi
xor esi, esi
push edi
push 0x40
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x60], esi
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x68], esi
call fcn.0040237f
lea ecx, [ebp - 0x1d0]
call fcn.0040cf7d
lea ecx, [ebp - 0x128]
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x38], esi
call fcn.0040cf7d
mov eax, dword [ebp + 0x24]
mov dword [0x411b48], eax
mov dword [0x410908], 1
cmp byte [0x42ae72], 0
jne 0x40329f
and dword [ebp + 0x5c], 0
and dword [ebp + 0x6c], 0
mov ebx, 0x421c8c
mov eax, dword [ebp + 0x5c]
xor edi, edi
inc edi
cmp eax, 0x40
mov esi, 0x41093c
jl 0x40256d
cmp byte [0x422524], 0
je 0x402937
cmp eax, dword [ebp + 0x28]
jl 0x40257f
mov eax, dword [ebp + 0x5c]
inc eax
push eax
lea ecx, [ebp + 0x24]
call fcn.00402445
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x6c]
push 4
add ecx, eax
push esi
mov dword [0x411b48], ecx
call fcn.00404359
test eax, eax
je 0x402884
push 4
push 0x421bb5
push esi
call fcn.0040995f
test eax, eax
jne 0x402890
call fcn.00408b7b
xor esi, esi
cmp eax, esi
jne 0x402919
movzx eax, byte [0x421be9]
push eax
call fcn.0040def9
test al, al
je 0x4025de
mov eax, 0x800
or word [0x421bec], ax
xor eax, eax
mov word [0x421c8c], ax
movzx eax, word [0x421bec]
push eax
movzx eax, word [0x421c08]
push 2
push eax
call fcn.0040473a
cmp eax, esi
je 0x402611
cmp eax, dword [ebp + 0x74]
jle 0x402609
mov dword [ebp + 0x74], eax
cmp eax, edi
jg 0x40291e
movzx eax, word [0x421c0a]
push esi
push 3
push eax
call fcn.0040473a
cmp eax, esi
je 0x402635
cmp eax, dword [ebp + 0x74]
jle 0x40262d
mov dword [ebp + 0x74], eax
cmp eax, edi
jg 0x40291e
movzx eax, word [0x421c0a]
push esi
push eax
push dword [0x421ba8]
call fcn.00408441
movzx eax, word [0x421c0a]
push 0x421bee
push eax
push dword [0x421ba8]
call fcn.0040d2b9
movzx eax, word [0x421c0c]
push esi
push esi
push eax
call fcn.0040473a
cmp eax, esi
je 0x402684
cmp eax, dword [ebp + 0x74]
jle 0x40267c
mov dword [ebp + 0x74], eax
cmp eax, edi
jg 0x40291e
mov eax, dword [0x421bec]
mov ecx, dword [0x421ba8]
shr eax, 0xb
and al, 1
mov byte [ebp + 0x72], al
push 0x1800
lea eax, [ebp - 0x26b8]
push eax
movzx eax, word [0x421c0a]
push dword [0x42248c]
call fcn.004022dd
test al, al
je 0x4026cf
push 0x400
push ebx
lea eax, [ebp - 0x26b8]
push eax
call fcn.0040d76b
mov byte [ebp + 0x72], 1
mov eax, dword [0x411b48]
add eax, 0x28
push eax
movzx eax, word [0x421bf0]
push eax
movzx eax, word [0x421bf2]
push eax
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov eax, dword [0x411b48]
push 8
push 0
add eax, 0x30
push eax
call fcn.004096fc
mov eax, dword [0x411b48]
push 8
push 0
add eax, 0x38
push eax
call fcn.004096fc
mov eax, dword [0x411b48]
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0x30]
push ecx
mov ecx, dword [0x421ba8]
add eax, 0x28
push eax
movzx eax, word [0x421c0a]
call fcn.0040220a
movzx esi, word [0x421c0a]
mov eax, dword [0x421ba8]
mov edi, eax
test esi, esi
je 0x40274b
test eax, eax
jne 0x402781
mov byte [ebp + 0x73], 0
jmp 0x4027a5
push edi
call fcn.00404954
movzx eax, ax
mov dword [ebp + 0x44], eax
lea eax, [edi + 2]
push eax
call fcn.00404954
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x40274b
cmp dword [ebp + 0x44], 0x17
je 0x402788
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402751
jmp 0x40274b
push ebx
push 0xb0
mov byte [ebp + 0x73], 1
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
add esp, 0xc
lea ecx, [ebp - 0xeb8]
call fcn.00402482
push 0xce8
xor edi, edi
push edi
lea eax, [ebp - 0xeb8]
push eax
call fcn.004096fc
mov esi, 0x400
push esi
push ebx
lea eax, [ebp - 0xa88]
push eax
call fcn.0040ccae
push esi
lea eax, [ebp - 0xe88]
push eax
lea eax, [ebp - 0xa88]
push eax
call fcn.00407494
mov eax, dword [0x411b48]
add eax, 0x28
push eax
lea ecx, [ebp - 0x274]
call fcn.0040d175
mov eax, dword [0x421c00]
mov dword [ebp - 0x1d8], eax
mov eax, dword [0x421c04]
mov dword [ebp - 0x1d4], eax
mov eax, 0x200
or word [ebp - 0xeb0], ax
cmp byte [ebp + 0x73], 0
jne 0x40286d
push 5
push edi
lea eax, [ebp - 0xeb8]
push eax
mov ecx, 0x42bfd8
call fcn.004014e3
test eax, eax
je 0x40286d
call fcn.00401c8a
test eax, eax
je 0x40286a
cmp byte [ebp + 0x72], 0
mov eax, ebx
jne 0x402855
mov eax, 0x40e2f8
push eax
lea ecx, [ebp - 0x1d0]
call fcn.0040cfaa
inc dword [ebp + 0x5c]
add dword [ebp + 0x6c], 0x48
jmp 0x40286d
inc dword [ebp + 0x4c]
add dword [ebp + 0x54], 1
lea ecx, [ebp - 0x288]
adc dword [ebp + 0x58], edi
call fcn.0040146d
jmp 0x402550
mov dword [ebp + 0x74], 0x33
jmp 0x402934
mov ecx, dword [0x421c30]
mov eax, ecx
xor eax, dword [ebp + 0x54]
mov edx, 0xffff
and eax, edx
xor ebx, ebx
or eax, ebx
je 0x4028d4
cmp ecx, edx
jne 0x4028b4
cmp dword [0x421c34], ebx
je 0x4028d4
push 0xa0
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
pop ecx
pop ecx
mov dword [ebp + 0x74], 3
jmp 0x402934
push 0x40e2f4
lea eax, [ebp + 0x15]
push eax
mov byte [ebp + 0x14], 0x50
call fcn.00409899
push 4
push 0x421bba
push esi
call fcn.0040995f
test eax, eax
je 0x402914
cmp byte [0x42252c], bl
je 0x40290f
push 4
lea eax, [ebp + 0x14]
push eax
push esi
call fcn.0040995f
test eax, eax
je 0x402914
mov dword [ebp + 0x40], edi
jmp 0x402934
and dword [ebp + 0x40], ebx
jmp 0x402934
mov dword [ebp + 0x74], eax
jmp 0x402934
push ebx
push 0x68
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
add esp, 0xc
mov dword [ebp + 0x68], edi
cmp byte [0x422524], 0
mov eax, dword [0x421b98]
mov dword [ebp - 4], eax
mov eax, dword [0x421b9c]
mov dword [ebp], eax
mov eax, dword [0x421b58]
mov dword [ebp + 4], eax
mov eax, dword [0x421b60]
mov dword [ebp + 0xc], eax
mov eax, dword [0x421b64]
mov dword [ebp + 0x10], eax
je 0x4029bb
and dword [0x422528], 0
cmp byte [0x4302da], 0
je 0x402987
push 0x40e2f0
push 0x4302da
call fcn.0040793d
cmp word [0x4306da], 0
je 0x4029a0
push 0x40e2e8
push 0x4306da
call fcn.0040797c
mov ecx, dword [0x421b78]
test ecx, ecx
je 0x4029af
mov eax, dword [ecx]
push edi
call dword [eax]
and dword [0x421b78], 0
call fcn.00404092
and dword [ebp + 0x6c], 0
cmp dword [ebp + 0x5c], 0
jle 0x403241
mov eax, dword [ebp + 0x3c]
shl eax, 6
mov dword [ebp + 0x44], eax
jmp 0x4029d7
mov eax, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x6c]
add eax, ecx
imul ecx, ecx, 0x48
add ecx, dword [ebp + 0x24]
mov dword [ebp + 0x48], eax
mov dword [0x411b48], ecx
lea ecx, [ebp - 0x1d0]
call fcn.0040cffc
cmp byte [0x422524], 0
mov dword [ebp + 8], eax
je 0x402ab1
mov eax, dword [0x411b48]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x422528]
je 0x402ab1
movzx ecx, word [0x421c20]
cmp eax, ecx
jne 0x402a58
cmp byte [0x4302da], 0
je 0x402a3d
push 0x40e2e4
push 0x4302da
call fcn.0040793d
cmp word [0x4306da], 0
je 0x402a88
push 0x40e2dc
push 0x4306da
call fcn.0040797c
jmp 0x402a88
cmp byte [0x4302da], 0
je 0x402a6c
push eax
push 0x4302da
call fcn.00402194
cmp word [0x4306da], 0
je 0x402a88
mov eax, dword [0x411b48]
push dword [eax + 0x20]
push 0x4306da
call fcn.004021ce
mov eax, dword [0x411b48]
mov ecx, dword [0x421b78]
mov eax, dword [eax + 0x20]
mov dword [0x422528], eax
test ecx, ecx
je 0x402aa5
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x421b78], 0
call fcn.00404092
mov eax, dword [0x411b48]
mov edi, dword [eax]
add edi, dword [0x421ba0]
mov esi, dword [eax + 4]
adc esi, dword [0x421ba4]
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 0x402b88
jl 0x402af1
test edi, edi
jae 0x402b88
push 0xa0
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
cmp dword [ebp + 0x48], 0
pop ecx
pop ecx
mov dword [ebp + 0x74], 2
jne 0x402b7c
mov eax, dword [0x421ba0]
mov ecx, dword [0x421ba4]
mov edx, eax
or edx, ecx
je 0x402b7c
mov dword [ebp + 0x64], ecx
xor ecx, ecx
push ecx
mov dword [ebp + 0x60], eax
mov eax, dword [0x411b48]
mov dword [0x421ba0], ecx
mov dword [0x421ba4], 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 0x402b88
jl 0x402b65
test edi, edi
jae 0x402b88
push 0xa0
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
pop ecx
pop ecx
mov dword [ebp + 0x74], 3
jmp 0x403232
cmp eax, dword [0x421b98]
jne 0x402bc7
cmp ecx, dword [0x421b9c]
jne 0x402bc7
cmp byte [0x422524], 0
jne 0x402bc7
mov eax, dword [0x421b58]
mov ecx, dword [0x421b54]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x421b60], eax
adc dword [0x421b64], edx
add ebx, ecx
mov dword [0x421b58], ebx
jmp 0x402c35
push 0
push ecx
mov ecx, dword [0x421b78]
push eax
call fcn.00403a5e
mov ecx, dword [0x421b78]
call fcn.0040362f
push 0x2000
push dword [0x421b54]
mov dword [0x421b98], eax
mov dword [0x421b9c], edx
call fcn.00404200
cdq
mov dword [0x421b60], eax
mov dword [0x421b64], edx
test edx, edx
jg 0x402c1a
jl 0x402b65
test eax, eax
jbe 0x402b65
mov eax, dword [0x421b54]
add eax, ebx
mov dword [0x421b58], eax
mov eax, ebx
cdq
sub dword [0x421b60], eax
sbb dword [0x421b64], edx
push 4
mov ebx, 0x41093c
push ebx
call fcn.00404359
test eax, eax
je 0x402b65
push 4
push 0x421bb0
push ebx
call fcn.0040995f
mov esi, 0xa0
test eax, eax
je 0x402d17
push esi
call fcn.00409469
push eax
mov edi, 0x4306da
push edi
call fcn.0040a7dd
cmp dword [ebp + 0x48], 0
mov eax, dword [0x421ba0]
pop ecx
pop ecx
mov ecx, dword [0x421ba4]
mov dword [ebp + 0x74], 2
jne 0x402c96
mov edx, eax
or edx, ecx
jne 0x402d01
or eax, ecx
jne 0x403232
mov eax, dword [ebp + 0x60]
or eax, dword [ebp + 0x64]
je 0x403232
mov eax, dword [ebp + 0x60]
mov dword [0x421ba0], eax
mov eax, dword [ebp + 0x64]
mov dword [0x421ba4], eax
mov ebx, 0x41093c
mov edi, 0x4306da
mov eax, dword [0x411b48]
push dword [eax + 4]
push dword [eax]
call fcn.00404553
test eax, eax
jne 0x402cf4
push 4
push ebx
call fcn.00404359
test eax, eax
je 0x402cf4
push 4
push 0x421bb0
push ebx
call fcn.0040995f
test eax, eax
je 0x402d1c
push esi
call fcn.00409469
push eax
push edi
jmp 0x402b75
and dword [0x421ba0], 0
and dword [0x421ba4], 0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], ecx
jmp 0x402cc4
mov edi, 0x4306da
call fcn.004085c2
mov ebx, eax
test ebx, ebx
je 0x402d3e
push esi
call fcn.00409469
push eax
push edi
call fcn.0040a7dd
pop ecx
pop ecx
mov dword [ebp + 0x74], ebx
jmp 0x403232
xor eax, eax
mov word [0x421c8c], ax
movzx eax, word [0x421bc2]
push eax
movzx eax, word [0x421be0]
push 2
push eax
call fcn.0040473a
xor ebx, ebx
cmp eax, ebx
je 0x402d8b
cmp eax, dword [ebp + 0x74]
jle 0x402d6b
mov dword [ebp + 0x74], eax
cmp eax, 1
jle 0x402d8b
push 0x421c8c
push 0x68
call fcn.00409469
push eax
push edi
call fcn.0040a7dd
add esp, 0xc
jmp 0x403232
mov eax, dword [0x421ba8]
cmp eax, ebx
je 0x402da0
push eax
call fcn.004094fe
mov dword [0x421ba8], ebx
movzx eax, word [0x421be2]
push ebx
push 3
push eax
call fcn.0040473a
cmp eax, ebx
je 0x402dc1
cmp eax, dword [ebp + 0x74]
jle 0x402dbc
mov dword [ebp + 0x74], eax
cmp eax, 1
jg 0x402d70
movzx eax, word [0x421be2]
push 1
push eax
push dword [0x421ba8]
call fcn.00408441
mov ecx, dword [0x421ba8]
push 0x1800
lea eax, [ebp - 0x26b8]
push eax
movzx eax, word [0x421be2]
push dword [0x42248c]
call fcn.004022dd
mov esi, 0x421c8c
test al, al
je 0x402e15
push 0x400
push esi
lea eax, [ebp - 0x26b8]
push eax
call fcn.0040d76b
mov eax, dword [0x411b48]
mov ecx, dword [eax + 0x28]
mov dword [0x422490], ecx
mov ecx, dword [eax + 0x2c]
mov dword [0x422494], ecx
mov ecx, dword [eax + 0x30]
mov dword [0x422498], ecx
mov ecx, dword [eax + 0x34]
mov dword [0x42249c], ecx
mov ecx, dword [eax + 0x38]
mov dword [0x4224a0], ecx
mov eax, dword [eax + 0x3c]
mov ecx, dword [0x421ba8]
mov dword [0x4224a4], eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
movzx eax, word [0x421be2]
call fcn.0040220a
test al, al
je 0x402ea1
mov eax, dword [ebp - 0xc]
mov dword [0x422490], eax
mov eax, dword [ebp - 8]
mov dword [0x422494], eax
mov eax, dword [ebp - 0x14]
mov dword [0x422498], eax
mov eax, dword [ebp - 0x10]
mov dword [0x42249c], eax
mov eax, dword [ebp + 0x1c]
mov dword [0x4224a0], eax
mov eax, dword [ebp + 0x20]
mov dword [0x4224a4], eax
movzx eax, word [0x421be2]
push 0x421bc4
push eax
push dword [0x421ba8]
call fcn.0040d2b9
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x402ed1
cmp word [eax], bx
je 0x402ed1
push 0x400
push eax
push esi
call fcn.0040ccae
push esi
call fcn.004071b5
cmp word [eax], 0x5c
sete bl
test bl, bl
je 0x402ee7
xor ecx, ecx
mov word [eax], cx
xor edi, edi
cmp word [0x421c8c], di
je 0x402f1c
cmp word [0x421c8e], di
je 0x402f1c
mov eax, 0x421c90
cmp word [0x421c90], di
je 0x402f1c
cmp word [eax], 0x3a
jne 0x402f15
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], di
jne 0x402f09
push esi
push esi
call fcn.00407684
mov eax, dword [0x411b48]
test byte [eax + 0x24], 0x10
je 0x402f3c
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x402f3a
cmp eax, 0xb
jne 0x402f3c
mov bl, 1
cmp byte [0x42f6a9], 0x49
push edi
sete al
movzx eax, al
push eax
movzx eax, byte [0x42edc2]
push eax
push esi
push edi
call fcn.0040a2f4
test al, al
je 0x403241
cmp byte [0x42edc2], 0
jne 0x40303f
xor edi, edi
test bl, bl
jne 0x4030c3
push esi
call fcn.004046c3
cmp eax, 0xffffffff
je 0x4030ad
test eax, eax
je 0x402fb9
cmp eax, 1
jne 0x40303f
mov eax, dword [0x42ed00]
cmp eax, 2
je 0x403232
cmp byte [0x42ed21], 0
jne 0x402fb5
cmp byte [0x42ed20], 0
je 0x402fc7
test edi, edi
jmp 0x402fc1
mov eax, dword [0x42ed00]
cmp eax, 2
je 0x403232
test eax, eax
je 0x402fd0
cmp eax, 3
jne 0x40303a
mov esi, 0x421c8c
push esi
lea eax, [ebp - 0x9d0]
push eax
call fcn.00409a04
movzx eax, word [0x421bc8]
movzx ecx, word [0x421bc6]
push 0
shl eax, 0x10
add eax, ecx
push eax
push dword [0x41092c]
lea eax, [ebp - 0x9d0]
push dword [0x410928]
push eax
push 0
call fcn.0040b146
cmp al, 0x43
je 0x403241
cmp al, 0x41
je 0x4031c7
cmp al, 0x4e
je 0x403232
cmp al, 0x52
je 0x403093
cmp al, 0x59
je 0x40303a
cmp al, 0x72
je 0x403093
cmp al, 0x79
jne 0x402fd0
mov esi, 0x421c8c
mov eax, dword [0x411b48]
test byte [eax + 0x40], 1
je 0x40320c
call fcn.0040d6fb
xor edi, edi
cmp eax, edi
je 0x40320e
cmp eax, 9
je 0x40338b
cmp eax, 1
jne 0x4031f1
cmp dword [0x4108e8], edi
jne 0x4031ec
cmp dword [0x4224a8], edi
je 0x4031d6
push edi
call fcn.0040a2b2
pop ecx
jmp 0x4031ec
lea eax, [ebp - 0x9d0]
push eax
mov esi, 0x421c8c
push esi
call fcn.00409a04
xor edi, edi
inc edi
jmp 0x402f79
cmp byte [0x42ed20], 0
je 0x40303f
test edi, edi
je 0x403232
jmp 0x40303a
cmp byte [0x42ed20], 0
jne 0x403232
cmp word [0x421c8c], 0
je 0x403232
cmp dword [0x42ed24], 1
je 0x403232
mov eax, dword [0x411b48]
mov ecx, dword [eax + 0x1c]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
je 0x403100
cmp ecx, 0xb
jne 0x403103
mov edi, dword [eax + 0x24]
mov esi, 0x421c8c
push esi
call fcn.00403bec
test al, al
jne 0x40317d
cmp byte [0x42ed67], al
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00403e23
test eax, eax
je 0x40317d
push 1
push esi
call fcn.00403e8f
cmp byte [0x42ed67], 0
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00403e23
test eax, eax
je 0x40317d
push esi
push 0x6f
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
add esp, 0xc
push esi
mov esi, 0x42bfb8
push ebx
mov ecx, esi
call fcn.0040191c
mov ecx, esi
call fcn.00401a17
jmp 0x403232
push esi
lea ecx, [ebp - 0x128]
call fcn.0040cfaa
push dword [0x422494]
lea ecx, [ebp + 0x30]
push dword [0x422490]
call fcn.0040245f
push dword [0x4224a4]
lea ecx, [ebp + 0x30]
push dword [0x4224a0]
call fcn.0040245f
push dword [0x42249c]
lea ecx, [ebp + 0x30]
push dword [0x422498]
call fcn.0040245f
jmp 0x403232
mov dword [0x42ed00], 1
jmp 0x40303f
push esi
push 0x73
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
add esp, 0xc
inc dword [ebp + 0x50]
jmp 0x403232
cmp eax, dword [ebp + 0x74]
jle 0x4031f9
mov dword [ebp + 0x74], eax
push esi
push 0x73
call fcn.00409469
push eax
push 0x4306da
jmp 0x402d7e
xor edi, edi
mov dword [0x421c5c], edi
call fcn.00401d98
cmp eax, edi
je 0x403232
cmp eax, dword [ebp + 0x74]
jle 0x403225
mov dword [ebp + 0x74], eax
cmp dword [0x421c5c], 1
jg 0x403397
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x5c]
jl 0x4029d4
mov ecx, dword [0x421b78]
push 0
push dword [ebp]
push dword [ebp - 4]
call fcn.00403a5e
mov ecx, dword [0x421b78]
call fcn.0040362f
push 0x2000
push dword [0x421b54]
mov dword [0x421b98], eax
mov dword [0x421b9c], edx
call fcn.00404200
mov eax, dword [ebp + 4]
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x68], 0
mov dword [0x421b58], eax
mov eax, dword [ebp + 0xc]
mov dword [0x421b60], eax
mov eax, dword [ebp + 0x10]
mov dword [0x421b64], eax
je 0x402536
mov edi, 0x400
push edi
lea eax, [ebp - 0x9d0]
push eax
lea ecx, [ebp - 0x128]
call fcn.0040d022
test al, al
je 0x4033f7
mov esi, dword [ebp + 0x30]
add esi, 0x10
xor ebx, ebx
mov eax, dword [esi - 0x10]
mov dword [ebp + 0x1c], eax
mov eax, dword [esi - 0xc]
mov dword [ebp + 0x20], eax
mov eax, dword [esi - 8]
mov dword [ebp + 0x54], eax
mov eax, dword [esi - 4]
mov dword [ebp + 0x58], eax
mov eax, dword [esi]
mov dword [ebp + 0x60], eax
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp + 0x64], eax
call fcn.0040d16f
lea ecx, [ebp - 0x5c]
call fcn.0040d16f
lea ecx, [ebp - 0x38]
call fcn.0040d16f
cmp dword [0x42f28c], ebx
je 0x403316
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x80]
call fcn.0040d175
cmp dword [0x42f290], ebx
je 0x403334
cmp dword [ebp + 0x58], ebx
jne 0x403328
cmp dword [ebp + 0x54], ebx
je 0x403334
lea eax, [ebp + 0x54]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040d175
cmp dword [0x42f294], ebx
je 0x403352
cmp dword [ebp + 0x64], ebx
jne 0x403346
cmp dword [ebp + 0x60], ebx
je 0x403352
lea eax, [ebp + 0x60]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040d175
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x9d0]
push eax
push ebx
call fcn.00403f3d
push edi
lea eax, [ebp - 0x9d0]
push eax
lea ecx, [ebp - 0x128]
add esi, 0x18
call fcn.0040d022
test al, al
jne 0x4032c7
jmp 0x4033f9
push edi
call fcn.0040a2b2
pop ecx
jmp 0x40329f
lea ecx, [ebp - 0x118]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x128], esi
je 0x4033b7
push dword [ebp - 0x128]
call fcn.004094fe
cmp dword [ebp + 0x30], esi
je 0x4033c4
push dword [ebp + 0x30]
call fcn.004094fe
lea ecx, [ebp - 0x1c0]
call fcn.0040146d
cmp dword [ebp - 0x1d0], esi
je 0x4033e2
push dword [ebp - 0x1d0]
call fcn.004094fe
cmp dword [ebp + 0x24], esi
je 0x4033ef
push dword [ebp + 0x24]
call fcn.004094fe
mov eax, dword [ebp + 0x74]
jmp 0x403507
xor ebx, ebx
cmp byte [0x42ae72], 0
jne 0x403431
cmp dword [ebp + 0x40], ebx
je 0x403431
cmp byte [0x422524], 0
jne 0x403431
push 0xa0
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
mov ebx, dword [ebp + 0x74]
pop ecx
pop ecx
test ebx, ebx
jne 0x403434
inc ebx
jmp 0x403434
mov ebx, dword [ebp + 0x74]
mov edi, dword [ebp + 0x48]
movzx esi, word [ebp + 0x50]
inc edi
cmp edi, esi
jne 0x403469
cmp byte [0x42f6a9], 0x49
je 0x403469
cmp dword [0x4224a8], 0
jne 0x403469
push 0x343
call fcn.00409469
push eax
push 0x4306da
call fcn.0040a7dd
pop ecx
pop ecx
test edi, edi
jne 0x403483
cmp ebx, 1
jg 0x403483
xor ax, ax
cmp ax, word [ebp + 0x4c]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x4034ad
cmp edi, esi
jne 0x403490
cmp ebx, 1
jg 0x403490
push 0x52
jmp 0x40349e
cmp word [ebp + 0x4c], 0
jbe 0x4034a1
cmp ebx, 1
jg 0x4034a1
push 0x51
pop ebx
jmp 0x4034ad
cmp word [ebp + 0x50], 0
jbe 0x4034ad
test ebx, ebx
jne 0x4034ad
inc ebx
lea ecx, [ebp - 0x118]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x128], esi
je 0x4034cd
push dword [ebp - 0x128]
call fcn.004094fe
cmp dword [ebp + 0x30], esi
je 0x4034da
push dword [ebp + 0x30]
call fcn.004094fe
lea ecx, [ebp - 0x1c0]
call fcn.0040146d
cmp dword [ebp - 0x1d0], esi
je 0x4034f8
push dword [ebp - 0x1d0]
call fcn.004094fe
cmp dword [ebp + 0x24], esi
je 0x403505
push dword [ebp + 0x24]
call fcn.004094fe
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret