Function at 0x4024b5
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.0040236f
lea ecx, [ebp - 0x1d0]
call fcn.0040ce47
lea ecx, [ebp - 0x128]
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x38], esi
call fcn.0040ce47
mov eax, dword [ebp + 0x24]
mov dword [0x411b48], eax
mov dword [0x410908], 1
cmp byte [0x425672], 0
jne 0x40327f
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 0x40255d
cmp byte [0x422524], 0
je 0x40291f
cmp eax, dword [ebp + 0x28]
jl 0x40256f
mov eax, dword [ebp + 0x5c]
inc eax
push eax
lea ecx, [ebp + 0x24]
call fcn.00402435
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x6c]
push 4
add ecx, eax
push esi
mov dword [0x411b48], ecx
call fcn.00404339
test eax, eax
je 0x40286c
push 4
push 0x421bb5
push esi
call fcn.004098be
test eax, eax
jne 0x402878
call fcn.00408ada
xor esi, esi
cmp eax, esi
jne 0x402901
movzx eax, byte [0x421be9]
push eax
call fcn.0040ddc3
test al, al
je 0x4025ce
mov eax, 0x800
or word [0x421bec], ax
movzx eax, word [0x421bec]
push eax
movzx eax, word [0x421c08]
push 2
push eax
call fcn.0040471a
cmp eax, esi
je 0x4025f9
cmp eax, dword [ebp + 0x74]
jle 0x4025f1
mov dword [ebp + 0x74], eax
cmp eax, edi
jg 0x402906
movzx eax, word [0x421c0a]
push esi
push 3
push eax
call fcn.0040471a
cmp eax, esi
je 0x40261d
cmp eax, dword [ebp + 0x74]
jle 0x402615
mov dword [ebp + 0x74], eax
cmp eax, edi
jg 0x402906
movzx eax, word [0x421c0a]
push esi
push eax
push dword [0x421ba8]
call fcn.004083a0
movzx eax, word [0x421c0a]
push 0x421bee
push eax
push dword [0x421ba8]
call fcn.0040d183
movzx eax, word [0x421c0c]
push esi
push esi
push eax
call fcn.0040471a
cmp eax, esi
je 0x40266c
cmp eax, dword [ebp + 0x74]
jle 0x402664
mov dword [ebp + 0x74], eax
cmp eax, edi
jg 0x402906
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 0x4026b7
push 0x400
push ebx
lea eax, [ebp - 0x26b8]
push eax
call fcn.0040d635
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.0040965b
mov eax, dword [0x411b48]
push 8
push 0
add eax, 0x38
push eax
call fcn.0040965b
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 0x402733
test eax, eax
jne 0x402769
mov byte [ebp + 0x73], 0
jmp 0x40278d
push edi
call fcn.00404934
movzx eax, ax
mov dword [ebp + 0x44], eax
lea eax, [edi + 2]
push eax
call fcn.00404934
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x402733
cmp dword [ebp + 0x44], 0x17
je 0x402770
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402739
jmp 0x402733
push ebx
push 0xb0
mov byte [ebp + 0x73], 1
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
add esp, 0xc
lea ecx, [ebp - 0xeb8]
call fcn.00402472
push 0xce8
xor edi, edi
push edi
lea eax, [ebp - 0xeb8]
push eax
call fcn.0040965b
mov esi, 0x400
push esi
push ebx
lea eax, [ebp - 0xa88]
push eax
call fcn.0040cb78
push esi
lea eax, [ebp - 0xe88]
push eax
lea eax, [ebp - 0xa88]
push eax
call fcn.00407474
mov eax, dword [0x411b48]
add eax, 0x28
push eax
lea ecx, [ebp - 0x274]
call fcn.0040d03f
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 0x402855
push 5
push edi
lea eax, [ebp - 0xeb8]
push eax
mov ecx, 0x4267d8
call fcn.004014e3
test eax, eax
je 0x402855
call fcn.00401c8a
test eax, eax
je 0x402852
cmp byte [ebp + 0x72], 0
mov eax, ebx
jne 0x40283d
mov eax, 0x40e2f8
push eax
lea ecx, [ebp - 0x1d0]
call fcn.0040ce74
inc dword [ebp + 0x5c]
add dword [ebp + 0x6c], 0x48
jmp 0x402855
inc dword [ebp + 0x4c]
add dword [ebp + 0x54], 1
lea ecx, [ebp - 0x288]
adc dword [ebp + 0x58], edi
call fcn.0040146d
jmp 0x402540
mov dword [ebp + 0x74], 0x33
jmp 0x40291c
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 0x4028bc
cmp ecx, edx
jne 0x40289c
cmp dword [0x421c34], ebx
je 0x4028bc
push 0xa0
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
pop ecx
pop ecx
mov dword [ebp + 0x74], 3
jmp 0x40291c
push 0x40e2f4
lea eax, [ebp + 0x15]
push eax
mov byte [ebp + 0x14], 0x50
call fcn.004097f8
push 4
push 0x421bba
push esi
call fcn.004098be
test eax, eax
je 0x4028fc
cmp byte [0x42252c], bl
je 0x4028f7
push 4
lea eax, [ebp + 0x14]
push eax
push esi
call fcn.004098be
test eax, eax
je 0x4028fc
mov dword [ebp + 0x40], edi
jmp 0x40291c
and dword [ebp + 0x40], ebx
jmp 0x40291c
mov dword [ebp + 0x74], eax
jmp 0x40291c
push ebx
push 0x68
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
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 0x4029a3
and dword [0x422528], 0
cmp byte [0x42aada], 0
je 0x40296f
push 0x40e2f0
push 0x42aada
call fcn.004078be
cmp word [0x42aeda], 0
je 0x402988
push 0x40e2e8
push 0x42aeda
call fcn.004078fd
mov ecx, dword [0x421b78]
test ecx, ecx
je 0x402997
mov eax, dword [ecx]
push edi
call dword [eax]
and dword [0x421b78], 0
call fcn.00404072
and dword [ebp + 0x6c], 0
cmp dword [ebp + 0x5c], 0
jle 0x403221
mov eax, dword [ebp + 0x3c]
shl eax, 6
mov dword [ebp + 0x44], eax
jmp 0x4029bf
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.0040cec6
cmp byte [0x422524], 0
mov dword [ebp + 8], eax
je 0x402a99
mov eax, dword [0x411b48]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x422528]
je 0x402a99
movzx ecx, word [0x421c20]
cmp eax, ecx
jne 0x402a40
cmp byte [0x42aada], 0
je 0x402a25
push 0x40e2e4
push 0x42aada
call fcn.004078be
cmp word [0x42aeda], 0
je 0x402a70
push 0x40e2dc
push 0x42aeda
call fcn.004078fd
jmp 0x402a70
cmp byte [0x42aada], 0
je 0x402a54
push eax
push 0x42aada
call fcn.00402194
cmp word [0x42aeda], 0
je 0x402a70
mov eax, dword [0x411b48]
push dword [eax + 0x20]
push 0x42aeda
call fcn.004021ce
mov eax, dword [0x411b48]
mov ecx, dword [0x421b78]
mov eax, dword [eax + 0x20]
mov dword [0x422528], eax
test ecx, ecx
je 0x402a8d
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x421b78], 0
call fcn.00404072
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 0x402b70
jl 0x402ad9
test edi, edi
jae 0x402b70
push 0xa0
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
cmp dword [ebp + 0x48], 0
pop ecx
pop ecx
mov dword [ebp + 0x74], 2
jne 0x402b64
mov eax, dword [0x421ba0]
mov ecx, dword [0x421ba4]
mov edx, eax
or edx, ecx
je 0x402b64
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 0x402b70
jl 0x402b4d
test edi, edi
jae 0x402b70
push 0xa0
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
pop ecx
pop ecx
mov dword [ebp + 0x74], 3
jmp 0x403212
cmp eax, dword [0x421b98]
jne 0x402baf
cmp ecx, dword [0x421b9c]
jne 0x402baf
cmp byte [0x422524], 0
jne 0x402baf
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 0x402c1d
push 0
push ecx
mov ecx, dword [0x421b78]
push eax
call fcn.00403a3e
mov ecx, dword [0x421b78]
call fcn.0040360f
push 0x2000
push dword [0x421b54]
mov dword [0x421b98], eax
mov dword [0x421b9c], edx
call fcn.004041e0
cdq
mov dword [0x421b60], eax
mov dword [0x421b64], edx
test edx, edx
jg 0x402c02
jl 0x402b4d
test eax, eax
jbe 0x402b4d
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.00404339
test eax, eax
je 0x402b4d
push 4
push 0x421bb0
push ebx
call fcn.004098be
mov esi, 0xa0
test eax, eax
je 0x402cff
push esi
call fcn.004093c8
push eax
mov edi, 0x42aeda
push edi
call fcn.0040a73c
cmp dword [ebp + 0x48], 0
mov eax, dword [0x421ba0]
pop ecx
pop ecx
mov ecx, dword [0x421ba4]
mov dword [ebp + 0x74], 2
jne 0x402c7e
mov edx, eax
or edx, ecx
jne 0x402ce9
or eax, ecx
jne 0x403212
mov eax, dword [ebp + 0x60]
or eax, dword [ebp + 0x64]
je 0x403212
mov eax, dword [ebp + 0x60]
mov dword [0x421ba0], eax
mov eax, dword [ebp + 0x64]
mov dword [0x421ba4], eax
mov ebx, 0x41093c
mov edi, 0x42aeda
mov eax, dword [0x411b48]
push dword [eax + 4]
push dword [eax]
call fcn.00404533
test eax, eax
jne 0x402cdc
push 4
push ebx
call fcn.00404339
test eax, eax
je 0x402cdc
push 4
push 0x421bb0
push ebx
call fcn.004098be
test eax, eax
je 0x402d04
push esi
call fcn.004093c8
push eax
push edi
jmp 0x402b5d
and dword [0x421ba0], 0
and dword [0x421ba4], 0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], ecx
jmp 0x402cac
mov edi, 0x42aeda
call fcn.00408521
mov ebx, eax
test ebx, ebx
je 0x402d26
push esi
call fcn.004093c8
push eax
push edi
call fcn.0040a73c
pop ecx
pop ecx
mov dword [ebp + 0x74], ebx
jmp 0x403212
movzx eax, word [0x421bc2]
push eax
movzx eax, word [0x421be0]
push 2
push eax
call fcn.0040471a
xor ebx, ebx
cmp eax, ebx
je 0x402d6b
cmp eax, dword [ebp + 0x74]
jle 0x402d4b
mov dword [ebp + 0x74], eax
cmp eax, 1
jle 0x402d6b
push 0x421c8c
push 0x68
call fcn.004093c8
push eax
push edi
call fcn.0040a73c
add esp, 0xc
jmp 0x403212
mov eax, dword [0x421ba8]
cmp eax, ebx
je 0x402d80
push eax
call fcn.0040945d
mov dword [0x421ba8], ebx
movzx eax, word [0x421be2]
push ebx
push 3
push eax
call fcn.0040471a
cmp eax, ebx
je 0x402da1
cmp eax, dword [ebp + 0x74]
jle 0x402d9c
mov dword [ebp + 0x74], eax
cmp eax, 1
jg 0x402d50
movzx eax, word [0x421be2]
push 1
push eax
push dword [0x421ba8]
call fcn.004083a0
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 0x402df5
push 0x400
push esi
lea eax, [ebp - 0x26b8]
push eax
call fcn.0040d635
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 0x402e81
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.0040d183
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x402eb1
cmp word [eax], bx
je 0x402eb1
push 0x400
push eax
push esi
call fcn.0040cb78
push esi
call fcn.00407195
cmp word [eax], 0x5c
sete bl
test bl, bl
je 0x402ec7
xor ecx, ecx
mov word [eax], cx
xor edi, edi
cmp word [0x421c8c], di
je 0x402efc
cmp word [0x421c8e], di
je 0x402efc
mov eax, 0x421c90
cmp word [0x421c90], di
je 0x402efc
cmp word [eax], 0x3a
jne 0x402ef5
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], di
jne 0x402ee9
push esi
push esi
call fcn.00407664
mov eax, dword [0x411b48]
test byte [eax + 0x24], 0x10
je 0x402f1c
mov eax, dword [eax + 0x1c]
cmp eax, edi
je 0x402f1a
cmp eax, 0xb
jne 0x402f1c
mov bl, 1
cmp byte [0x429ea9], 0x49
push edi
sete al
movzx eax, al
push eax
movzx eax, byte [0x4295c2]
push eax
push esi
push edi
call fcn.0040a253
test al, al
je 0x403221
cmp byte [0x4295c2], 0
jne 0x40301f
xor edi, edi
test bl, bl
jne 0x4030a3
push esi
call fcn.004046a3
cmp eax, 0xffffffff
je 0x40308d
test eax, eax
je 0x402f99
cmp eax, 1
jne 0x40301f
mov eax, dword [0x429500]
cmp eax, 2
je 0x403212
cmp byte [0x429521], 0
jne 0x402f95
cmp byte [0x429520], 0
je 0x402fa7
test edi, edi
jmp 0x402fa1
mov eax, dword [0x429500]
cmp eax, 2
je 0x403212
test eax, eax
je 0x402fb0
cmp eax, 3
jne 0x40301a
mov esi, 0x421c8c
push esi
lea eax, [ebp - 0x9d0]
push eax
call fcn.00409963
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.0040b0a5
cmp al, 0x43
je 0x403221
cmp al, 0x41
je 0x4031a7
cmp al, 0x4e
je 0x403212
cmp al, 0x52
je 0x403073
cmp al, 0x59
je 0x40301a
cmp al, 0x72
je 0x403073
cmp al, 0x79
jne 0x402fb0
mov esi, 0x421c8c
mov eax, dword [0x411b48]
test byte [eax + 0x40], 1
je 0x4031ec
call fcn.0040d5c5
xor edi, edi
cmp eax, edi
je 0x4031ee
cmp eax, 9
je 0x40336b
cmp eax, 1
jne 0x4031d1
cmp dword [0x4108e8], edi
jne 0x4031cc
cmp dword [0x4224a8], edi
je 0x4031b6
push edi
call fcn.0040a211
pop ecx
jmp 0x4031cc
lea eax, [ebp - 0x9d0]
push eax
mov esi, 0x421c8c
push esi
call fcn.00409963
xor edi, edi
inc edi
jmp 0x402f59
cmp byte [0x429520], 0
je 0x40301f
test edi, edi
je 0x403212
jmp 0x40301a
cmp byte [0x429520], 0
jne 0x403212
cmp word [0x421c8c], 0
je 0x403212
cmp dword [0x429524], 1
je 0x403212
mov eax, dword [0x411b48]
mov ecx, dword [eax + 0x1c]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
je 0x4030e0
cmp ecx, 0xb
jne 0x4030e3
mov edi, dword [eax + 0x24]
mov esi, 0x421c8c
push esi
call fcn.00403bcc
test al, al
jne 0x40315d
cmp byte [0x429567], al
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00403e03
test eax, eax
je 0x40315d
push 1
push esi
call fcn.00403e6f
cmp byte [0x429567], 0
push edi
sete al
movzx eax, al
push eax
push esi
push ebx
call fcn.00403e03
test eax, eax
je 0x40315d
push esi
push 0x6f
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
add esp, 0xc
push esi
mov esi, 0x4267b8
push ebx
mov ecx, esi
call fcn.0040191c
mov ecx, esi
call fcn.00401a17
jmp 0x403212
push esi
lea ecx, [ebp - 0x128]
call fcn.0040ce74
push dword [0x422494]
lea ecx, [ebp + 0x30]
push dword [0x422490]
call fcn.0040244f
push dword [0x4224a4]
lea ecx, [ebp + 0x30]
push dword [0x4224a0]
call fcn.0040244f
push dword [0x42249c]
lea ecx, [ebp + 0x30]
push dword [0x422498]
call fcn.0040244f
jmp 0x403212
mov dword [0x429500], 1
jmp 0x40301f
push esi
push 0x73
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
add esp, 0xc
inc dword [ebp + 0x50]
jmp 0x403212
cmp eax, dword [ebp + 0x74]
jle 0x4031d9
mov dword [ebp + 0x74], eax
push esi
push 0x73
call fcn.004093c8
push eax
push 0x42aeda
jmp 0x402d5e
xor edi, edi
mov dword [0x421c5c], edi
call fcn.00401d98
cmp eax, edi
je 0x403212
cmp eax, dword [ebp + 0x74]
jle 0x403205
mov dword [ebp + 0x74], eax
cmp dword [0x421c5c], 1
jg 0x403377
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x5c]
jl 0x4029bc
mov ecx, dword [0x421b78]
push 0
push dword [ebp]
push dword [ebp - 4]
call fcn.00403a3e
mov ecx, dword [0x421b78]
call fcn.0040360f
push 0x2000
push dword [0x421b54]
mov dword [0x421b98], eax
mov dword [0x421b9c], edx
call fcn.004041e0
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 0x402526
mov edi, 0x400
push edi
lea eax, [ebp - 0x9d0]
push eax
lea ecx, [ebp - 0x128]
call fcn.0040ceec
test al, al
je 0x4033d7
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.0040d039
lea ecx, [ebp - 0x5c]
call fcn.0040d039
lea ecx, [ebp - 0x38]
call fcn.0040d039
cmp dword [0x429a8c], ebx
je 0x4032f6
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x80]
call fcn.0040d03f
cmp dword [0x429a90], ebx
je 0x403314
cmp dword [ebp + 0x58], ebx
jne 0x403308
cmp dword [ebp + 0x54], ebx
je 0x403314
lea eax, [ebp + 0x54]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040d03f
cmp dword [0x429a94], ebx
je 0x403332
cmp dword [ebp + 0x64], ebx
jne 0x403326
cmp dword [ebp + 0x60], ebx
je 0x403332
lea eax, [ebp + 0x60]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040d03f
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.00403f1d
push edi
lea eax, [ebp - 0x9d0]
push eax
lea ecx, [ebp - 0x128]
add esi, 0x18
call fcn.0040ceec
test al, al
jne 0x4032a7
jmp 0x4033d9
push edi
call fcn.0040a211
pop ecx
jmp 0x40327f
lea ecx, [ebp - 0x118]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x128], esi
je 0x403397
push dword [ebp - 0x128]
call fcn.0040945d
cmp dword [ebp + 0x30], esi
je 0x4033a4
push dword [ebp + 0x30]
call fcn.0040945d
lea ecx, [ebp - 0x1c0]
call fcn.0040146d
cmp dword [ebp - 0x1d0], esi
je 0x4033c2
push dword [ebp - 0x1d0]
call fcn.0040945d
cmp dword [ebp + 0x24], esi
je 0x4033cf
push dword [ebp + 0x24]
call fcn.0040945d
mov eax, dword [ebp + 0x74]
jmp 0x4034e7
xor ebx, ebx
cmp byte [0x425672], 0
jne 0x403411
cmp dword [ebp + 0x40], ebx
je 0x403411
cmp byte [0x422524], 0
jne 0x403411
push 0xa0
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
mov ebx, dword [ebp + 0x74]
pop ecx
pop ecx
test ebx, ebx
jne 0x403414
inc ebx
jmp 0x403414
mov ebx, dword [ebp + 0x74]
mov edi, dword [ebp + 0x48]
movzx esi, word [ebp + 0x50]
inc edi
cmp edi, esi
jne 0x403449
cmp byte [0x429ea9], 0x49
je 0x403449
cmp dword [0x4224a8], 0
jne 0x403449
push 0x343
call fcn.004093c8
push eax
push 0x42aeda
call fcn.0040a73c
pop ecx
pop ecx
test edi, edi
jne 0x403463
cmp ebx, 1
jg 0x403463
xor ax, ax
cmp ax, word [ebp + 0x4c]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x40348d
cmp edi, esi
jne 0x403470
cmp ebx, 1
jg 0x403470
push 0x52
jmp 0x40347e
cmp word [ebp + 0x4c], 0
jbe 0x403481
cmp ebx, 1
jg 0x403481
push 0x51
pop ebx
jmp 0x40348d
cmp word [ebp + 0x50], 0
jbe 0x40348d
test ebx, ebx
jne 0x40348d
inc ebx
lea ecx, [ebp - 0x118]
call fcn.0040146d
xor esi, esi
cmp dword [ebp - 0x128], esi
je 0x4034ad
push dword [ebp - 0x128]
call fcn.0040945d
cmp dword [ebp + 0x30], esi
je 0x4034ba
push dword [ebp + 0x30]
call fcn.0040945d
lea ecx, [ebp - 0x1c0]
call fcn.0040146d
cmp dword [ebp - 0x1d0], esi
je 0x4034d8
push dword [ebp - 0x1d0]
call fcn.0040945d
cmp dword [ebp + 0x24], esi
je 0x4034e5
push dword [ebp + 0x24]
call fcn.0040945d
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret