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

Disassembly:
mov eax, 0x41caa7
call fcn.0040dab0
mov eax, 0x6430
call fcn.0040d610
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.00401e9e
lea ecx, [esp + 0xe4]
mov dword [esp + 0x6448], esi
call fcn.0040b634
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.0040b634
mov byte [esp + 0x6448], 3
mov dword [0x43e0d4], 1
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edi, 0x43a8ca
mov ebp, 0x44e224
inc esi
call fcn.0040beb2
test al, al
jne 0x402f01
and dword [esp + 0x1c], 0
and dword [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0x40
jl 0x40234e
cmp byte [0x44f2ac], 0
je 0x4026bf
cmp eax, dword [esp + 0x7c]
jl 0x402363
mov eax, dword [esp + 0x1c]
inc eax
push eax
lea ecx, [esp + 0x7c]
call fcn.00401ebd
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
push 4
add ecx, eax
push 0x43e104
mov dword [0x43e10c], ecx
call fcn.00404356
test eax, eax
je 0x40263a
push 0x43e104
call fcn.0040185a
test al, al
je 0x402644
call fcn.0040714b
test eax, eax
jne 0x4026ac
mov word [0x44e224], ax
movzx eax, byte [0x44e199]
push eax
movzx eax, word [0x44e1b8]
push 0x44e19c
push 2
push eax
call fcn.004045a2
test eax, eax
je 0x4023de
cmp eax, ebx
jle 0x4023d6
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp eax, esi
jg 0x4026b2
movzx eax, word [0x44e1ba]
push 0
push 0
push 3
push eax
call fcn.004045a2
test eax, eax
je 0x402407
cmp eax, ebx
jle 0x4023ff
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp eax, esi
jg 0x4026b2
movzx eax, word [0x44e1ba]
push 0
push eax
push dword [0x44e168]
call fcn.004072bf
movzx eax, word [0x44e1ba]
mov ecx, dword [0x44e168]
push 0x44e19e
call fcn.00401a73
xor eax, eax
push eax
push eax
push eax
movzx eax, word [0x44e1bc]
push eax
call fcn.004045a2
test eax, eax
je 0x402459
cmp eax, ebx
jle 0x402451
mov dword [esp + 0x10], eax
cmp eax, esi
jg 0x4026b2
mov ecx, dword [0x44e168]
push 0x3000
lea eax, [esp + 0x3444]
push eax
movzx eax, word [0x44e1ba]
push dword [0x44f224]
call fcn.004019de
test al, al
je 0x40249e
mov esi, 0x800
push esi
push ebp
lea eax, [esp + 0x3448]
push eax
call fcn.0040c07c
push esi
push ebp
push ebp
call fcn.0040622b
movzx eax, word [0x44e1a2]
movzx ecx, word [0x44e1a0]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x43e10c]
push eax
add ecx, 0x28
call fcn.0040b829
mov eax, dword [0x43e10c]
add eax, 0x30
xor ebx, ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [0x43e10c]
add eax, 0x38
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [0x43e10c]
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0x30]
add eax, 0x28
push ecx
push eax
movzx eax, word [0x44e1ba]
push eax
mov eax, dword [0x44e168]
call fcn.004018c9
movzx esi, word [0x44e1ba]
mov edi, dword [0x44e168]
cmp esi, ebx
je 0x402514
cmp edi, ebx
jne 0x402544
xor bl, bl
jmp 0x40255a
push edi
call fcn.004040e7
movzx ebx, ax
lea eax, [edi + 2]
push eax
call fcn.004040e7
movzx eax, ax
lea ecx, [esi - 4]
cmp eax, ecx
ja 0x402514
cmp ebx, 0x17
je 0x40254b
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
lea edi, [edi + eax + 4]
add esi, ecx
cmp esi, 4
jae 0x402518
jmp 0x402514
push ebp
push 0x43a8ca
push 0x20
mov bl, 1
call fcn.00401674
lea ecx, [esp + 0x140]
call fcn.00401efa
push 0x2300
xor esi, esi
lea eax, [esp + 0x144]
push esi
push eax
mov byte [esp + 0x6454], 4
call fcn.0040d520
add esp, 0xc
push 0x800
push ebp
lea eax, [esp + 0x168]
push eax
call fcn.0040b3d6
mov eax, dword [0x43e10c]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x1170], ecx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1174], eax
mov eax, dword [0x44e1b0]
mov dword [esp + 0x1190], eax
mov eax, dword [0x44e1b4]
mov dword [esp + 0x1194], eax
test bl, bl
jne 0x40260c
push 5
push esi
lea eax, [esp + 0x148]
push eax
mov ecx, 0x4325f8
call fcn.0040127f
test eax, eax
je 0x40260c
call fcn.00401bc6
test eax, eax
je 0x402608
push ebp
lea ecx, [esp + 0xe8]
call fcn.0040b5bc
inc dword [esp + 0x1c]
add dword [esp + 0x14], 0x48
jmp 0x40260c
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.00401d2e
mov ebx, dword [esp + 0x10]
xor esi, esi
inc esi
mov edi, 0x43a8ca
jmp 0x402338
mov dword [esp + 0x10], 0x33
jmp 0x4026bb
mov ecx, dword [0x44e1e0]
mov eax, ecx
xor eax, dword [esp + 0x3c]
mov ebx, 0xffff
and eax, ebx
xor edx, edx
or eax, edx
je 0x40267e
cmp ecx, ebx
jne 0x402669
cmp dword [0x44e1e4], edx
je 0x40267e
push edi
mov ecx, 0x4325e4
call fcn.004017aa
mov dword [esp + 0x10], 3
jmp 0x4026bb
mov ebx, 0x43e104
push ebx
call fcn.0040187f
test al, al
jne 0x4026a5
cmp byte [0x44f2b4], al
je 0x40269f
push ebx
call fcn.004018a4
test al, al
jne 0x4026a5
mov dword [esp + 0x30], esi
jmp 0x4026bb
and dword [esp + 0x30], 0
jmp 0x4026bb
mov dword [esp + 0x10], eax
jmp 0x4026bb
push ebp
push edi
push 0x1a
call fcn.00401674
mov dword [esp + 0x18], esi
cmp byte [0x44f2ac], 0
mov eax, dword [0x44e158]
mov dword [esp + 0x4c], eax
mov eax, dword [0x44e15c]
mov dword [esp + 0x50], eax
mov eax, dword [0x44e11c]
mov dword [esp + 0x6c], eax
mov eax, dword [0x44e120]
mov dword [esp + 0x54], eax
mov eax, dword [0x44e124]
mov dword [esp + 0x58], eax
je 0x40274b
and dword [0x44f2b0], 0
push edi
call fcn.00401cf3
test al, al
mov eax, str.zx01
jne 0x402710
mov eax, 0x41d438
push 0x800
push eax
push edi
call fcn.00406780
mov ecx, dword [0x44e138]
test ecx, ecx
je 0x40272b
mov eax, dword [ecx]
push esi
call dword [eax]
and dword [0x44e138], 0
call fcn.00403cc5
cmp byte [0x4377b9], 0
push edi
sete al
movzx eax, al
push eax
call fcn.0040bbff
and dword [esp + 0x14], 0
cmp dword [esp + 0x1c], 0
jle 0x402e8a
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 [0x43e10c], eax
call fcn.0040b672
cmp byte [0x44f2ac], 0
mov dword [esp + 0x74], eax
je 0x402814
mov eax, dword [0x43e10c]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x44f2b0]
je 0x402814
movzx ecx, word [0x44e1d0]
cmp eax, ecx
jne 0x4027db
mov esi, 0x43a8ca
push esi
call fcn.00401cf3
test al, al
mov eax, 0x41d42c
jne 0x4027cd
mov eax, 0x41d424
push 0x800
push eax
push esi
call fcn.00406780
jmp 0x4027eb
push eax
push 0x800
push 0x43a8ca
call fcn.00401e39
mov eax, dword [0x43e10c]
mov ecx, dword [0x44e138]
mov eax, dword [eax + 0x20]
mov dword [0x44f2b0], eax
test ecx, ecx
je 0x402808
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [0x44e138], 0
call fcn.00403cc5
mov eax, dword [0x43e10c]
mov ebp, dword [eax]
add ebp, dword [0x44e160]
mov edi, dword [eax + 4]
adc edi, dword [0x44e164]
push 0
push 0x2000
push edi
push ebp
call fcn.0040e430
mov ebx, eax
mov eax, ebp
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4028e0
jl 0x402854
test ebp, ebp
jae 0x4028e0
push 0x43a8ca
mov ecx, 0x4325e4
call fcn.004017aa
cmp dword [esp + 0x20], 0
mov dword [esp + 0x10], 2
jne 0x4028d3
mov eax, dword [0x44e160]
mov ecx, dword [0x44e164]
mov edx, eax
or edx, ecx
je 0x4028d3
mov dword [esp + 0x38], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [0x43e10c]
mov dword [0x44e160], ecx
mov dword [0x44e164], ecx
mov ebp, dword [eax + 4]
mov edi, dword [eax]
push 0x2000
push ebp
push edi
call fcn.0040e430
mov ebx, eax
mov eax, edi
sub eax, ebx
mov esi, ebp
sbb esi, edx
test ebp, ebp
jg 0x4028e0
jl 0x4028c4
test edi, edi
jae 0x4028e0
push 0x43a8ca
mov ecx, 0x4325e4
call fcn.004017aa
mov dword [esp + 0x10], 3
jmp 0x402e6e
mov ebp, 0x43a8ca
mov edi, 0x4325e4
cmp eax, dword [0x44e158]
jne 0x402929
cmp esi, dword [0x44e15c]
jne 0x402929
cmp byte [0x44f2ac], 0
jne 0x402929
mov eax, dword [0x44e11c]
mov ecx, dword [0x44e118]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x44e120], eax
adc dword [0x44e124], edx
add ebx, ecx
mov dword [0x44e11c], ebx
jmp 0x402997
mov ecx, dword [0x44e138]
mov edx, dword [ecx]
push 0
push esi
push eax
call dword [edx + 0xc]
mov ecx, dword [0x44e138]
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0x2000
push dword [0x44e118]
mov dword [0x44e158], eax
mov dword [0x44e15c], edx
call fcn.0040420b
cdq
mov dword [0x44e120], eax
mov dword [0x44e124], edx
test edx, edx
jg 0x40297c
jl 0x402974
test eax, eax
ja 0x40297c
push ebp
mov ecx, edi
jmp 0x4028ce
mov eax, dword [0x44e118]
add eax, ebx
mov dword [0x44e11c], eax
mov eax, ebx
cdq
sub dword [0x44e120], eax
sbb dword [0x44e124], edx
push 4
mov esi, 0x43e104
push esi
call fcn.00404356
test eax, eax
je 0x402974
push esi
call fcn.00401835
test al, al
jne 0x402a50
push ebp
mov ecx, edi
call fcn.004017aa
mov ecx, dword [0x44e164]
mov eax, dword [0x44e160]
xor ebx, ebx
mov dword [esp + 0x10], 2
cmp dword [esp + 0x20], ebx
jne 0x4029df
mov edx, eax
or edx, ecx
jne 0x402a3a
or eax, ecx
jne 0x402e6e
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, eax
or edx, ecx
je 0x402e6e
mov dword [0x44e160], eax
mov dword [0x44e164], ecx
mov eax, dword [0x43e10c]
push dword [eax + 4]
push dword [eax]
call fcn.00403eff
test eax, eax
jne 0x402974
push 4
push esi
call fcn.00404356
test eax, eax
je 0x402974
push esi
call fcn.00401835
test al, al
jne 0x402a52
jmp 0x402974
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [0x44e160], ebx
mov dword [0x44e164], ebx
jmp 0x402a04
xor ebx, ebx
call fcn.00407440
mov esi, eax
cmp esi, ebx
je 0x402a6e
push ebp
mov ecx, edi
call fcn.004017aa
mov dword [esp + 0x10], esi
jmp 0x402e6e
xor eax, eax
push ebx
mov word [0x44e224], ax
movzx eax, word [0x44e190]
push 0x44e172
push 2
push eax
call fcn.004045a2
cmp eax, ebx
je 0x402ab0
cmp eax, dword [esp + 0x10]
jle 0x402a99
mov dword [esp + 0x10], eax
cmp eax, 1
jle 0x402ab0
push 0x44e224
push ebp
push 0x1a
call fcn.00401674
jmp 0x402e6e
mov eax, dword [0x44e168]
cmp eax, ebx
je 0x402ac6
push eax
call fcn.0040d63b
pop ecx
mov dword [0x44e168], ebx
movzx eax, word [0x44e192]
push ebx
push ebx
push 3
push eax
call fcn.004045a2
cmp eax, ebx
je 0x402aea
cmp eax, dword [esp + 0x10]
jle 0x402ae5
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x402a9e
movzx eax, word [0x44e192]
push 1
push eax
push dword [0x44e168]
call fcn.004072bf
mov ecx, dword [0x44e168]
push 0x3000
lea eax, [esp + 0x3444]
push eax
movzx eax, word [0x44e192]
push dword [0x44f224]
call fcn.004019de
mov edi, 0x800
mov esi, 0x44e224
test al, al
je 0x402b49
push edi
push esi
lea eax, [esp + 0x3448]
push eax
call fcn.0040c07c
push edi
push esi
push esi
call fcn.0040622b
mov eax, dword [0x43e10c]
mov ecx, dword [eax + 0x28]
mov dword [0x44f228], ecx
mov ecx, dword [eax + 0x2c]
mov dword [0x44f22c], ecx
mov ecx, dword [eax + 0x30]
mov dword [0x44f230], ecx
mov ecx, dword [eax + 0x34]
mov dword [0x44f234], ecx
mov ecx, dword [eax + 0x38]
mov dword [0x44f238], ecx
mov eax, dword [eax + 0x3c]
push 0x44f238
mov dword [0x44f23c], eax
movzx eax, word [0x44e192]
push 0x44f230
push 0x44f228
push eax
mov eax, dword [0x44e168]
call fcn.004018c9
movzx eax, word [0x44e192]
mov ecx, dword [0x44e168]
push 0x44e174
call fcn.00401a73
mov eax, dword [esp + 0x74]
xor ebp, ebp
cmp eax, ebp
je 0x402bd2
cmp word [eax], bp
je 0x402bd2
push edi
push eax
push esi
call fcn.0040b3d6
call fcn.00401b52
mov bl, al
cmp word [0x44e224], bp
je 0x402c0c
cmp word [0x44e226], bp
je 0x402c0c
mov eax, 0x44e228
cmp word [0x44e228], bp
je 0x402c0c
cmp word [eax], 0x3a
jne 0x402c05
push 0x5f
pop ecx
mov word [eax], cx
inc eax
inc eax
cmp word [eax], bp
jne 0x402bf9
push esi
push esi
call fcn.0040632f
mov al, byte [0x4377b9]
test al, al
je 0x402c2a
cmp word [0x4398aa], 0x49
je 0x402c2a
mov cl, 1
jmp 0x402c2c
xor cl, cl
test al, al
push ebp
sete al
movzx eax, al
push ecx
push eax
push esi
call fcn.0040bc1b
test al, al
je 0x402e8a
cmp byte [0x4377b9], 0
jne 0x402e12
test bl, bl
je 0x402d4c
cmp byte [0x437747], 0
jne 0x402e6e
xor edi, edi
cmp word [0x44e224], di
je 0x402e6e
cmp dword [0x43774c], 1
je 0x402e6e
mov eax, dword [0x43e10c]
mov ecx, dword [eax + 0x1c]
cmp ecx, edi
je 0x402c94
cmp ecx, 0xb
jne 0x402c97
mov edi, dword [eax + 0x24]
mov esi, 0x44e224
push esi
call fcn.00403b22
test al, al
jne 0x402cfb
cmp byte [0x437793], al
push edi
sete al
movzx eax, al
push eax
push esi
call fcn.00403b46
test eax, eax
je 0x402cfb
push 1
push esi
call fcn.00403bc7
cmp byte [0x437793], 0
push edi
sete al
movzx eax, al
push eax
push esi
call fcn.00403b46
test eax, eax
je 0x402cfb
push esi
push 0x43a8ca
push 0x13
call fcn.00401674
mov ecx, 0x4325e4
call fcn.00416626
jmp 0x402e6e
push esi
lea ecx, [esp + 0x8c]
call fcn.0040b5bc
push dword [0x44f22c]
lea ecx, [esp + 0x60]
push dword [0x44f228]
call fcn.00401ed7
push dword [0x44f23c]
lea ecx, [esp + 0x60]
push dword [0x44f238]
call fcn.00401ed7
push dword [0x44f234]
lea ecx, [esp + 0x60]
push dword [0x44f230]
call fcn.00401ed7
jmp 0x402e6e
mov esi, 0x44e224
push esi
call fcn.00404541
cmp eax, 0xffffffff
je 0x402e07
xor edi, edi
cmp eax, edi
je 0x402dfb
cmp eax, 1
jne 0x402e17
mov eax, dword [0x437724]
cmp eax, 2
je 0x402e6e
cmp byte [0x437748], 0
jne 0x402e6e
cmp byte [0x437747], 0
jne 0x402e6e
cmp eax, edi
je 0x402da4
cmp eax, 3
jne 0x402e17
movzx eax, word [0x44e178]
movzx ecx, word [0x44e176]
shl eax, 0x10
add eax, ecx
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
call fcn.0040b829
push edi
lea eax, [esp + 0x48]
push eax
push dword [0x43e0f4]
push dword [0x43e0f0]
push 0x800
push esi
push 0x4325f8
call fcn.0040bebd
cmp eax, 6
je 0x402e82
cmp eax, 1
je 0x402e6e
jmp 0x402e17
mov eax, dword [0x437724]
cmp eax, 2
je 0x402e6e
jmp 0x402d9b
cmp byte [0x437747], 0
jne 0x402e6e
jmp 0x402e17
mov esi, 0x44e224
mov eax, dword [0x43e10c]
test byte [eax + 0x40], 1
je 0x402e5b
call fcn.0040bbce
test eax, eax
je 0x402e5b
cmp eax, 9
je 0x402ef1
cmp eax, 1
jne 0x402e47
push esi
push 6
call fcn.0040164b
inc dword [esp + 0x28]
jmp 0x402e6e
cmp eax, dword [esp + 0x10]
jle 0x402e51
mov dword [esp + 0x10], eax
push esi
push 6
call fcn.0040164b
jmp 0x402e6e
call fcn.00401f34
test eax, eax
je 0x402e6e
cmp eax, dword [esp + 0x10]
jle 0x402e6e
mov dword [esp + 0x10], eax
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jl 0x402766
jmp 0x402e8a
mov dword [esp + 0x18], 1
mov ecx, dword [0x44e138]
mov eax, dword [ecx]
push 0
push dword [esp + 0x54]
push dword [esp + 0x54]
call dword [eax + 0xc]
mov ecx, dword [0x44e138]
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0x2000
push dword [0x44e118]
mov dword [0x44e158], eax
mov dword [0x44e15c], edx
call fcn.0040420b
mov eax, dword [esp + 0x6c]
inc dword [esp + 0x2c]
cmp dword [esp + 0x18], 0
mov dword [0x44e11c], eax
mov eax, dword [esp + 0x54]
mov dword [0x44e120], eax
mov eax, dword [esp + 0x58]
mov dword [0x44e124], eax
je 0x402310
jmp 0x402ef8
push 2
call fcn.004015f9
mov ebx, dword [esp + 0x10]
mov edi, 0x43a8ca
push 0x800
lea eax, [esp + 0x2444]
push eax
lea ecx, [esp + 0x90]
call fcn.0040b64d
test al, al
je 0x402f8a
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.004039b2
push 0x800
lea eax, [esp + 0x2444]
push eax
lea ecx, [esp + 0x90]
add esi, 0x18
call fcn.0040b64d
test al, al
jne 0x402f25
call fcn.0040beb2
test al, al
jne 0x402fb2
cmp dword [esp + 0x30], 0
je 0x402fb2
cmp byte [0x44f2ac], al
jne 0x402fb2
push edi
mov ecx, 0x4325e4
call fcn.004017aa
test ebx, ebx
jne 0x402fb2
inc ebx
mov esi, dword [esp + 0x20]
movzx ebp, word [esp + 0x28]
inc esi
cmp esi, ebp
jne 0x402fdb
cmp word [0x4398aa], 0x49
je 0x402fdb
cmp dword [0x44f240], 0
jne 0x402fdb
push edi
push 0x43
call fcn.0040164b
xor eax, eax
cmp esi, eax
jne 0x402ff8
cmp ebx, 1
jg 0x402ff8
xor cx, cx
cmp cx, word [esp + 0x24]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x403024
cmp esi, ebp
jne 0x403005
cmp ebx, 1
jg 0x403005
push 0x52
jmp 0x403013
cmp word [esp + 0x24], ax
jbe 0x403016
cmp ebx, 1
jg 0x403016
push 0x51
pop ebx
jmp 0x403024
cmp word [esp + 0x28], ax
jbe 0x403024
cmp ebx, eax
jne 0x403024
xor ebx, ebx
inc ebx
cmp dword [esp + 0x88], eax
je 0x40303a
push dword [esp + 0x88]
call fcn.0040d63b
pop ecx
cmp dword [esp + 0x5c], 0
je 0x40304b
push dword [esp + 0x5c]
call fcn.0040d63b
pop ecx
cmp dword [esp + 0xe4], 0
je 0x403062
push dword [esp + 0xe4]
call fcn.0040d63b
pop ecx
cmp dword [esp + 0x78], 0
je 0x403073
push dword [esp + 0x78]
call fcn.0040d63b
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