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

Disassembly:
mov eax, 0x41cb87
call fcn.0040dd80
mov eax, 0x6430
call fcn.0040d8e0
or dword [esp + 0x10], 0xffffffff
push ebx
push ebp
push esi
xor esi, esi
push edi
push 0x40
lea ecx, [esp + 0x7c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], esi
call fcn.00401de9
lea ecx, [esp + 0xe4]
mov dword [esp + 0x6448], esi
call fcn.0040b625
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
lea ecx, [esp + 0x88]
mov byte [esp + 0x6448], 2
call fcn.0040b625
mov byte [esp + 0x6448], 3
mov dword [0x43e0f4], 1
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edi, 0x43a8f2
mov ebp, 0x44e244
inc esi
call fcn.0040bec5
test al, al
jne 0x402e8e
and dword [esp + 0x1c], 0
and dword [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0x40
jl 0x4022c8
cmp byte [0x44f2cc], 0
je 0x402639
cmp eax, dword [esp + 0x7c]
jl 0x4022dd
mov eax, dword [esp + 0x1c]
inc eax
push eax
lea ecx, [esp + 0x7c]
call fcn.00401e08
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
push 4
add ecx, eax
push 0x43e124
mov dword [0x43e12c], ecx
call fcn.00404313
test eax, eax
je 0x4025b4
push 0x43e124
call fcn.0040180b
test al, al
je 0x4025be
call fcn.00407174
test eax, eax
jne 0x402626
mov word [0x44e244], ax
movzx eax, byte [0x44e1b9]
push eax
movzx eax, word [0x44e1d8]
push 0x44e1bc
push 2
push eax
call fcn.0040455f
test eax, eax
je 0x402358
cmp eax, ebx
jle 0x402350
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp eax, esi
jg 0x40262c
movzx eax, word [0x44e1da]
push 0
push 0
push 3
push eax
call fcn.0040455f
test eax, eax
je 0x402381
cmp eax, ebx
jle 0x402379
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp eax, esi
jg 0x40262c
movzx eax, word [0x44e1da]
push 0
push eax
push dword [0x44e188]
call fcn.004072e8
movzx eax, word [0x44e1da]
mov ecx, dword [0x44e188]
push 0x44e1be
call fcn.00401a24
xor eax, eax
push eax
push eax
push eax
movzx eax, word [0x44e1dc]
push eax
call fcn.0040455f
test eax, eax
je 0x4023d3
cmp eax, ebx
jle 0x4023cb
mov dword [esp + 0x10], eax
cmp eax, esi
jg 0x40262c
mov ecx, dword [0x44e188]
push 0x3000
lea eax, [esp + 0x3444]
push eax
movzx eax, word [0x44e1da]
push dword [0x44f244]
call fcn.0040198f
test al, al
je 0x402418
mov esi, 0x800
push esi
push ebp
lea eax, [esp + 0x3448]
push eax
call fcn.0040c08f
push esi
push ebp
push ebp
call fcn.00406254
movzx eax, word [0x44e1c2]
movzx ecx, word [0x44e1c0]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x43e12c]
push eax
add ecx, 0x28
call fcn.0040b83c
mov eax, dword [0x43e12c]
add eax, 0x30
xor ebx, ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [0x43e12c]
add eax, 0x38
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [0x43e12c]
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0x30]
add eax, 0x28
push ecx
push eax
movzx eax, word [0x44e1da]
push eax
mov eax, dword [0x44e188]
call fcn.0040187a
movzx esi, word [0x44e1da]
mov edi, dword [0x44e188]
cmp esi, ebx
je 0x40248e
cmp edi, ebx
jne 0x4024be
xor bl, bl
jmp 0x4024d4
push edi
call fcn.004040a4
movzx ebx, ax
lea eax, [edi + 2]
push eax
call fcn.004040a4
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x40248e
cmp ebx, 0x17
je 0x4024c5
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402492
jmp 0x40248e
push ebp
push 0x43a8f2
push 0x20
mov bl, 1
call fcn.00401e45
lea ecx, [esp + 0x140]
call fcn.00401e74
push 0x2300
xor esi, esi
lea eax, [esp + 0x144]
push esi
push eax
mov byte [esp + 0x6454], 4
call fcn.0040d7f0
add esp, 0xc
push 0x800
push ebp
lea eax, [esp + 0x168]
push eax
call fcn.0040b3ab
mov eax, dword [0x43e12c]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x1170], ecx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1174], eax
mov eax, dword [0x44e1d0]
mov dword [esp + 0x1190], eax
mov eax, dword [0x44e1d4]
mov dword [esp + 0x1194], eax
test bl, bl
jne 0x402586
push 5
push esi
lea eax, [esp + 0x148]
push eax
mov ecx, 0x432620
call fcn.0040125e
test eax, eax
je 0x402586
call fcn.00401b03
test eax, eax
je 0x402582
push ebp
lea ecx, [esp + 0xe8]
call fcn.0040b5ad
inc dword [esp + 0x1c]
add dword [esp + 0x14], 0x48
jmp 0x402586
inc dword [esp + 0x24]
add dword [esp + 0x3c], 1
lea ecx, [esp + 0x1160]
mov byte [esp + 0x6448], 3
adc dword [esp + 0x40], esi
call fcn.00401d6b
mov ebx, dword [esp + 0x10]
xor esi, esi
inc esi
mov edi, 0x43a8f2
jmp 0x4022b2
mov dword [esp + 0x10], 0x33
jmp 0x402635
mov ecx, dword [0x44e200]
mov eax, ecx
xor eax, dword [esp + 0x3c]
mov ebx, 0xffff
and eax, ebx
xor edx, edx
or eax, edx
je 0x4025f8
cmp ecx, ebx
jne 0x4025e3
cmp dword [0x44e204], edx
je 0x4025f8
push edi
mov ecx, 0x4325fc
call fcn.0040175b
mov dword [esp + 0x10], 3
jmp 0x402635
mov ebx, 0x43e124
push ebx
call fcn.00401830
test al, al
jne 0x40261f
cmp byte [0x44f2d4], al
je 0x402619
push ebx
call fcn.00401855
test al, al
jne 0x40261f
mov dword [esp + 0x30], esi
jmp 0x402635
and dword [esp + 0x30], 0
jmp 0x402635
mov dword [esp + 0x10], eax
jmp 0x402635
push ebp
push edi
push 0x1a
call fcn.00401e45
mov dword [esp + 0x18], esi
cmp byte [0x44f2cc], 0
mov eax, dword [0x44e178]
mov dword [esp + 0x4c], eax
mov eax, dword [0x44e17c]
mov dword [esp + 0x50], eax
mov eax, dword [0x44e13c]
mov dword [esp + 0x6c], eax
mov eax, dword [0x44e140]
mov dword [esp + 0x54], eax
mov eax, dword [0x44e144]
mov dword [esp + 0x58], eax
je 0x4026c5
and dword [0x44f2d0], 0
push edi
call fcn.00401c3e
test al, al
mov eax, str.zx01
jne 0x40268a
mov eax, 0x41d458
push 0x800
push eax
push edi
call fcn.004067a9
mov ecx, dword [0x44e158]
test ecx, ecx
je 0x4026a5
mov eax, dword [ecx]
push esi
call dword [eax]
and dword [0x44e158], 0
call fcn.00403c82
cmp byte [0x4377e1], 0
push edi
sete al
movzx eax, al
push eax
call fcn.0040bc12
and dword [esp + 0x14], 0
cmp dword [esp + 0x1c], 0
jle 0x402e17
mov eax, dword [esp + 0x2c]
shl eax, 6
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
add ecx, eax
imul eax, eax, 0x48
add eax, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xe4]
mov dword [0x43e12c], eax
call fcn.0040b663
cmp byte [0x44f2cc], 0
mov dword [esp + 0x74], eax
je 0x40278e
mov eax, dword [0x43e12c]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x44f2d0]
je 0x40278e
movzx ecx, word [0x44e1f0]
cmp eax, ecx
jne 0x402755
mov esi, 0x43a8f2
push esi
call fcn.00401c3e
test al, al
mov eax, 0x41d44c
jne 0x402747
mov eax, 0x41d444
push 0x800
push eax
push esi
call fcn.004067a9
jmp 0x402765
push eax
push 0x800
push 0x43a8f2
call fcn.00401d84
mov eax, dword [0x43e12c]
mov ecx, dword [0x44e158]
mov eax, dword [eax + 0x20]
mov dword [0x44f2d0], eax
test ecx, ecx
je 0x402782
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x44e158], 0
call fcn.00403c82
mov eax, dword [0x43e12c]
mov ebp, dword [eax]
add ebp, dword [0x44e180]
mov edi, dword [eax + 4]
adc edi, dword [0x44e184]
push 0
push 0x2000
push edi
push ebp
call fcn.0040e700
mov ebx, eax
mov eax, ebp
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x40285a
jl 0x4027ce
test ebp, ebp
jae 0x40285a
push 0x43a8f2
mov ecx, 0x4325fc
call fcn.0040175b
cmp dword [esp + 0x20], 0
mov dword [esp + 0x10], 2
jne 0x40284d
mov eax, dword [0x44e180]
mov ecx, dword [0x44e184]
mov edx, eax
or edx, ecx
je 0x40284d
mov dword [esp + 0x38], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [0x43e12c]
mov dword [0x44e180], ecx
mov dword [0x44e184], ecx
mov ebp, dword [eax + 4]
mov edi, dword [eax]
push 0x2000
push ebp
push edi
call fcn.0040e700
mov ebx, eax
mov eax, edi
sub eax, ebx
mov esi, ebp
sbb esi, edx
test ebp, ebp
jg 0x40285a
jl 0x40283e
test edi, edi
jae 0x40285a
push 0x43a8f2
mov ecx, 0x4325fc
call fcn.0040175b
mov dword [esp + 0x10], 3
jmp 0x402dfb
mov ebp, 0x43a8f2
mov edi, 0x4325fc
cmp eax, dword [0x44e178]
jne 0x4028a3
cmp esi, dword [0x44e17c]
jne 0x4028a3
cmp byte [0x44f2cc], 0
jne 0x4028a3
mov eax, dword [0x44e13c]
mov ecx, dword [0x44e138]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x44e140], eax
adc dword [0x44e144], edx
add ebx, ecx
mov dword [0x44e13c], ebx
jmp 0x402911
mov ecx, dword [0x44e158]
mov edx, dword [ecx]
push 0
push esi
push eax
call dword [edx + 0xc]
mov ecx, dword [0x44e158]
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0x2000
push dword [0x44e138]
mov dword [0x44e178], eax
mov dword [0x44e17c], edx
call fcn.004041c8
cdq
mov dword [0x44e140], eax
mov dword [0x44e144], edx
test edx, edx
jg 0x4028f6
jl 0x4028ee
test eax, eax
ja 0x4028f6
push ebp
mov ecx, edi
jmp 0x402848
mov eax, dword [0x44e138]
add eax, ebx
mov dword [0x44e13c], eax
mov eax, ebx
cdq
sub dword [0x44e140], eax
sbb dword [0x44e144], edx
push 4
mov esi, 0x43e124
push esi
call fcn.00404313
test eax, eax
je 0x4028ee
push esi
call fcn.004017e6
test al, al
jne 0x4029ca
push ebp
mov ecx, edi
call fcn.0040175b
mov ecx, dword [0x44e184]
mov eax, dword [0x44e180]
xor ebx, ebx
mov dword [esp + 0x10], 2
cmp dword [esp + 0x20], ebx
jne 0x402959
mov edx, eax
or edx, ecx
jne 0x4029b4
or eax, ecx
jne 0x402dfb
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, eax
or edx, ecx
je 0x402dfb
mov dword [0x44e180], eax
mov dword [0x44e184], ecx
mov eax, dword [0x43e12c]
push dword [eax + 4]
push dword [eax]
call fcn.00403ebc
test eax, eax
jne 0x4028ee
push 4
push esi
call fcn.00404313
test eax, eax
je 0x4028ee
push esi
call fcn.004017e6
test al, al
jne 0x4029cc
jmp 0x4028ee
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [0x44e180], ebx
mov dword [0x44e184], ebx
jmp 0x40297e
xor ebx, ebx
call fcn.00407469
mov esi, eax
cmp esi, ebx
je 0x4029e8
push ebp
mov ecx, edi
call fcn.0040175b
mov dword [esp + 0x10], esi
jmp 0x402dfb
xor eax, eax
push ebx
mov word [0x44e244], ax
movzx eax, word [0x44e1b0]
push 0x44e192
push 2
push eax
call fcn.0040455f
cmp eax, ebx
je 0x402a2a
cmp eax, dword [esp + 0x10]
jle 0x402a13
mov dword [esp + 0x10], eax
cmp eax, 1
jle 0x402a2a
push 0x44e244
push ebp
push 0x1a
call fcn.00401e45
jmp 0x402dfb
mov eax, dword [0x44e188]
cmp eax, ebx
je 0x402a40
push eax
call fcn.0040d90b
pop ecx
mov dword [0x44e188], ebx
movzx eax, word [0x44e1b2]
push ebx
push ebx
push 3
push eax
call fcn.0040455f
cmp eax, ebx
je 0x402a64
cmp eax, dword [esp + 0x10]
jle 0x402a5f
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x402a18
movzx eax, word [0x44e1b2]
push 1
push eax
push dword [0x44e188]
call fcn.004072e8
mov ecx, dword [0x44e188]
push 0x3000
lea eax, [esp + 0x3444]
push eax
movzx eax, word [0x44e1b2]
push dword [0x44f244]
call fcn.0040198f
mov edi, 0x800
mov esi, 0x44e244
test al, al
je 0x402ac3
push edi
push esi
lea eax, [esp + 0x3448]
push eax
call fcn.0040c08f
push edi
push esi
push esi
call fcn.00406254
mov eax, dword [0x43e12c]
mov ecx, dword [eax + 0x28]
mov dword [0x44f248], ecx
mov ecx, dword [eax + 0x2c]
mov dword [0x44f24c], ecx
mov ecx, dword [eax + 0x30]
mov dword [0x44f250], ecx
mov ecx, dword [eax + 0x34]
mov dword [0x44f254], ecx
mov ecx, dword [eax + 0x38]
mov dword [0x44f258], ecx
mov eax, dword [eax + 0x3c]
push 0x44f258
mov dword [0x44f25c], eax
movzx eax, word [0x44e1b2]
push 0x44f250
push 0x44f248
push eax
mov eax, dword [0x44e188]
call fcn.0040187a
movzx eax, word [0x44e1b2]
mov ecx, dword [0x44e188]
push 0x44e194
call fcn.00401a24
mov eax, dword [esp + 0x74]
xor ebp, ebp
cmp eax, ebp
je 0x402b4c
cmp word [eax], bp
je 0x402b4c
push edi
push eax
push esi
call fcn.0040b3ab
mov eax, dword [0x43e12c]
lea ecx, [eax + 0x24]
push ecx
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0x1c]
push esi
call fcn.0040d757
mov bl, al
cmp word [0x44e244], bp
je 0x402b99
cmp word [0x44e246], bp
je 0x402b99
mov eax, 0x44e248
cmp word [0x44e248], bp
je 0x402b99
cmp word [eax], 0x3a
jne 0x402b92
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], bp
jne 0x402b86
push esi
push esi
call fcn.00406358
mov al, byte [0x4377e1]
test al, al
je 0x402bb7
cmp word [0x4398d2], 0x49
je 0x402bb7
mov cl, 1
jmp 0x402bb9
xor cl, cl
test al, al
push ebp
sete al
movzx eax, al
push ecx
push eax
push esi
call fcn.0040bc2e
test al, al
je 0x402e17
cmp byte [0x4377e1], 0
jne 0x402d9f
test bl, bl
je 0x402cd9
cmp byte [0x43776f], 0
jne 0x402dfb
xor edi, edi
cmp word [0x44e244], di
je 0x402dfb
cmp dword [0x437774], 1
je 0x402dfb
mov eax, dword [0x43e12c]
mov ecx, dword [eax + 0x1c]
cmp ecx, edi
je 0x402c21
cmp ecx, 0xb
jne 0x402c24
mov edi, dword [eax + 0x24]
mov esi, 0x44e244
push esi
call fcn.00403acb
test al, al
jne 0x402c88
cmp byte [0x4377bb], al
push edi
sete al
movzx eax, al
push eax
push esi
call fcn.00403aef
test eax, eax
je 0x402c88
push 1
push esi
call fcn.00403b85
cmp byte [0x4377bb], 0
push edi
sete al
movzx eax, al
push eax
push esi
call fcn.00403aef
test eax, eax
je 0x402c88
push esi
push 0x43a8f2
push 0x13
call fcn.00401e45
mov ecx, 0x4325fc
call fcn.004015d8
jmp 0x402dfb
push esi
lea ecx, [esp + 0x8c]
call fcn.0040b5ad
push dword [0x44f24c]
lea ecx, [esp + 0x60]
push dword [0x44f248]
call fcn.00401e22
push dword [0x44f25c]
lea ecx, [esp + 0x60]
push dword [0x44f258]
call fcn.00401e22
push dword [0x44f254]
lea ecx, [esp + 0x60]
push dword [0x44f250]
call fcn.00401e22
jmp 0x402dfb
mov esi, 0x44e244
push esi
call fcn.004044fe
cmp eax, 0xffffffff
je 0x402d94
xor edi, edi
cmp eax, edi
je 0x402d88
cmp eax, 1
jne 0x402da4
mov eax, dword [0x43774c]
cmp eax, 2
je 0x402dfb
cmp byte [0x437770], 0
jne 0x402dfb
cmp byte [0x43776f], 0
jne 0x402dfb
cmp eax, edi
je 0x402d31
cmp eax, 3
jne 0x402da4
movzx eax, word [0x44e198]
movzx ecx, word [0x44e196]
shl eax, 0x10
add eax, ecx
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
call fcn.0040b83c
push edi
lea eax, [esp + 0x48]
push eax
push dword [0x43e114]
push dword [0x43e110]
push 0x800
push esi
push 0x432620
call fcn.0040bed0
cmp eax, 6
je 0x402e0f
cmp eax, 1
je 0x402dfb
jmp 0x402da4
mov eax, dword [0x43774c]
cmp eax, 2
je 0x402dfb
jmp 0x402d28
cmp byte [0x43776f], 0
jne 0x402dfb
jmp 0x402da4
mov esi, 0x44e244
mov eax, dword [0x43e12c]
test byte [eax + 0x40], 1
je 0x402de8
call fcn.0040bbe1
test eax, eax
je 0x402de8
cmp eax, 9
je 0x402e7e
cmp eax, 1
jne 0x402dd4
push esi
push 6
call fcn.0040162b
inc dword [esp + 0x28]
jmp 0x402dfb
cmp eax, dword [esp + 0x10]
jle 0x402dde
mov dword [esp + 0x10], eax
push esi
push 6
call fcn.0040162b
jmp 0x402dfb
call fcn.00401eae
test eax, eax
je 0x402dfb
cmp eax, dword [esp + 0x10]
jle 0x402dfb
mov dword [esp + 0x10], eax
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jl 0x4026e0
jmp 0x402e17
mov dword [esp + 0x18], 1
mov ecx, dword [0x44e158]
mov eax, dword [ecx]
push 0
push dword [esp + 0x54]
push dword [esp + 0x54]
call dword [eax + 0xc]
mov ecx, dword [0x44e158]
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0x2000
push dword [0x44e138]
mov dword [0x44e178], eax
mov dword [0x44e17c], edx
call fcn.004041c8
mov eax, dword [esp + 0x6c]
inc dword [esp + 0x2c]
cmp dword [esp + 0x18], 0
mov dword [0x44e13c], eax
mov eax, dword [esp + 0x54]
mov dword [0x44e140], eax
mov eax, dword [esp + 0x58]
mov dword [0x44e144], eax
je 0x40228a
jmp 0x402e85
push 2
call fcn.004015d9
mov ebx, dword [esp + 0x10]
mov edi, 0x43a8f2
push 0x800
lea eax, [esp + 0x2444]
push eax
lea ecx, [esp + 0x90]
call fcn.0040b63e
test al, al
je 0x402f17
mov esi, dword [esp + 0x5c]
add esi, 0x10
mov eax, dword [esi - 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esi - 8]
mov dword [esp + 0x4c], eax
mov eax, dword [esi - 4]
mov dword [esp + 0x50], eax
mov eax, dword [esi]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x244c]
push eax
call fcn.0040395b
push 0x800
lea eax, [esp + 0x2444]
push eax
lea ecx, [esp + 0x90]
add esi, 0x18
call fcn.0040b63e
test al, al
jne 0x402eb2
call fcn.0040bec5
test al, al
jne 0x402f3f
cmp dword [esp + 0x30], 0
je 0x402f3f
cmp byte [0x44f2cc], al
jne 0x402f3f
push edi
mov ecx, 0x4325fc
call fcn.0040175b
test ebx, ebx
jne 0x402f3f
inc ebx
mov esi, dword [esp + 0x20]
movzx ebp, word [esp + 0x28]
inc esi
cmp esi, ebp
jne 0x402f68
cmp word [0x4398d2], 0x49
je 0x402f68
cmp dword [0x44f260], 0
jne 0x402f68
push edi
push 0x43
call fcn.0040162b
xor eax, eax
cmp esi, eax
jne 0x402f85
cmp ebx, 1
jg 0x402f85
xor cx, cx
cmp cx, word [esp + 0x24]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x402fb1
cmp esi, ebp
jne 0x402f92
cmp ebx, 1
jg 0x402f92
push 0x52
jmp 0x402fa0
cmp word [esp + 0x24], ax
jbe 0x402fa3
cmp ebx, 1
jg 0x402fa3
push 0x51
pop ebx
jmp 0x402fb1
cmp word [esp + 0x28], ax
jbe 0x402fb1
cmp ebx, eax
jne 0x402fb1
xor ebx, ebx
inc ebx
cmp dword [esp + 0x88], eax
je 0x402fc7
push dword [esp + 0x88]
call fcn.0040d90b
pop ecx
cmp dword [esp + 0x5c], 0
je 0x402fd8
push dword [esp + 0x5c]
call fcn.0040d90b
pop ecx
cmp dword [esp + 0xe4], 0
je 0x402fef
push dword [esp + 0xe4]
call fcn.0040d90b
pop ecx
cmp dword [esp + 0x78], 0
je 0x403000
push dword [esp + 0x78]
call fcn.0040d90b
pop ecx
mov ecx, dword [esp + 0x6440]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov dword fs:[0], ecx
leave
ret