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

Disassembly:
mov eax, 0x12cc
call fcn.004012c0
or dword [esp + 0x18], 0xffffffff
push ebx
push ebp
push esi
xor esi, esi
push edi
push 0x40
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x1c], esi
call fcn.0040221c
lea ecx, [esp + 0x14c]
call fcn.0040cb4f
lea ecx, [esp + 0xa4]
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
call fcn.0040cb4f
mov eax, dword [esp + 0x48]
mov dword [0x411548], eax
mov dword [0x410908], 1
mov ebx, 0x42167c
cmp byte [0x42584a], 0
jne 0x403045
xor esi, esi
xor edi, edi
mov dword [esp + 0x20], esi
inc edi
mov ebp, 0x41093c
mov eax, dword [esp + 0x20]
cmp eax, 0x40
jl 0x402437
cmp byte [0x4226fc], 0
je 0x402729
cmp eax, dword [esp + 0x4c]
jl 0x40244c
mov eax, dword [esp + 0x20]
inc eax
push eax
lea ecx, [esp + 0x4c]
call fcn.0040230a
mov eax, dword [esp + 0x48]
push 4
add eax, esi
push ebp
mov dword [0x411548], eax
call fcn.00404198
test eax, eax
je 0x402697
push 4
push 0x4215a5
push ebp
call fcn.0040969c
test eax, eax
jne 0x4026a4
call fcn.004089bf
test eax, eax
jne 0x402703
movzx eax, word [0x4215dc]
push eax
movzx eax, word [0x4215f8]
push 2
push eax
call fcn.00404586
test eax, eax
je 0x4024b6
cmp eax, dword [esp + 0x10]
jle 0x4024ae
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402709
movzx eax, word [0x4215fa]
push 0
push 3
push eax
call fcn.00404586
test eax, eax
je 0x4024dd
cmp eax, dword [esp + 0x10]
jle 0x4024d5
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402709
movzx eax, word [0x4215fa]
push 0x4215de
push eax
push dword [0x421598]
call fcn.0040cdd8
movzx eax, word [0x4215fc]
push 0
push 0
push eax
call fcn.00404586
test eax, eax
je 0x40251c
cmp eax, dword [esp + 0x10]
jle 0x402514
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402709
test byte [0x421604], 0x10
je 0x40254b
movzx eax, byte [0x4215d9]
test eax, eax
je 0x402535
cmp eax, 0xb
jne 0x40254b
push ebx
call fcn.004076c3
cmp byte [eax], 0x5c
je 0x40254b
push 0x40e2fc
push ebx
call fcn.004096f9
lea ecx, [esp + 0x1f4]
call fcn.0040233f
push 0xce8
push 0
lea eax, [esp + 0x1fc]
push eax
call fcn.00409484
push ebx
lea eax, [esp + 0x228]
push eax
call fcn.004095d6
movzx eax, word [0x4215e2]
movzx ecx, word [0x4215e0]
shl eax, 0x10
or eax, ecx
mov dword [esp + 0x210], eax
mov eax, dword [0x4215f0]
mov dword [esp + 0xed4], eax
mov eax, dword [0x4215f4]
mov dword [esp + 0xed8], eax
mov eax, dword [0x4215dc]
shr eax, 0xb
test al, 1
je 0x402603
mov eax, 0x200
or word [esp + 0x1fc], ax
push 0x400
lea eax, [esp + 0x628]
push eax
push ebx
call fcn.0040d330
xor eax, eax
mov word [esp + 0xe22], ax
push 0x3ff
lea eax, [esp + 0x228]
push eax
lea eax, [esp + 0x62c]
push eax
call fcn.0040d237
mov byte [esp + 0x623], 0
push 5
push 0
lea eax, [esp + 0x1fc]
push eax
mov ecx, 0x4269b0
call fcn.004014f2
test eax, eax
setne byte [esp + 0x17]
cmp byte [0x42167c], 0
je 0x402653
cmp byte [0x42167d], 0
je 0x402653
cmp byte [0x42167e], 0
mov eax, 0x42167e
je 0x402653
cmp byte [eax], 0x3a
jne 0x402648
mov byte [eax], 0x5f
push eax
call fcn.004022e2
cmp byte [eax], 0
jne 0x402640
cmp byte [esp + 0x17], 0
je 0x40267d
call fcn.00401c89
test eax, eax
je 0x402679
push ebx
lea ecx, [esp + 0x150]
call fcn.0040cb6e
inc dword [esp + 0x20]
add esi, 0x30
jmp 0x40267d
inc dword [esp + 0x24]
add dword [esp + 0x40], edi
lea ecx, [esp + 0xe24]
adc dword [esp + 0x44], 0
call fcn.004022fd
jmp 0x402421
mov dword [esp + 0x10], 0x33
jmp 0x402725
mov ecx, dword [0x421620]
mov eax, ecx
xor eax, dword [esp + 0x40]
mov edx, 0xffff
and eax, edx
xor esi, esi
or eax, esi
je 0x4026ea
cmp ecx, edx
jne 0x4026c9
cmp dword [0x421624], esi
je 0x4026ea
push 0xa0
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
pop ecx
pop ecx
mov dword [esp + 0x10], 3
jmp 0x402725
push 4
push 0x4215aa
push ebp
call fcn.0040969c
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x64], eax
jmp 0x402725
mov dword [esp + 0x10], eax
jmp 0x402725
push ebx
call fcn.0040c97f
push eax
push 0x68
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
add esp, 0xc
mov dword [esp + 0x18], edi
cmp byte [0x4226fc], 0
mov eax, dword [0x421588]
mov dword [esp + 0x78], eax
mov eax, dword [0x42158c]
mov dword [esp + 0x7c], eax
mov eax, dword [0x421558]
mov dword [esp + 0x6c], eax
mov eax, dword [0x421560]
mov dword [esp + 0x70], eax
mov eax, dword [0x421564]
mov dword [esp + 0x74], eax
je 0x4027a8
push 0x40e2f8
xor esi, esi
push 0x42aca4
mov dword [0x422700], esi
call fcn.0040794d
cmp word [0x42b0a4], si
je 0x40278e
push 0x40e2f0
push 0x42b0a4
call fcn.0040798c
mov ecx, dword [0x421578]
cmp ecx, esi
je 0x40279d
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [0x421578], esi
call fcn.00403f37
and dword [esp + 0x30], 0
cmp dword [esp + 0x20], 0
jle 0x402fda
mov eax, dword [esp + 0x3c]
shl eax, 6
mov dword [esp + 0x68], eax
jmp 0x4027c9
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x30]
add eax, ecx
imul ecx, ecx, 0x30
add ecx, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov dword [0x411548], ecx
lea ecx, [esp + 0x14c]
call fcn.0040cbc0
cmp byte [0x4226fc], 0
mov dword [esp + 0x54], eax
je 0x402896
mov eax, dword [0x411548]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x422700]
je 0x402896
movzx ecx, word [0x421610]
cmp eax, ecx
jne 0x402846
push 0x40e2ec
push 0x42aca4
call fcn.0040794d
cmp word [0x42b0a4], 0
je 0x40286d
push 0x40e2e4
push 0x42b0a4
call fcn.0040798c
jmp 0x40286d
push eax
push 0x42aca4
call fcn.004021a6
cmp word [0x42b0a4], 0
je 0x40286d
mov eax, dword [0x411548]
push dword [eax + 0x20]
push 0x42b0a4
call fcn.004021e0
mov eax, dword [0x411548]
mov ecx, dword [0x421578]
mov eax, dword [eax + 0x20]
mov dword [0x422700], eax
test ecx, ecx
je 0x40288a
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x421578], 0
call fcn.00403f37
mov eax, dword [0x411548]
mov edi, dword [eax]
add edi, dword [0x421590]
mov esi, dword [eax + 4]
adc esi, dword [0x421594]
push 0
push 0x2000
push esi
push edi
call fcn.00401200
mov ebp, eax
mov eax, edi
sub eax, ebp
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x402972
jl 0x4028d6
test edi, edi
jae 0x402972
push 0xa0
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
cmp dword [esp + 0x30], 0
pop ecx
pop ecx
mov dword [esp + 0x10], 2
jne 0x402965
mov eax, dword [0x421590]
mov ecx, dword [0x421594]
mov edx, eax
or edx, ecx
je 0x402965
mov dword [esp + 0x38], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [0x411548]
mov dword [0x421590], ecx
mov dword [0x421594], ecx
mov esi, dword [eax + 4]
mov edi, dword [eax]
push 0x2000
push esi
push edi
call fcn.00401200
mov ebp, eax
mov eax, edi
sub eax, ebp
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x402972
jl 0x40294e
test edi, edi
jae 0x402972
push 0xa0
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
pop ecx
pop ecx
mov dword [esp + 0x10], 3
jmp 0x402fc8
cmp eax, dword [0x421588]
jne 0x4029b1
cmp ecx, dword [0x42158c]
jne 0x4029b1
cmp byte [0x4226fc], 0
jne 0x4029b1
mov eax, dword [0x421558]
mov ecx, dword [0x421554]
sub eax, ebp
sub eax, ecx
cdq
add dword [0x421560], eax
adc dword [0x421564], edx
add ebp, ecx
mov dword [0x421558], ebp
jmp 0x402a1f
push 0
push ecx
mov ecx, dword [0x421578]
push eax
call fcn.00403856
mov ecx, dword [0x421578]
call fcn.00403390
push 0x2000
push dword [0x421554]
mov dword [0x421588], eax
mov dword [0x42158c], edx
call fcn.004040a5
cdq
mov dword [0x421560], eax
mov dword [0x421564], edx
test edx, edx
jg 0x402a04
jl 0x40294e
test eax, eax
jbe 0x40294e
mov eax, dword [0x421554]
add eax, ebp
mov dword [0x421558], eax
mov eax, ebp
cdq
sub dword [0x421560], eax
sbb dword [0x421564], edx
push 4
mov edi, 0x41093c
push edi
call fcn.00404198
test eax, eax
je 0x40294e
push 4
push 0x4215a0
push edi
call fcn.0040969c
mov esi, 0xa0
test eax, eax
je 0x402afb
push esi
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
mov eax, dword [0x421590]
pop ecx
xor edx, edx
pop ecx
mov ecx, dword [0x421594]
mov dword [esp + 0x10], 2
cmp dword [esp + 0x28], edx
jne 0x402a82
mov ebp, eax
or ebp, ecx
jne 0x402ae5
or eax, ecx
jne 0x402fc8
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x38]
je 0x402fc8
mov eax, dword [esp + 0x34]
mov dword [0x421590], eax
mov eax, dword [esp + 0x38]
mov dword [0x421594], eax
mov edi, 0x41093c
mov eax, dword [0x411548]
push dword [eax + 4]
push dword [eax]
call fcn.00404393
test eax, eax
jne 0x402adf
push 4
push edi
call fcn.00404198
test eax, eax
je 0x402adf
push 4
push 0x4215a0
push edi
call fcn.0040969c
test eax, eax
je 0x402afb
push esi
jmp 0x402953
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [0x421590], edx
mov dword [0x421594], edx
jmp 0x402aaf
call fcn.004084cf
mov edi, eax
xor ebp, ebp
cmp edi, ebp
je 0x402b24
push esi
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
pop ecx
pop ecx
mov dword [esp + 0x10], edi
jmp 0x402fc8
movzx eax, word [0x4215b2]
push eax
movzx eax, word [0x4215d0]
push 2
push eax
call fcn.00404586
cmp eax, ebp
je 0x402b6f
cmp eax, dword [esp + 0x10]
jle 0x402b49
mov dword [esp + 0x10], eax
cmp eax, 1
jle 0x402b6f
push ebx
call fcn.0040c97f
push eax
push 0x68
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
add esp, 0xc
jmp 0x402fc8
mov eax, dword [0x421598]
cmp eax, ebp
je 0x402b84
push eax
call fcn.00409301
mov dword [0x421598], ebp
movzx eax, word [0x4215d2]
push ebp
push 3
push eax
call fcn.00404586
cmp eax, ebp
je 0x402ba7
cmp eax, dword [esp + 0x10]
jle 0x402ba2
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x402b4e
movzx eax, word [0x4215d2]
push 0x4215b4
push eax
push dword [0x421598]
call fcn.0040cdd8
cmp dword [esp + 0x54], ebp
je 0x402bcf
push dword [esp + 0x54]
push ebx
call fcn.004095d6
push ebx
call fcn.004076c3
cmp byte [eax], 0x5c
sete byte [esp + 0x17]
cmp byte [esp + 0x17], 0
je 0x402be7
mov byte [eax], 0
push ebx
push ebx
call fcn.004076df
push ebx
mov ebp, 0x42227c
push ebp
call fcn.004095d6
xor eax, eax
mov word [0x421a7c], ax
mov eax, dword [0x4215b2]
shr eax, 0xb
and al, 1
mov byte [esp + 0x1f], al
mov esi, 0x421a7c
je 0x402c3b
mov edi, 0x400
push edi
push esi
push ebx
call fcn.0040d330
push edi
push ebp
xor eax, eax
push esi
mov word [0x42227a], ax
call fcn.0040d237
mov byte [0x42267b], 0
mov eax, dword [0x411548]
test byte [eax + 0x24], 0x10
je 0x402c57
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x402c52
cmp eax, 0xb
jne 0x402c57
mov byte [esp + 0x17], 1
xor edi, edi
cmp byte [0x42a073], 0x49
push edi
sete al
movzx eax, al
push eax
movzx eax, byte [0x429792]
push eax
push edi
push ebx
call fcn.0040a02c
test al, al
je 0x402fda
cmp byte [0x429792], 0
jne 0x402f2a
cmp byte [esp + 0x17], 0
jne 0x402e05
push esi
push ebx
call fcn.004044fb
cmp eax, 0xffffffff
je 0x402deb
test eax, eax
je 0x402cd8
cmp eax, 1
jne 0x402f2a
mov eax, dword [0x4296d4]
cmp eax, 2
je 0x402fc8
cmp byte [0x4296f5], 0
jne 0x402cd4
cmp byte [0x4296f4], 0
je 0x402ce6
test edi, edi
jmp 0x402ce0
mov eax, dword [0x4296d4]
cmp eax, 2
je 0x402fc8
test eax, eax
je 0x402cf3
cmp eax, 3
jne 0x402f2a
push 0x42227c
lea eax, [esp + 0xee0]
push eax
call fcn.004095d6
push 0x421a7c
lea eax, [esp + 0x1f8]
push eax
call fcn.00409741
movzx eax, word [0x4215b8]
movzx ecx, word [0x4215b6]
push 0
shl eax, 0x10
add eax, ecx
push eax
push dword [0x41092c]
lea eax, [esp + 0x200]
push dword [0x410928]
push eax
lea eax, [esp + 0xef0]
push eax
call fcn.0040aed7
cmp al, 0x43
je 0x402fda
cmp al, 0x41
je 0x402f20
cmp al, 0x4e
je 0x402fc8
cmp al, 0x52
je 0x402d83
cmp al, 0x59
je 0x402f2a
cmp al, 0x72
je 0x402d83
cmp al, 0x79
jne 0x402cf3
jmp 0x402f2a
mov esi, 0x421a7c
lea eax, [esp + 0xedc]
push eax
push ebx
call fcn.004095d6
lea eax, [esp + 0x1f4]
push eax
push esi
call fcn.00409741
cmp byte [esp + 0x1f], 0
je 0x402dc8
cmp word [0x421a7c], 0
je 0x402dc8
push 0x400
push ebx
push esi
call fcn.0040d294
mov byte [0x421a7b], 0
push ebx
call fcn.004094e3
cmp byte [eax + 0x42167b], 0xa
jne 0x402ddf
dec eax
mov byte [eax + 0x42167c], 0
test eax, eax
je 0x402d88
xor edi, edi
inc edi
jmp 0x402c97
cmp byte [0x4296f4], 0
je 0x402f2a
test edi, edi
je 0x402fc8
jmp 0x402f2a
cmp byte [0x4296f4], 0
jne 0x402fc8
cmp byte [0x42167c], 0
je 0x402fc8
cmp dword [0x4296f8], 1
je 0x402fc8
mov eax, dword [0x411548]
mov ecx, dword [eax + 0x1c]
xor esi, esi
test ecx, ecx
je 0x402e3f
cmp ecx, 0xb
jne 0x402e42
mov esi, dword [eax + 0x24]
mov edi, 0x421a7c
push edi
push ebx
call fcn.0040399a
test al, al
jne 0x402ec4
cmp byte [0x429737], al
push esi
sete al
movzx eax, al
push eax
push edi
push ebx
call fcn.00403be1
test eax, eax
je 0x402ec4
push 1
push edi
push ebx
call fcn.00403daa
cmp byte [0x429737], 0
push esi
sete al
movzx eax, al
push eax
push edi
push ebx
call fcn.00403be1
test eax, eax
je 0x402ec4
push ebx
call fcn.0040c97f
push eax
push 0x6f
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
add esp, 0xc
push edi
mov esi, 0x42698c
push ebx
mov ecx, esi
call fcn.0040191b
mov ecx, esi
call fcn.00401a16
jmp 0x402fc8
movzx esi, word [0x4215b8]
movzx eax, word [0x4215b6]
shl esi, 0x10
lea ecx, [esp + 0x80]
or esi, eax
call fcn.0040cd1b
push esi
lea ecx, [esp + 0x84]
call fcn.0040cca1
push 0
push 0
lea eax, [esp + 0x88]
push eax
push edi
push ebx
call fcn.00403de2
push edi
push ebx
lea ecx, [esp + 0xac]
call fcn.0040ca78
push esi
lea ecx, [esp + 0x5c]
call fcn.00402324
jmp 0x402fc8
mov dword [0x4296d4], 1
mov eax, dword [0x411548]
test byte [eax + 0x28], 1
je 0x402fa0
call fcn.0040d224
xor esi, esi
cmp eax, esi
je 0x402fa2
cmp eax, 1
jne 0x402f84
cmp dword [0x4108e8], esi
jne 0x402f7e
cmp dword [0x42267c], esi
je 0x402f5e
push esi
call fcn.00409fea
pop ecx
jmp 0x402f7e
push 0x42227c
call fcn.0040c97f
push eax
push 0x73
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
add esp, 0xc
inc dword [esp + 0x2c]
jmp 0x402fc8
cmp eax, dword [esp + 0x10]
jle 0x402f8e
mov dword [esp + 0x10], eax
push 0x42227c
call fcn.0040c97f
push eax
push 0x73
jmp 0x402b57
xor esi, esi
mov dword [0x42164c], esi
call fcn.00401d9d
cmp eax, esi
je 0x402fc8
cmp eax, dword [esp + 0x10]
jle 0x402fbb
mov dword [esp + 0x10], eax
cmp dword [0x42164c], 1
jg 0x403117
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jl 0x4027c5
mov ecx, dword [0x421578]
push 0
push dword [esp + 0x80]
push dword [esp + 0x80]
call fcn.00403856
mov ecx, dword [0x421578]
call fcn.00403390
push 0x2000
push dword [0x421554]
mov dword [0x421588], eax
mov dword [0x42158c], edx
call fcn.004040a5
mov eax, dword [esp + 0x6c]
inc dword [esp + 0x3c]
cmp dword [esp + 0x18], 0
mov dword [0x421558], eax
mov eax, dword [esp + 0x70]
mov dword [0x421560], eax
mov eax, dword [esp + 0x74]
mov dword [0x421564], eax
je 0x402406
mov ebx, 0x400
push ebx
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xee4]
push eax
lea ecx, [esp + 0xb0]
call fcn.0040cb7c
xor ebp, ebp
test al, al
je 0x4030cf
mov esi, dword [esp + 0x58]
mov edi, dword [esi]
lea ecx, [esp + 0x80]
call fcn.0040cd1b
push edi
lea ecx, [esp + 0x84]
call fcn.0040cca1
push ebp
push ebp
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0xeec]
push eax
call fcn.00403de2
push ebx
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xee4]
push eax
lea ecx, [esp + 0xb0]
add esi, 4
call fcn.0040cb7c
test al, al
jne 0x403071
cmp byte [0x42584a], 0
jne 0x403182
cmp dword [esp + 0x64], ebp
je 0x403182
cmp byte [0x4226fc], 0
jne 0x403182
push 0xa0
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
mov esi, dword [esp + 0x18]
pop ecx
pop ecx
cmp esi, ebp
jne 0x403186
xor esi, esi
inc esi
jmp 0x403186
lea ecx, [esp + 0xb4]
call fcn.004022fd
xor esi, esi
cmp dword [esp + 0xa4], esi
je 0x40313a
push dword [esp + 0xa4]
call fcn.00409301
cmp dword [esp + 0x58], esi
je 0x403149
push dword [esp + 0x58]
call fcn.00409301
lea ecx, [esp + 0x15c]
call fcn.004022fd
cmp dword [esp + 0x14c], esi
je 0x40316a
push dword [esp + 0x14c]
call fcn.00409301
cmp dword [esp + 0x48], esi
je 0x403179
push dword [esp + 0x48]
call fcn.00409301
mov eax, dword [esp + 0x10]
jmp 0x403265
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
movzx ebx, word [esp + 0x2c]
inc edi
cmp edi, ebx
jne 0x4031bc
cmp byte [0x42a073], 0x49
je 0x4031bc
cmp dword [0x42267c], ebp
jne 0x4031bc
push 0x343
call fcn.0040926c
push eax
push 0x42b0a4
call fcn.0040a515
pop ecx
pop ecx
cmp edi, ebp
jne 0x4031d7
cmp esi, 1
jg 0x4031d7
xor ax, ax
cmp ax, word [esp + 0x24]
sbb esi, esi
and esi, 0x46
add esi, 0xb
jmp 0x403203
cmp edi, ebx
jne 0x4031e4
cmp esi, 1
jg 0x4031e4
push 0x52
jmp 0x4031f2
cmp word [esp + 0x24], bp
jbe 0x4031f5
cmp esi, 1
jg 0x4031f5
push 0x51
pop esi
jmp 0x403203
cmp word [esp + 0x2c], bp
jbe 0x403203
cmp esi, ebp
jne 0x403203
xor esi, esi
inc esi
lea ecx, [esp + 0xb4]
call fcn.004022fd
cmp dword [esp + 0xa4], ebp
je 0x403224
push dword [esp + 0xa4]
call fcn.00409301
cmp dword [esp + 0x58], ebp
je 0x403233
push dword [esp + 0x58]
call fcn.00409301
lea ecx, [esp + 0x15c]
call fcn.004022fd
cmp dword [esp + 0x14c], ebp
je 0x403254
push dword [esp + 0x14c]
call fcn.00409301
cmp dword [esp + 0x48], ebp
je 0x403263
push dword [esp + 0x48]
call fcn.00409301
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12cc
ret