Function at 0x4022bf
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.00402159
lea ecx, [esp + 0x14c]
call fcn.0040c9dc
lea ecx, [esp + 0xa4]
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
call fcn.0040c9dc
mov eax, dword [esp + 0x48]
mov dword [0x411548], eax
mov dword [0x410908], 1
mov ebx, 0x42167c
cmp byte [0x42584a], 0
jne 0x402f7b
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 0x402374
cmp byte [0x4226fc], 0
je 0x402666
cmp eax, dword [esp + 0x4c]
jl 0x402389
mov eax, dword [esp + 0x20]
inc eax
push eax
lea ecx, [esp + 0x4c]
call fcn.00402247
mov eax, dword [esp + 0x48]
push 4
add eax, esi
push ebp
mov dword [0x411548], eax
call fcn.004040ab
test eax, eax
je 0x4025d4
push 4
push 0x4215a5
push ebp
call fcn.0040950d
test eax, eax
jne 0x4025e1
call fcn.00408830
test eax, eax
jne 0x402640
movzx eax, word [0x4215dc]
push eax
movzx eax, word [0x4215f8]
push 2
push eax
call fcn.00404499
test eax, eax
je 0x4023f3
cmp eax, dword [esp + 0x10]
jle 0x4023eb
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402646
movzx eax, word [0x4215fa]
push 0
push 3
push eax
call fcn.00404499
test eax, eax
je 0x40241a
cmp eax, dword [esp + 0x10]
jle 0x402412
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402646
movzx eax, word [0x4215fa]
push 0x4215de
push eax
push dword [0x421598]
call fcn.0040cc65
movzx eax, word [0x4215fc]
push 0
push 0
push eax
call fcn.00404499
test eax, eax
je 0x402459
cmp eax, dword [esp + 0x10]
jle 0x402451
mov dword [esp + 0x10], eax
cmp eax, edi
jg 0x402646
test byte [0x421604], 0x10
je 0x402488
movzx eax, byte [0x4215d9]
test eax, eax
je 0x402472
cmp eax, 0xb
jne 0x402488
push ebx
call fcn.004075d6
cmp byte [eax], 0x5c
je 0x402488
push 0x40e2f8
push ebx
call fcn.0040956a
lea ecx, [esp + 0x1f4]
call fcn.0040227c
push 0xce8
push 0
lea eax, [esp + 0x1fc]
push eax
call fcn.004092f5
push ebx
lea eax, [esp + 0x228]
push eax
call fcn.00409447
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 0x402540
mov eax, 0x200
or word [esp + 0x1fc], ax
push 0x400
lea eax, [esp + 0x628]
push eax
push ebx
call fcn.0040d1bd
xor eax, eax
mov word [esp + 0xe22], ax
push 0x3ff
lea eax, [esp + 0x228]
push eax
lea eax, [esp + 0x62c]
push eax
call fcn.0040d0c4
mov byte [esp + 0x623], 0
push 5
push 0
lea eax, [esp + 0x1fc]
push eax
mov ecx, 0x4269b0
call fcn.004014d6
test eax, eax
setne byte [esp + 0x17]
cmp byte [0x42167c], 0
je 0x402590
cmp byte [0x42167d], 0
je 0x402590
cmp byte [0x42167e], 0
mov eax, 0x42167e
je 0x402590
cmp byte [eax], 0x3a
jne 0x402585
mov byte [eax], 0x5f
push eax
call fcn.0040221f
cmp byte [eax], 0
jne 0x40257d
cmp byte [esp + 0x17], 0
je 0x4025ba
call fcn.00401bc6
test eax, eax
je 0x4025b6
push ebx
lea ecx, [esp + 0x150]
call fcn.0040c9fb
inc dword [esp + 0x20]
add esi, 0x30
jmp 0x4025ba
inc dword [esp + 0x24]
add dword [esp + 0x40], edi
lea ecx, [esp + 0xe24]
adc dword [esp + 0x44], 0
call fcn.0040223a
jmp 0x40235e
mov dword [esp + 0x10], 0x33
jmp 0x402662
mov ecx, dword [0x421620]
mov eax, ecx
xor eax, dword [esp + 0x40]
mov esi, 0xffff
and eax, esi
xor edx, edx
or eax, edx
je 0x402627
cmp ecx, esi
jne 0x402606
cmp dword [0x421624], edx
je 0x402627
push 0xa0
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
pop ecx
pop ecx
mov dword [esp + 0x10], 3
jmp 0x402662
push 4
push 0x4215aa
push ebp
call fcn.0040950d
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x64], eax
jmp 0x402662
mov dword [esp + 0x10], eax
jmp 0x402662
push ebx
call fcn.0040c7f0
push eax
push 0x68
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
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 0x4026e5
push 0x40e2f4
xor esi, esi
push 0x42aca4
mov dword [0x422700], esi
call fcn.004077be
cmp word [0x42b0a4], si
je 0x4026cb
push 0x40e2ec
push 0x42b0a4
call fcn.004077fd
mov ecx, dword [0x421578]
cmp ecx, esi
je 0x4026da
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [0x421578], esi
call fcn.00403e4a
and dword [esp + 0x30], 0
cmp dword [esp + 0x20], 0
jle 0x402f10
mov eax, dword [esp + 0x3c]
shl eax, 6
mov dword [esp + 0x68], eax
jmp 0x402706
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.0040ca4d
cmp byte [0x4226fc], 0
mov dword [esp + 0x54], eax
je 0x4027d3
mov eax, dword [0x411548]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x422700]
je 0x4027d3
movzx ecx, word [0x421610]
cmp eax, ecx
jne 0x402783
push 0x40e2e8
push 0x42aca4
call fcn.004077be
cmp word [0x42b0a4], 0
je 0x4027aa
push 0x40e2e0
push 0x42b0a4
call fcn.004077fd
jmp 0x4027aa
push eax
push 0x42aca4
call fcn.004020e3
cmp word [0x42b0a4], 0
je 0x4027aa
mov eax, dword [0x411548]
push dword [eax + 0x20]
push 0x42b0a4
call fcn.0040211d
mov eax, dword [0x411548]
mov ecx, dword [0x421578]
mov eax, dword [eax + 0x20]
mov dword [0x422700], eax
test ecx, ecx
je 0x4027c7
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x421578], 0
call fcn.00403e4a
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 0x4028af
jl 0x402813
test edi, edi
jae 0x4028af
push 0xa0
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
cmp dword [esp + 0x30], 0
pop ecx
pop ecx
mov dword [esp + 0x10], 2
jne 0x4028a2
mov eax, dword [0x421590]
mov ecx, dword [0x421594]
mov edx, eax
or edx, ecx
je 0x4028a2
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 0x4028af
jl 0x40288b
test edi, edi
jae 0x4028af
push 0xa0
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
pop ecx
pop ecx
mov dword [esp + 0x10], 3
jmp 0x402efe
cmp eax, dword [0x421588]
jne 0x4028ee
cmp ecx, dword [0x42158c]
jne 0x4028ee
cmp byte [0x4226fc], 0
jne 0x4028ee
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 0x40295c
push 0
push ecx
mov ecx, dword [0x421578]
push eax
call fcn.0040378c
mov ecx, dword [0x421578]
call fcn.004032c6
push 0x2000
push dword [0x421554]
mov dword [0x421588], eax
mov dword [0x42158c], edx
call fcn.00403fb8
cdq
mov dword [0x421560], eax
mov dword [0x421564], edx
test edx, edx
jg 0x402941
jl 0x40288b
test eax, eax
jbe 0x40288b
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.004040ab
test eax, eax
je 0x40288b
push 4
push 0x4215a0
push edi
call fcn.0040950d
mov esi, 0xa0
test eax, eax
je 0x402a38
push esi
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
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 0x4029bf
mov ebp, eax
or ebp, ecx
jne 0x402a22
or eax, ecx
jne 0x402efe
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x38]
je 0x402efe
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.004042a6
test eax, eax
jne 0x402a1c
push 4
push edi
call fcn.004040ab
test eax, eax
je 0x402a1c
push 4
push 0x4215a0
push edi
call fcn.0040950d
test eax, eax
je 0x402a38
push esi
jmp 0x402890
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [0x421590], edx
mov dword [0x421594], edx
jmp 0x4029ec
call fcn.00408340
mov edi, eax
xor ebp, ebp
cmp edi, ebp
je 0x402a61
push esi
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
pop ecx
pop ecx
mov dword [esp + 0x10], edi
jmp 0x402efe
movzx eax, word [0x4215b2]
push eax
movzx eax, word [0x4215d0]
push 2
push eax
call fcn.00404499
cmp eax, ebp
je 0x402aac
cmp eax, dword [esp + 0x10]
jle 0x402a86
mov dword [esp + 0x10], eax
cmp eax, 1
jle 0x402aac
push ebx
call fcn.0040c7f0
push eax
push 0x68
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
add esp, 0xc
jmp 0x402efe
mov eax, dword [0x421598]
cmp eax, ebp
je 0x402ac1
push eax
call fcn.00409172
mov dword [0x421598], ebp
movzx eax, word [0x4215d2]
push ebp
push 3
push eax
call fcn.00404499
cmp eax, ebp
je 0x402ae4
cmp eax, dword [esp + 0x10]
jle 0x402adf
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x402a8b
movzx eax, word [0x4215d2]
push 0x4215b4
push eax
push dword [0x421598]
call fcn.0040cc65
cmp dword [esp + 0x54], ebp
je 0x402b0c
push dword [esp + 0x54]
push ebx
call fcn.00409447
push ebx
call fcn.004075d6
cmp byte [eax], 0x5c
sete byte [esp + 0x17]
cmp byte [esp + 0x17], 0
je 0x402b24
mov byte [eax], 0
push ebx
push ebx
call fcn.004075f2
push ebx
mov ebp, 0x42227c
push ebp
call fcn.00409447
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 0x402b78
mov edi, 0x400
push edi
push esi
push ebx
call fcn.0040d1bd
push edi
push ebp
xor eax, eax
push esi
mov word [0x42227a], ax
call fcn.0040d0c4
mov byte [0x42267b], 0
mov eax, dword [0x411548]
test byte [eax + 0x24], 0x10
je 0x402b94
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x402b8f
cmp eax, 0xb
jne 0x402b94
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.00409e9d
test al, al
je 0x402f10
cmp byte [0x429792], 0
jne 0x402e60
cmp byte [esp + 0x17], 0
jne 0x402d42
push esi
push ebx
call fcn.0040440e
cmp eax, 0xffffffff
je 0x402d28
test eax, eax
je 0x402c15
cmp eax, 1
jne 0x402e60
mov eax, dword [0x4296d4]
cmp eax, 2
je 0x402efe
cmp byte [0x4296f5], 0
jne 0x402c11
cmp byte [0x4296f4], 0
je 0x402c23
test edi, edi
jmp 0x402c1d
mov eax, dword [0x4296d4]
cmp eax, 2
je 0x402efe
test eax, eax
je 0x402c30
cmp eax, 3
jne 0x402e60
push 0x42227c
lea eax, [esp + 0xee0]
push eax
call fcn.00409447
push 0x421a7c
lea eax, [esp + 0x1f8]
push eax
call fcn.004095b2
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.0040ad48
cmp al, 0x43
je 0x402f10
cmp al, 0x41
je 0x402e56
cmp al, 0x4e
je 0x402efe
cmp al, 0x52
je 0x402cc0
cmp al, 0x59
je 0x402e60
cmp al, 0x72
je 0x402cc0
cmp al, 0x79
jne 0x402c30
jmp 0x402e60
mov esi, 0x421a7c
lea eax, [esp + 0xedc]
push eax
push ebx
call fcn.00409447
lea eax, [esp + 0x1f4]
push eax
push esi
call fcn.004095b2
cmp byte [esp + 0x1f], 0
je 0x402d05
cmp word [0x421a7c], 0
je 0x402d05
push 0x400
push ebx
push esi
call fcn.0040d121
mov byte [0x421a7b], 0
push ebx
call fcn.00409354
cmp byte [eax + 0x42167b], 0xa
jne 0x402d1c
dec eax
mov byte [eax + 0x42167c], 0
test eax, eax
je 0x402cc5
xor edi, edi
inc edi
jmp 0x402bd4
cmp byte [0x4296f4], 0
je 0x402e60
test edi, edi
je 0x402efe
jmp 0x402e60
cmp byte [0x4296f4], 0
jne 0x402efe
cmp byte [0x42167c], 0
je 0x402efe
cmp dword [0x4296f8], 1
je 0x402efe
mov eax, dword [0x411548]
mov ecx, dword [eax + 0x1c]
xor esi, esi
test ecx, ecx
je 0x402d7c
cmp ecx, 0xb
jne 0x402d7f
mov esi, dword [eax + 0x24]
mov edi, 0x421a7c
push edi
push ebx
call fcn.004038d0
test al, al
jne 0x402dfa
cmp byte [0x429737], al
push esi
sete al
movzx eax, al
push eax
push edi
push ebx
call fcn.00403af4
test eax, eax
je 0x402dfa
push 1
push edi
push ebx
call fcn.00403cbd
cmp byte [0x429737], 0
push esi
sete al
movzx eax, al
push eax
push edi
push ebx
call fcn.00403af4
test eax, eax
je 0x402dfa
push 0x42227c
call fcn.0040c7f0
push eax
push 0x6f
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
add esp, 0xc
mov ecx, 0x42698c
call fcn.00401964
jmp 0x402efe
movzx esi, word [0x4215b8]
movzx eax, word [0x4215b6]
shl esi, 0x10
lea ecx, [esp + 0x80]
or esi, eax
call fcn.0040cba8
push esi
lea ecx, [esp + 0x84]
call fcn.0040cb2e
push 0
push 0
lea eax, [esp + 0x88]
push eax
push edi
push ebx
call fcn.00403cf5
push edi
push ebx
lea ecx, [esp + 0xac]
call fcn.0040c905
push esi
lea ecx, [esp + 0x5c]
call fcn.00402261
jmp 0x402efe
mov dword [0x4296d4], 1
mov eax, dword [0x411548]
test byte [eax + 0x28], 1
je 0x402ed6
call fcn.0040d0b1
xor esi, esi
cmp eax, esi
je 0x402ed8
cmp eax, 1
jne 0x402eba
cmp dword [0x4108e8], esi
jne 0x402eb4
cmp dword [0x42267c], esi
je 0x402e94
push esi
call fcn.00409e5b
pop ecx
jmp 0x402eb4
push 0x42227c
call fcn.0040c7f0
push eax
push 0x73
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
add esp, 0xc
inc dword [esp + 0x2c]
jmp 0x402efe
cmp eax, dword [esp + 0x10]
jle 0x402ec4
mov dword [esp + 0x10], eax
push 0x42227c
call fcn.0040c7f0
push eax
push 0x73
jmp 0x402a94
xor esi, esi
mov dword [0x42164c], esi
call fcn.00401cda
cmp eax, esi
je 0x402efe
cmp eax, dword [esp + 0x10]
jle 0x402ef1
mov dword [esp + 0x10], eax
cmp dword [0x42164c], 1
jg 0x40304d
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jl 0x402702
mov ecx, dword [0x421578]
push 0
push dword [esp + 0x80]
push dword [esp + 0x80]
call fcn.0040378c
mov ecx, dword [0x421578]
call fcn.004032c6
push 0x2000
push dword [0x421554]
mov dword [0x421588], eax
mov dword [0x42158c], edx
call fcn.00403fb8
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 0x402343
mov ebx, 0x400
push ebx
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xee4]
push eax
lea ecx, [esp + 0xb0]
call fcn.0040ca09
xor ebp, ebp
test al, al
je 0x403005
mov esi, dword [esp + 0x58]
mov edi, dword [esi]
lea ecx, [esp + 0x80]
call fcn.0040cba8
push edi
lea ecx, [esp + 0x84]
call fcn.0040cb2e
push ebp
push ebp
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0xeec]
push eax
call fcn.00403cf5
push ebx
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xee4]
push eax
lea ecx, [esp + 0xb0]
add esi, 4
call fcn.0040ca09
test al, al
jne 0x402fa7
cmp byte [0x42584a], 0
jne 0x4030b8
cmp dword [esp + 0x64], ebp
je 0x4030b8
cmp byte [0x4226fc], 0
jne 0x4030b8
push 0xa0
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
mov esi, dword [esp + 0x18]
pop ecx
pop ecx
cmp esi, ebp
jne 0x4030bc
xor esi, esi
inc esi
jmp 0x4030bc
lea ecx, [esp + 0xb4]
call fcn.0040223a
xor esi, esi
cmp dword [esp + 0xa4], esi
je 0x403070
push dword [esp + 0xa4]
call fcn.00409172
cmp dword [esp + 0x58], esi
je 0x40307f
push dword [esp + 0x58]
call fcn.00409172
lea ecx, [esp + 0x15c]
call fcn.0040223a
cmp dword [esp + 0x14c], esi
je 0x4030a0
push dword [esp + 0x14c]
call fcn.00409172
cmp dword [esp + 0x48], esi
je 0x4030af
push dword [esp + 0x48]
call fcn.00409172
mov eax, dword [esp + 0x10]
jmp 0x40319b
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
movzx ebx, word [esp + 0x2c]
inc edi
cmp edi, ebx
jne 0x4030f2
cmp byte [0x42a073], 0x49
je 0x4030f2
cmp dword [0x42267c], ebp
jne 0x4030f2
push 0x343
call fcn.004090dd
push eax
push 0x42b0a4
call fcn.0040a386
pop ecx
pop ecx
cmp edi, ebp
jne 0x40310d
cmp esi, 1
jg 0x40310d
xor ax, ax
cmp ax, word [esp + 0x24]
sbb esi, esi
and esi, 0x46
add esi, 0xb
jmp 0x403139
cmp edi, ebx
jne 0x40311a
cmp esi, 1
jg 0x40311a
push 0x52
jmp 0x403128
cmp word [esp + 0x24], bp
jbe 0x40312b
cmp esi, 1
jg 0x40312b
push 0x51
pop esi
jmp 0x403139
cmp word [esp + 0x2c], bp
jbe 0x403139
cmp esi, ebp
jne 0x403139
xor esi, esi
inc esi
lea ecx, [esp + 0xb4]
call fcn.0040223a
cmp dword [esp + 0xa4], ebp
je 0x40315a
push dword [esp + 0xa4]
call fcn.00409172
cmp dword [esp + 0x58], ebp
je 0x403169
push dword [esp + 0x58]
call fcn.00409172
lea ecx, [esp + 0x15c]
call fcn.0040223a
cmp dword [esp + 0x14c], ebp
je 0x40318a
push dword [esp + 0x14c]
call fcn.00409172
cmp dword [esp + 0x48], ebp
je 0x403199
push dword [esp + 0x48]
call fcn.00409172
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12cc
ret