Function at 0x4024e1
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.0040238e
lea ecx, [ebp - 0x1dc]
call fcn.0040cfae
lea ecx, [ebp - 0x134]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
call fcn.0040cfae
mov eax, dword [ebp + 0x20]
mov dword [0x411b48], eax
mov dword [0x410908], 1
cmp byte [0x42ae72], 0
jne 0x4032a4
and dword [ebp + 0x58], 0
and dword [ebp + 0x68], 0
mov ebx, 0x421c8c
mov eax, dword [ebp + 0x58]
xor edi, edi
inc edi
cmp eax, 0x40
mov esi, 0x41093c
jl 0x402589
cmp byte [0x422524], 0
je 0x40294b
cmp eax, dword [ebp + 0x24]
jl 0x40259b
mov eax, dword [ebp + 0x58]
inc eax
push eax
lea ecx, [ebp + 0x20]
call fcn.00402461
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x68]
push 4
add ecx, eax
push esi
mov dword [0x411b48], ecx
call fcn.00404367
test eax, eax
je 0x402898
push 4
push 0x421bb5
push esi
call fcn.0040999d
test eax, eax
jne 0x4028a4
call fcn.00408bb9
xor esi, esi
cmp eax, esi
jne 0x40292d
xor eax, eax
mov word [0x421c8c], ax
movzx eax, byte [0x421be9]
push eax
movzx eax, word [0x421c08]
push 0x421bec
push 2
push eax
call fcn.00404748
cmp eax, esi
je 0x402615
cmp eax, dword [ebp + 0x70]
jle 0x40260d
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402932
movzx eax, word [0x421c0a]
push esi
push esi
push 3
push eax
call fcn.00404748
cmp eax, esi
je 0x40263a
cmp eax, dword [ebp + 0x70]
jle 0x402632
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402932
movzx eax, word [0x421c0a]
push esi
push eax
push dword [0x421ba8]
call fcn.0040847f
movzx eax, word [0x421c0a]
push 0x421bee
push eax
push dword [0x421ba8]
call fcn.0040d2ea
movzx eax, word [0x421c0c]
push esi
push esi
push esi
push eax
call fcn.00404748
cmp eax, esi
je 0x40268a
cmp eax, dword [ebp + 0x70]
jle 0x402682
mov dword [ebp + 0x70], eax
cmp eax, edi
jg 0x402932
mov eax, dword [0x421bec]
mov ecx, dword [0x421ba8]
shr eax, 0xb
and al, 1
mov byte [ebp + 0x6f], al
push 0x1800
lea eax, [ebp - 0x26c4]
push eax
movzx eax, word [0x421c0a]
push dword [0x42248c]
call fcn.004022ec
test al, al
je 0x4026d5
push 0x400
push ebx
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040d79c
mov byte [ebp + 0x6f], 1
lea eax, [ebp - 0x20]
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]
add eax, 0x28
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov eax, dword [0x411b48]
push 8
push 0
add eax, 0x30
push eax
call fcn.0040973a
mov eax, dword [0x411b48]
push 8
push 0
add eax, 0x38
push eax
call fcn.0040973a
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.00402219
movzx esi, word [0x421c0a]
mov eax, dword [0x421ba8]
mov edi, eax
test esi, esi
je 0x40275f
test eax, eax
jne 0x402795
mov byte [ebp + 0x77], 0
jmp 0x4027b9
push edi
call fcn.00404991
movzx eax, ax
mov dword [ebp + 0x40], eax
lea eax, [edi + 2]
push eax
call fcn.00404991
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x40275f
cmp dword [ebp + 0x40], 0x17
je 0x40279c
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402765
jmp 0x40275f
push ebx
push 0xb0
mov byte [ebp + 0x77], 1
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
add esp, 0xc
lea ecx, [ebp - 0xec4]
call fcn.0040249e
push 0xce8
xor edi, edi
push edi
lea eax, [ebp - 0xec4]
push eax
call fcn.0040973a
mov esi, 0x400
push esi
push ebx
lea eax, [ebp - 0xa94]
push eax
call fcn.0040ccfb
push esi
lea eax, [ebp - 0xe94]
push eax
lea eax, [ebp - 0xa94]
push eax
call fcn.004074d1
mov eax, dword [0x411b48]
add eax, 0x28
push eax
lea ecx, [ebp - 0x280]
call fcn.0040d1a6
mov eax, dword [0x421c00]
mov dword [ebp - 0x1e4], eax
mov eax, dword [0x421c04]
mov dword [ebp - 0x1e0], eax
mov eax, 0x200
or word [ebp - 0xebc], ax
cmp byte [ebp + 0x77], 0
jne 0x402881
push 5
push edi
lea eax, [ebp - 0xec4]
push eax
mov ecx, 0x42bfd8
call fcn.004014f2
test eax, eax
je 0x402881
call fcn.00401c99
test eax, eax
je 0x40287e
cmp byte [ebp + 0x6f], 0
mov eax, ebx
jne 0x402869
mov eax, 0x40e2f8
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0040cfdb
inc dword [ebp + 0x58]
add dword [ebp + 0x68], 0x48
jmp 0x402881
inc dword [ebp + 0x48]
add dword [ebp + 0x50], 1
lea ecx, [ebp - 0x294]
adc dword [ebp + 0x54], edi
call fcn.00402454
jmp 0x40256c
mov dword [ebp + 0x70], 0x33
jmp 0x402948
mov ecx, dword [0x421c30]
mov eax, ecx
xor eax, dword [ebp + 0x50]
mov edx, 0xffff
and eax, edx
xor ebx, ebx
or eax, ebx
je 0x4028e8
cmp ecx, edx
jne 0x4028c8
cmp dword [0x421c34], ebx
je 0x4028e8
push 0xa0
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x402948
push 0x40e2f4
lea eax, [ebp + 0x11]
push eax
mov byte [ebp + 0x10], 0x50
call fcn.004098d7
push 4
push 0x421bba
push esi
call fcn.0040999d
test eax, eax
je 0x402928
cmp byte [0x42252c], bl
je 0x402923
push 4
lea eax, [ebp + 0x10]
push eax
push esi
call fcn.0040999d
test eax, eax
je 0x402928
mov dword [ebp + 0x3c], edi
jmp 0x402948
and dword [ebp + 0x3c], ebx
jmp 0x402948
mov dword [ebp + 0x70], eax
jmp 0x402948
push ebx
push 0x68
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
add esp, 0xc
mov dword [ebp + 0x64], 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 - 8], eax
mov eax, dword [0x421b60]
mov dword [ebp + 8], eax
mov eax, dword [0x421b64]
mov dword [ebp + 0xc], eax
je 0x4029cf
and dword [0x422528], 0
cmp byte [0x4302da], 0
je 0x40299b
push 0x40e2f0
push 0x4302da
call fcn.0040797a
cmp word [0x4306da], 0
je 0x4029b4
push 0x40e2e8
push 0x4306da
call fcn.004079b9
mov ecx, dword [0x421b78]
test ecx, ecx
je 0x4029c3
mov eax, dword [ecx]
push edi
call dword [eax]
and dword [0x421b78], 0
call fcn.004040a0
and dword [ebp + 0x68], 0
cmp dword [ebp + 0x58], 0
jle 0x403246
mov eax, dword [ebp + 0x38]
shl eax, 6
mov dword [ebp + 0x40], eax
jmp 0x4029eb
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 [0x411b48], ecx
lea ecx, [ebp - 0x1dc]
call fcn.0040d02d
cmp byte [0x422524], 0
mov dword [ebp + 4], eax
je 0x402ac5
mov eax, dword [0x411b48]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x422528]
je 0x402ac5
movzx ecx, word [0x421c20]
cmp eax, ecx
jne 0x402a6c
cmp byte [0x4302da], 0
je 0x402a51
push 0x40e2e4
push 0x4302da
call fcn.0040797a
cmp word [0x4306da], 0
je 0x402a9c
push 0x40e2dc
push 0x4306da
call fcn.004079b9
jmp 0x402a9c
cmp byte [0x4302da], 0
je 0x402a80
push eax
push 0x4302da
call fcn.004021a3
cmp word [0x4306da], 0
je 0x402a9c
mov eax, dword [0x411b48]
push dword [eax + 0x20]
push 0x4306da
call fcn.004021dd
mov eax, dword [0x411b48]
mov ecx, dword [0x421b78]
mov eax, dword [eax + 0x20]
mov dword [0x422528], eax
test ecx, ecx
je 0x402ab9
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x421b78], 0
call fcn.004040a0
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 0x402b9c
jl 0x402b05
test edi, edi
jae 0x402b9c
push 0xa0
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
cmp dword [ebp + 0x44], 0
pop ecx
pop ecx
mov dword [ebp + 0x70], 2
jne 0x402b90
mov eax, dword [0x421ba0]
mov ecx, dword [0x421ba4]
mov edx, eax
or edx, ecx
je 0x402b90
mov dword [ebp + 0x60], ecx
xor ecx, ecx
push ecx
mov dword [ebp + 0x5c], 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 0x402b9c
jl 0x402b79
test edi, edi
jae 0x402b9c
push 0xa0
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
pop ecx
pop ecx
mov dword [ebp + 0x70], 3
jmp 0x403237
cmp eax, dword [0x421b98]
jne 0x402bdd
cmp ecx, dword [0x421b9c]
jne 0x402bdd
cmp byte [0x422524], 0
jne 0x402bdd
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
xor edi, edi
jmp 0x402c4c
xor edi, edi
push edi
push ecx
mov ecx, dword [0x421b78]
push eax
call fcn.00403a6c
mov ecx, dword [0x421b78]
call fcn.0040363d
push 0x2000
push dword [0x421b54]
mov dword [0x421b98], eax
mov dword [0x421b9c], edx
call fcn.0040420e
cdq
cmp edx, edi
mov dword [0x421b60], eax
mov dword [0x421b64], edx
jg 0x402c31
jl 0x402b79
cmp eax, edi
jbe 0x402b79
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.00404367
test eax, eax
je 0x402b79
push 4
push 0x421bb0
push ebx
call fcn.0040999d
mov esi, 0xa0
test eax, eax
je 0x402d20
push esi
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
mov eax, dword [0x421ba0]
pop ecx
pop ecx
mov ecx, dword [0x421ba4]
mov dword [ebp + 0x70], 2
cmp dword [ebp + 0x44], edi
jne 0x402cab
mov edx, eax
or edx, ecx
jne 0x402d0c
or eax, ecx
jne 0x403237
mov eax, dword [ebp + 0x5c]
or eax, dword [ebp + 0x60]
je 0x403237
mov eax, dword [ebp + 0x5c]
mov dword [0x421ba0], eax
mov eax, dword [ebp + 0x60]
mov dword [0x421ba4], eax
xor edi, edi
mov ebx, 0x41093c
mov eax, dword [0x411b48]
push dword [eax + 4]
push dword [eax]
call fcn.00404561
test eax, eax
jne 0x402d06
push 4
push ebx
call fcn.00404367
test eax, eax
je 0x402d06
push 4
push 0x421bb0
push ebx
call fcn.0040999d
test eax, eax
je 0x402d20
push esi
jmp 0x402b7e
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], ecx
mov dword [0x421ba0], edi
mov dword [0x421ba4], edi
jmp 0x402cd6
call fcn.00408600
mov ebx, eax
cmp ebx, edi
je 0x402d46
push esi
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
pop ecx
pop ecx
mov dword [ebp + 0x70], ebx
jmp 0x403237
xor eax, eax
push edi
mov word [0x421c8c], ax
movzx eax, word [0x421be0]
push 0x421bc2
push 2
push eax
call fcn.00404748
cmp eax, edi
je 0x402d93
cmp eax, dword [ebp + 0x70]
jle 0x402d6f
mov dword [ebp + 0x70], eax
cmp eax, 1
jle 0x402d93
push 0x421c8c
push 0x68
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
add esp, 0xc
jmp 0x403237
mov eax, dword [0x421ba8]
cmp eax, edi
je 0x402da8
push eax
call fcn.0040953c
mov dword [0x421ba8], edi
movzx eax, word [0x421be2]
push edi
push edi
push 3
push eax
call fcn.00404748
cmp eax, edi
je 0x402dca
cmp eax, dword [ebp + 0x70]
jle 0x402dc5
mov dword [ebp + 0x70], eax
cmp eax, 1
jg 0x402d74
movzx eax, word [0x421be2]
push 1
push eax
push dword [0x421ba8]
call fcn.0040847f
mov ecx, dword [0x421ba8]
push 0x1800
lea eax, [ebp - 0x26c4]
push eax
movzx eax, word [0x421be2]
push dword [0x42248c]
call fcn.004022ec
mov esi, 0x421c8c
test al, al
je 0x402e1e
push 0x400
push esi
lea eax, [ebp - 0x26c4]
push eax
call fcn.0040d79c
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 + 0x18]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
movzx eax, word [0x421be2]
call fcn.00402219
test al, al
je 0x402eaa
mov eax, dword [ebp - 0x10]
mov dword [0x422490], eax
mov eax, dword [ebp - 0xc]
mov dword [0x422494], eax
mov eax, dword [ebp - 0x18]
mov dword [0x422498], eax
mov eax, dword [ebp - 0x14]
mov dword [0x42249c], eax
mov eax, dword [ebp + 0x18]
mov dword [0x4224a0], eax
mov eax, dword [ebp + 0x1c]
mov dword [0x4224a4], eax
movzx eax, word [0x421be2]
push 0x421bc4
push eax
push dword [0x421ba8]
call fcn.0040d2ea
mov eax, dword [ebp + 4]
cmp eax, edi
je 0x402eda
cmp word [eax], di
je 0x402eda
push 0x400
push eax
push esi
call fcn.0040ccfb
push esi
call fcn.004071f2
cmp word [eax], 0x5c
sete byte [ebp + 0x77]
cmp byte [ebp + 0x77], 0
je 0x402ef3
xor ecx, ecx
mov word [eax], cx
cmp word [0x421c8c], di
je 0x402f26
cmp word [0x421c8e], di
je 0x402f26
mov eax, 0x421c90
cmp word [0x421c90], di
je 0x402f26
cmp word [eax], 0x3a
jne 0x402f1f
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], di
jne 0x402f13
push esi
push esi
call fcn.004076c1
mov eax, dword [0x411b48]
test byte [eax + 0x24], 0x10
je 0x402f48
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x402f44
cmp eax, 0xb
jne 0x402f48
mov byte [ebp + 0x77], 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.0040a332
test al, al
je 0x403246
cmp byte [0x42edc2], 0
jne 0x403083
xor ebx, ebx
cmp byte [ebp + 0x77], bl
jne 0x4030d5
push esi
call fcn.004046d1
cmp eax, 0xffffffff
je 0x40306b
cmp eax, edi
je 0x402fc6
cmp eax, 1
jne 0x403083
mov eax, dword [0x42ed00]
cmp eax, 2
je 0x403237
cmp byte [0x42ed21], 0
jne 0x402fc2
cmp byte [0x42ed20], 0
je 0x402fd4
test ebx, ebx
jmp 0x402fce
mov eax, dword [0x42ed00]
cmp eax, 2
je 0x403237
xor edi, edi
cmp eax, edi
je 0x402fe3
cmp eax, 3
jne 0x40307e
mov esi, 0x421c8c
push esi
lea eax, [ebp - 0x9dc]
push eax
call fcn.00409a42
movzx eax, word [0x421bc8]
movzx ecx, word [0x421bc6]
push edi
shl eax, 0x10
add eax, ecx
push eax
push dword [0x41092c]
lea eax, [ebp - 0x9dc]
push dword [0x410928]
push eax
push edi
call fcn.0040b184
cmp al, 0x43
je 0x403246
cmp al, 0x41
je 0x4031d9
cmp al, 0x4e
je 0x403237
cmp al, 0x52
je 0x40304f
cmp al, 0x59
je 0x40307c
cmp al, 0x72
je 0x40304f
cmp al, 0x79
je 0x40307c
xor edi, edi
jmp 0x402fe3
lea eax, [ebp - 0x9dc]
push eax
mov esi, 0x421c8c
push esi
call fcn.00409a42
xor ebx, ebx
inc ebx
xor edi, edi
jmp 0x402f86
cmp byte [0x42ed20], 0
je 0x403083
cmp ebx, edi
je 0x403237
xor edi, edi
mov esi, 0x421c8c
mov eax, dword [0x411b48]
test byte [eax + 0x40], 1
je 0x403213
call fcn.0040d72c
cmp eax, edi
je 0x403213
cmp eax, 9
je 0x403399
cmp eax, 1
jne 0x403203
cmp dword [0x4108e8], edi
jne 0x4031fe
cmp dword [0x4224a8], edi
je 0x4031e8
push edi
call fcn.0040a2f0
pop ecx
jmp 0x4031fe
cmp byte [0x42ed20], 0
jne 0x403237
cmp word [0x421c8c], 0
je 0x403237
cmp dword [0x42ed24], 1
je 0x403237
mov eax, dword [0x411b48]
mov ecx, dword [eax + 0x1c]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
je 0x403112
cmp ecx, 0xb
jne 0x403115
mov edi, dword [eax + 0x24]
mov esi, 0x421c8c
push esi
call fcn.00403bfa
test al, al
jne 0x40318f
cmp byte [0x42ed67], al
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00403e31
test eax, eax
je 0x40318f
push 1
push esi
call fcn.00403e9d
cmp byte [0x42ed67], 0
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00403e31
test eax, eax
je 0x40318f
push esi
push 0x6f
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
add esp, 0xc
push esi
mov esi, 0x42bfb8
push ebx
mov ecx, esi
call fcn.0040192b
mov ecx, esi
call fcn.00401a26
jmp 0x403237
push esi
lea ecx, [ebp - 0x134]
call fcn.0040cfdb
push dword [0x422494]
lea ecx, [ebp + 0x2c]
push dword [0x422490]
call fcn.0040247b
push dword [0x4224a4]
lea ecx, [ebp + 0x2c]
push dword [0x4224a0]
call fcn.0040247b
push dword [0x42249c]
lea ecx, [ebp + 0x2c]
push dword [0x422498]
call fcn.0040247b
jmp 0x403237
mov dword [0x42ed00], 1
jmp 0x403083
push esi
push 0x73
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
add esp, 0xc
inc dword [ebp + 0x4c]
jmp 0x403237
cmp eax, dword [ebp + 0x70]
jle 0x40320b
mov dword [ebp + 0x70], eax
push esi
push 0x73
jmp 0x402d7b
mov dword [0x421c5c], edi
call fcn.00401da7
cmp eax, edi
je 0x403237
cmp eax, dword [ebp + 0x70]
jle 0x40322a
mov dword [ebp + 0x70], eax
cmp dword [0x421c5c], 1
jg 0x4033a5
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x58]
jl 0x4029e8
mov ecx, dword [0x421b78]
push 0
push dword [ebp]
push dword [ebp - 4]
call fcn.00403a6c
mov ecx, dword [0x421b78]
call fcn.0040363d
push 0x2000
push dword [0x421b54]
mov dword [0x421b98], eax
mov dword [0x421b9c], edx
call fcn.0040420e
mov eax, dword [ebp - 8]
inc dword [ebp + 0x38]
cmp dword [ebp + 0x64], 0
mov dword [0x421b58], eax
mov eax, dword [ebp + 8]
mov dword [0x421b60], eax
mov eax, dword [ebp + 0xc]
mov dword [0x421b64], eax
je 0x402552
mov edi, 0x400
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
call fcn.0040d053
test al, al
je 0x403405
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.0040d1a0
lea ecx, [ebp - 0x68]
call fcn.0040d1a0
lea ecx, [ebp - 0x44]
call fcn.0040d1a0
cmp dword [0x42f28c], ebx
je 0x403321
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040d1a6
cmp dword [0x42f290], ebx
je 0x40333f
cmp dword [ebp + 0x54], ebx
jne 0x403333
cmp dword [ebp + 0x50], ebx
je 0x40333f
lea eax, [ebp + 0x50]
push eax
lea ecx, [ebp - 0x68]
call fcn.0040d1a6
cmp dword [0x42f294], ebx
je 0x40335d
cmp dword [ebp + 0x60], ebx
jne 0x403351
cmp dword [ebp + 0x5c], ebx
je 0x40335d
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040d1a6
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.00403f4b
push edi
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x134]
add esi, 0x18
call fcn.0040d053
test al, al
jne 0x4032cc
jmp 0x403407
push edi
call fcn.0040a2f0
pop ecx
jmp 0x4032a4
lea ecx, [ebp - 0x124]
call fcn.00402454
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4033c5
push dword [ebp - 0x134]
call fcn.0040953c
cmp dword [ebp + 0x2c], esi
je 0x4033d2
push dword [ebp + 0x2c]
call fcn.0040953c
lea ecx, [ebp - 0x1cc]
call fcn.00402454
cmp dword [ebp - 0x1dc], esi
je 0x4033f0
push dword [ebp - 0x1dc]
call fcn.0040953c
cmp dword [ebp + 0x20], esi
je 0x4033fd
push dword [ebp + 0x20]
call fcn.0040953c
mov eax, dword [ebp + 0x70]
jmp 0x403515
xor ebx, ebx
cmp byte [0x42ae72], 0
jne 0x40343f
cmp dword [ebp + 0x3c], ebx
je 0x40343f
cmp byte [0x422524], 0
jne 0x40343f
push 0xa0
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
mov ebx, dword [ebp + 0x70]
pop ecx
pop ecx
test ebx, ebx
jne 0x403442
inc ebx
jmp 0x403442
mov ebx, dword [ebp + 0x70]
mov edi, dword [ebp + 0x44]
movzx esi, word [ebp + 0x4c]
inc edi
cmp edi, esi
jne 0x403477
cmp byte [0x42f6a9], 0x49
je 0x403477
cmp dword [0x4224a8], 0
jne 0x403477
push 0x343
call fcn.004094a7
push eax
push 0x4306da
call fcn.0040a81b
pop ecx
pop ecx
test edi, edi
jne 0x403491
cmp ebx, 1
jg 0x403491
xor ax, ax
cmp ax, word [ebp + 0x48]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x4034bb
cmp edi, esi
jne 0x40349e
cmp ebx, 1
jg 0x40349e
push 0x52
jmp 0x4034ac
cmp word [ebp + 0x48], 0
jbe 0x4034af
cmp ebx, 1
jg 0x4034af
push 0x51
pop ebx
jmp 0x4034bb
cmp word [ebp + 0x4c], 0
jbe 0x4034bb
test ebx, ebx
jne 0x4034bb
inc ebx
lea ecx, [ebp - 0x124]
call fcn.00402454
xor esi, esi
cmp dword [ebp - 0x134], esi
je 0x4034db
push dword [ebp - 0x134]
call fcn.0040953c
cmp dword [ebp + 0x2c], esi
je 0x4034e8
push dword [ebp + 0x2c]
call fcn.0040953c
lea ecx, [ebp - 0x1cc]
call fcn.00402454
cmp dword [ebp - 0x1dc], esi
je 0x403506
push dword [ebp - 0x1dc]
call fcn.0040953c
cmp dword [ebp + 0x20], esi
je 0x403513
push dword [ebp + 0x20]
call fcn.0040953c
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret