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

Disassembly:
mov eax, 0x12cc
call fcn.004012c0
or dword [esp + 0x1c], 0xffffffff
push ebx
push ebp
push esi
xor esi, esi
push edi
push 0x40
lea ecx, [esp + 0x50]
mov dword [esp + 0x44], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x1c], esi
call fcn.0040220d
lea ecx, [esp + 0x14c]
call fcn.0040cc9e
lea ecx, [esp + 0xa4]
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
call fcn.0040cc9e
mov eax, dword [esp + 0x4c]
mov dword [0x411548], eax
mov dword [0x410908], 1
mov ebx, 0x42167c
cmp byte [0x42584a], 0
jne 0x40304c
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 0x40241b
cmp byte [0x4226fc], 0
je 0x402730
cmp eax, dword [esp + 0x50]
jl 0x402430
mov eax, dword [esp + 0x20]
inc eax
push eax
lea ecx, [esp + 0x50]
call fcn.004022ee
mov eax, dword [esp + 0x4c]
push 4
add eax, esi
push ebp
mov dword [0x411548], eax
call fcn.004041b5
test eax, eax
je 0x402688
push 4
push 0x4215a5
push ebp
call fcn.00409721
test eax, eax
jne 0x402695
call fcn.004089f9
test eax, eax
jne 0x40270a
movzx eax, word [0x4215dc]
push eax
movzx eax, word [0x4215f8]
push 2
push eax
call fcn.004045ab
test eax, eax
je 0x40249a
cmp eax, dword [esp + 0x10]
jle 0x402492
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402710
movzx eax, word [0x4215fa]
push 0
push 3
push eax
call fcn.004045ab
test eax, eax
je 0x4024c1
cmp eax, dword [esp + 0x10]
jle 0x4024b9
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402710
movzx eax, word [0x4215fa]
push 0x4215de
push eax
push dword [0x421598]
call fcn.0040cf34
movzx eax, word [0x4215fc]
push 0
push 0
push eax
call fcn.004045ab
test eax, eax
je 0x402500
cmp eax, dword [esp + 0x10]
jle 0x4024f8
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402710
test byte [0x421604], 0x10
je 0x40252f
movzx eax, byte [0x4215d9]
test eax, eax
je 0x402519
cmp eax, 0xb
jne 0x40252f
push ebx
call fcn.004076dc
cmp byte [eax], 0x5c
je 0x40252f
push 0x40e304
push ebx
call fcn.0040977e
lea ecx, [esp + 0x1f4]
call fcn.00402323
push 0xce8
push 0
lea eax, [esp + 0x1fc]
push eax
call fcn.004094be
push ebx
lea eax, [esp + 0x228]
push eax
call fcn.0040965b
movzx eax, word [0x4215e2]
movzx ecx, word [0x4215e0]
shl eax, 0x10
or eax, ecx
push eax
lea ecx, [esp + 0xe3c]
mov dword [esp + 0x214], eax
call fcn.0040cdfd
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 0x4025f4
mov eax, 0x200
or word [esp + 0x1fc], ax
push 0x400
lea eax, [esp + 0x628]
push eax
push ebx
call fcn.0040d48c
xor eax, eax
mov word [esp + 0xe22], ax
push 0x3ff
lea eax, [esp + 0x228]
push eax
lea eax, [esp + 0x62c]
push eax
call fcn.0040d393
mov byte [esp + 0x623], 0
push 5
push 0
lea eax, [esp + 0x1fc]
push eax
mov ecx, 0x4269b0
call fcn.004014e3
test eax, eax
setne byte [esp + 0x17]
cmp byte [0x42167c], 0
je 0x402644
cmp byte [0x42167d], 0
je 0x402644
cmp byte [0x42167e], 0
mov eax, 0x42167e
je 0x402644
cmp byte [eax], 0x3a
jne 0x402639
mov byte [eax], 0x5f
push eax
call fcn.004022d3
cmp byte [eax], 0
jne 0x402631
cmp byte [esp + 0x17], 0
je 0x40266e
call fcn.00401c7a
test eax, eax
je 0x40266a
push ebx
lea ecx, [esp + 0x150]
call fcn.0040ccbd
inc dword [esp + 0x20]
add esi, 0x30
jmp 0x40266e
inc dword [esp + 0x24]
add dword [esp + 0x44], edi
lea ecx, [esp + 0xe24]
adc dword [esp + 0x48], 0
call fcn.0040146d
jmp 0x402405
mov dword [esp + 0x10], 0x33
jmp 0x40272c
mov ecx, dword [0x421620]
mov eax, ecx
xor eax, dword [esp + 0x44]
mov edx, 0xffff
and eax, edx
xor esi, esi
or eax, esi
je 0x4026db
cmp ecx, edx
jne 0x4026ba
cmp dword [0x421624], esi
je 0x4026db
push 0xa0
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
pop ecx
pop ecx
mov dword [esp + 0x10], 3
jmp 0x40272c
push 4
push 0x4215aa
push ebp
call fcn.00409721
test eax, eax
je 0x402703
push 4
push 0x40e2fc
push ebp
call fcn.00409721
test eax, eax
je 0x402703
mov dword [esp + 0x3c], edi
jmp 0x40272c
and dword [esp + 0x3c], 0
jmp 0x40272c
mov dword [esp + 0x10], eax
jmp 0x40272c
push ebx
call fcn.0040cab2
push eax
push 0x68
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
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 0x4027af
push 0x40e2f8
xor esi, esi
push 0x42aca4
mov dword [0x422700], esi
call fcn.00407991
cmp word [0x42b0a4], si
je 0x402795
push 0x40e2f0
push 0x42b0a4
call fcn.004079d0
mov ecx, dword [0x421578]
cmp ecx, esi
je 0x4027a4
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [0x421578], esi
call fcn.00403f54
and dword [esp + 0x38], 0
cmp dword [esp + 0x20], 0
jle 0x402fe1
mov eax, dword [esp + 0x40]
shl eax, 6
mov dword [esp + 0x68], eax
jmp 0x4027d0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
add eax, ecx
imul ecx, ecx, 0x30
add ecx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov dword [0x411548], ecx
lea ecx, [esp + 0x14c]
call fcn.0040cd0f
cmp byte [0x4226fc], 0
mov dword [esp + 0x64], eax
je 0x40289d
mov eax, dword [0x411548]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x422700]
je 0x40289d
movzx ecx, word [0x421610]
cmp eax, ecx
jne 0x40284d
push 0x40e2ec
push 0x42aca4
call fcn.00407991
cmp word [0x42b0a4], 0
je 0x402874
push 0x40e2e4
push 0x42b0a4
call fcn.004079d0
jmp 0x402874
push eax
push 0x42aca4
call fcn.00402197
cmp word [0x42b0a4], 0
je 0x402874
mov eax, dword [0x411548]
push dword [eax + 0x20]
push 0x42b0a4
call fcn.004021d1
mov eax, dword [0x411548]
mov ecx, dword [0x421578]
mov eax, dword [eax + 0x20]
mov dword [0x422700], eax
test ecx, ecx
je 0x402891
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x421578], 0
call fcn.00403f54
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 0x402979
jl 0x4028dd
test edi, edi
jae 0x402979
push 0xa0
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
cmp dword [esp + 0x34], 0
pop ecx
pop ecx
mov dword [esp + 0x10], 2
jne 0x40296c
mov eax, dword [0x421590]
mov ecx, dword [0x421594]
mov edx, eax
or edx, ecx
je 0x40296c
mov dword [esp + 0x34], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x34], 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 0x402979
jl 0x402955
test edi, edi
jae 0x402979
push 0xa0
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
pop ecx
pop ecx
mov dword [esp + 0x10], 3
jmp 0x402fcf
cmp eax, dword [0x421588]
jne 0x4029b8
cmp ecx, dword [0x42158c]
jne 0x4029b8
cmp byte [0x4226fc], 0
jne 0x4029b8
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 0x402a26
push 0
push ecx
mov ecx, dword [0x421578]
push eax
call fcn.00403873
mov ecx, dword [0x421578]
call fcn.00403397
push 0x2000
push dword [0x421554]
mov dword [0x421588], eax
mov dword [0x42158c], edx
call fcn.004040c2
cdq
mov dword [0x421560], eax
mov dword [0x421564], edx
test edx, edx
jg 0x402a0b
jl 0x402955
test eax, eax
jbe 0x402955
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.004041b5
test eax, eax
je 0x402955
push 4
push 0x4215a0
push edi
call fcn.00409721
mov esi, 0xa0
test eax, eax
je 0x402b02
push esi
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
mov eax, dword [0x421590]
pop ecx
xor edx, edx
pop ecx
mov ecx, dword [0x421594]
mov dword [esp + 0x10], 2
cmp dword [esp + 0x2c], edx
jne 0x402a89
mov ebp, eax
or ebp, ecx
jne 0x402aec
or eax, ecx
jne 0x402fcf
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x34]
je 0x402fcf
mov eax, dword [esp + 0x30]
mov dword [0x421590], eax
mov eax, dword [esp + 0x34]
mov dword [0x421594], eax
mov edi, 0x41093c
mov eax, dword [0x411548]
push dword [eax + 4]
push dword [eax]
call fcn.004043b0
test eax, eax
jne 0x402ae6
push 4
push edi
call fcn.004041b5
test eax, eax
je 0x402ae6
push 4
push 0x4215a0
push edi
call fcn.00409721
test eax, eax
je 0x402b02
push esi
jmp 0x40295a
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [0x421590], edx
mov dword [0x421594], edx
jmp 0x402ab6
call fcn.00408513
mov edi, eax
xor ebp, ebp
cmp edi, ebp
je 0x402b2b
push esi
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
pop ecx
pop ecx
mov dword [esp + 0x10], edi
jmp 0x402fcf
movzx eax, word [0x4215b2]
push eax
movzx eax, word [0x4215d0]
push 2
push eax
call fcn.004045ab
cmp eax, ebp
je 0x402b76
cmp eax, dword [esp + 0x10]
jle 0x402b50
mov dword [esp + 0x10], eax
cmp eax, 1
jle 0x402b76
push ebx
call fcn.0040cab2
push eax
push 0x68
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
add esp, 0xc
jmp 0x402fcf
mov eax, dword [0x421598]
cmp eax, ebp
je 0x402b8b
push eax
call fcn.0040933b
mov dword [0x421598], ebp
movzx eax, word [0x4215d2]
push ebp
push 3
push eax
call fcn.004045ab
cmp eax, ebp
je 0x402bae
cmp eax, dword [esp + 0x10]
jle 0x402ba9
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x402b55
movzx eax, word [0x4215d2]
push 0x4215b4
push eax
push dword [0x421598]
call fcn.0040cf34
cmp dword [esp + 0x64], ebp
je 0x402bd6
push dword [esp + 0x64]
push ebx
call fcn.0040965b
push ebx
call fcn.004076dc
cmp byte [eax], 0x5c
sete byte [esp + 0x17]
cmp byte [esp + 0x17], 0
je 0x402bee
mov byte [eax], 0
push ebx
push ebx
call fcn.004076f8
push ebx
mov ebp, 0x42227c
push ebp
call fcn.0040965b
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 0x402c42
mov edi, 0x400
push edi
push esi
push ebx
call fcn.0040d48c
push edi
push ebp
xor eax, eax
push esi
mov word [0x42227a], ax
call fcn.0040d393
mov byte [0x42267b], 0
mov eax, dword [0x411548]
test byte [eax + 0x24], 0x10
je 0x402c5e
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x402c59
cmp eax, 0xb
jne 0x402c5e
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.0040a0b1
test al, al
je 0x402fe1
cmp byte [0x429792], 0
jne 0x402f31
cmp byte [esp + 0x17], 0
jne 0x402e0c
push esi
push ebx
call fcn.00404520
cmp eax, 0xffffffff
je 0x402df2
test eax, eax
je 0x402cdf
cmp eax, 1
jne 0x402f31
mov eax, dword [0x4296d4]
cmp eax, 2
je 0x402fcf
cmp byte [0x4296f5], 0
jne 0x402cdb
cmp byte [0x4296f4], 0
je 0x402ced
test edi, edi
jmp 0x402ce7
mov eax, dword [0x4296d4]
cmp eax, 2
je 0x402fcf
test eax, eax
je 0x402cfa
cmp eax, 3
jne 0x402f31
push 0x42227c
lea eax, [esp + 0xee0]
push eax
call fcn.0040965b
push 0x421a7c
lea eax, [esp + 0x1f8]
push eax
call fcn.004097c6
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.0040af81
cmp al, 0x43
je 0x402fe1
cmp al, 0x41
je 0x402f27
cmp al, 0x4e
je 0x402fcf
cmp al, 0x52
je 0x402d8a
cmp al, 0x59
je 0x402f31
cmp al, 0x72
je 0x402d8a
cmp al, 0x79
jne 0x402cfa
jmp 0x402f31
mov esi, 0x421a7c
lea eax, [esp + 0xedc]
push eax
push ebx
call fcn.0040965b
lea eax, [esp + 0x1f4]
push eax
push esi
call fcn.004097c6
cmp byte [esp + 0x1f], 0
je 0x402dcf
cmp word [0x421a7c], 0
je 0x402dcf
push 0x400
push ebx
push esi
call fcn.0040d3f0
mov byte [0x421a7b], 0
push ebx
call fcn.00409568
cmp byte [eax + 0x42167b], 0xa
jne 0x402de6
dec eax
mov byte [eax + 0x42167c], 0
test eax, eax
je 0x402d8f
xor edi, edi
inc edi
jmp 0x402c9e
cmp byte [0x4296f4], 0
je 0x402f31
test edi, edi
je 0x402fcf
jmp 0x402f31
cmp byte [0x4296f4], 0
jne 0x402fcf
cmp byte [0x42167c], 0
je 0x402fcf
cmp dword [0x4296f8], 1
je 0x402fcf
mov eax, dword [0x411548]
mov ecx, dword [eax + 0x1c]
xor esi, esi
test ecx, ecx
je 0x402e46
cmp ecx, 0xb
jne 0x402e49
mov esi, dword [eax + 0x24]
mov edi, 0x421a7c
push edi
push ebx
call fcn.004039b7
test al, al
jne 0x402ecb
cmp byte [0x429737], al
push esi
sete al
movzx eax, al
push eax
push edi
push ebx
call fcn.00403bfe
test eax, eax
je 0x402ecb
push 1
push edi
push ebx
call fcn.00403dc7
cmp byte [0x429737], 0
push esi
sete al
movzx eax, al
push eax
push edi
push ebx
call fcn.00403bfe
test eax, eax
je 0x402ecb
push ebx
call fcn.0040cab2
push eax
push 0x6f
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
add esp, 0xc
push edi
mov esi, 0x42698c
push ebx
mov ecx, esi
call fcn.0040190c
mov ecx, esi
call fcn.00401a07
jmp 0x402fcf
movzx esi, word [0x4215b8]
movzx eax, word [0x4215b6]
shl esi, 0x10
lea ecx, [esp + 0x80]
or esi, eax
call fcn.0040ce77
push esi
lea ecx, [esp + 0x84]
call fcn.0040cdfd
push 0
push 0
lea eax, [esp + 0x88]
push eax
push edi
push ebx
call fcn.00403dff
push edi
push ebx
lea ecx, [esp + 0xac]
call fcn.0040cbc7
push esi
lea ecx, [esp + 0x5c]
call fcn.00402308
jmp 0x402fcf
mov dword [0x4296d4], 1
mov eax, dword [0x411548]
test byte [eax + 0x28], 1
je 0x402fa7
call fcn.0040d380
xor esi, esi
cmp eax, esi
je 0x402fa9
cmp eax, 1
jne 0x402f8b
cmp dword [0x4108e8], esi
jne 0x402f85
cmp dword [0x42267c], esi
je 0x402f65
push esi
call fcn.0040a06f
pop ecx
jmp 0x402f85
push 0x42227c
call fcn.0040cab2
push eax
push 0x73
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
add esp, 0xc
inc dword [esp + 0x28]
jmp 0x402fcf
cmp eax, dword [esp + 0x10]
jle 0x402f95
mov dword [esp + 0x10], eax
push 0x42227c
call fcn.0040cab2
push eax
push 0x73
jmp 0x402b5e
xor esi, esi
mov dword [0x42164c], esi
call fcn.00401d8e
cmp eax, esi
je 0x402fcf
cmp eax, dword [esp + 0x10]
jle 0x402fc2
mov dword [esp + 0x10], eax
cmp dword [0x42164c], 1
jg 0x40311e
inc dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x20]
jl 0x4027cc
mov ecx, dword [0x421578]
push 0
push dword [esp + 0x80]
push dword [esp + 0x80]
call fcn.00403873
mov ecx, dword [0x421578]
call fcn.00403397
push 0x2000
push dword [0x421554]
mov dword [0x421588], eax
mov dword [0x42158c], edx
call fcn.004040c2
mov eax, dword [esp + 0x6c]
inc dword [esp + 0x40]
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 0x4023ea
mov ebx, 0x400
push ebx
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xee4]
push eax
lea ecx, [esp + 0xb0]
call fcn.0040cccb
xor ebp, ebp
test al, al
je 0x4030d6
mov esi, dword [esp + 0x58]
mov edi, dword [esi]
lea ecx, [esp + 0x80]
call fcn.0040ce77
push edi
lea ecx, [esp + 0x84]
call fcn.0040cdfd
push ebp
push ebp
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0xeec]
push eax
call fcn.00403dff
push ebx
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xee4]
push eax
lea ecx, [esp + 0xb0]
add esi, 4
call fcn.0040cccb
test al, al
jne 0x403078
cmp byte [0x42584a], 0
jne 0x403189
cmp dword [esp + 0x3c], ebp
je 0x403189
cmp byte [0x4226fc], 0
jne 0x403189
push 0xa0
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
mov esi, dword [esp + 0x18]
pop ecx
pop ecx
cmp esi, ebp
jne 0x40318d
xor esi, esi
inc esi
jmp 0x40318d
lea ecx, [esp + 0xb4]
call fcn.0040146d
xor esi, esi
cmp dword [esp + 0xa4], esi
je 0x403141
push dword [esp + 0xa4]
call fcn.0040933b
cmp dword [esp + 0x58], esi
je 0x403150
push dword [esp + 0x58]
call fcn.0040933b
lea ecx, [esp + 0x15c]
call fcn.0040146d
cmp dword [esp + 0x14c], esi
je 0x403171
push dword [esp + 0x14c]
call fcn.0040933b
cmp dword [esp + 0x4c], esi
je 0x403180
push dword [esp + 0x4c]
call fcn.0040933b
mov eax, dword [esp + 0x10]
jmp 0x40326c
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
movzx ebx, word [esp + 0x28]
inc edi
cmp edi, ebx
jne 0x4031c3
cmp byte [0x42a073], 0x49
je 0x4031c3
cmp dword [0x42267c], ebp
jne 0x4031c3
push 0x343
call fcn.004092a6
push eax
push 0x42b0a4
call fcn.0040a59a
pop ecx
pop ecx
cmp edi, ebp
jne 0x4031de
cmp esi, 1
jg 0x4031de
xor ax, ax
cmp ax, word [esp + 0x24]
sbb esi, esi
and esi, 0x46
add esi, 0xb
jmp 0x40320a
cmp edi, ebx
jne 0x4031eb
cmp esi, 1
jg 0x4031eb
push 0x52
jmp 0x4031f9
cmp word [esp + 0x24], bp
jbe 0x4031fc
cmp esi, 1
jg 0x4031fc
push 0x51
pop esi
jmp 0x40320a
cmp word [esp + 0x28], bp
jbe 0x40320a
cmp esi, ebp
jne 0x40320a
xor esi, esi
inc esi
lea ecx, [esp + 0xb4]
call fcn.0040146d
cmp dword [esp + 0xa4], ebp
je 0x40322b
push dword [esp + 0xa4]
call fcn.0040933b
cmp dword [esp + 0x58], ebp
je 0x40323a
push dword [esp + 0x58]
call fcn.0040933b
lea ecx, [esp + 0x15c]
call fcn.0040146d
cmp dword [esp + 0x14c], ebp
je 0x40325b
push dword [esp + 0x14c]
call fcn.0040933b
cmp dword [esp + 0x4c], ebp
je 0x40326a
push dword [esp + 0x4c]
call fcn.0040933b
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12cc
ret