Function at 0x40fca0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x18
push ebx
xor ebx, ebx
cmp dword [0x458a60], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
jle 0x40ffc2
push esi
cmp byte [0x458b64], bl
je 0x40fd30
mov eax, dword [0x458b68]
inc eax
cmp eax, 0x3e8
mov dword [0x458b68], eax
jle 0x40fd1b
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x44f960
push 0x44f688
mov byte [0x458b63], 1
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fflush]
add esp, 0x10
push 1
call dword [sym.imp.MSVCR90.dll_exit]
call fcn.00407bb0
call fcn.00411820
call fcn.00407230
mov byte [esp + 0x30], bl
jmp 0x40fd62
cmp byte [esp + 0x24], bl
je 0x40ffc1
push ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [0x458b68], ebx
mov byte [0x458a41], bl
mov byte [0x458b62], bl
call dword [sym.imp.MSVCR90.dll_srand]
add esp, 4
mov dword [0x458a6c], ebx
mov byte [0x458b64], bl
mov byte [0x458b63], bl
mov byte [0x458b66], bl
mov byte [0x458b10], bl
mov byte [0x458b61], bl
cmp byte [0x458a41], bl
jne 0x40fda8
call fcn.00406c50
cmp byte [0x458a41], bl
jne 0x40fda8
cmp byte [0x4561d0], bl
je 0x40fda8
call fcn.00407490
cmp byte [esp + 0x34], bl
je 0x40fdc1
mov dword [0x458a74], ebx
mov dword [0x458a84], ebx
mov byte [0x458b11], 1
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.0041d370
add esp, 0x10
mov byte [0x458b65], bl
call fcn.0041ec50
cmp byte [0x458a41], bl
jne 0x40fe02
fld qword [esp + 0x28]
sub esp, 8
fstp qword [esp]
call fcn.00406f40
add esp, 8
fld qword [0x44f958]
sub esp, 8
fstp qword [esp]
call fcn.0041e5f0
add esp, 8
cmp dword [0x458a84], ebx
mov dword [esp + 0x18], ebx
jle 0x40fe35
lea ecx, [esp + 0x18]
push ecx
call fcn.0041ee30
add esp, 4
cmp dword [0x458a84], ebx
sete byte [esp + 0xb]
cmp dword [0x458a74], ebx
mov dword [esp + 0x1c], ebx
jle 0x40fe59
lea edx, [esp + 0x1c]
push edx
call fcn.0041e600
add esp, 4
cmp dword [0x458a74], ebx
sete byte [esp + 0xa]
cmp byte [0x458b64], bl
jne 0x40ffc1
call fcn.00410260
cmp dword [0x458a74], ebx
jne 0x40fe84
cmp dword [0x458a84], ebx
jne 0x40fe84
mov byte [esp + 0x34], 1
push ebp
push edi
call fcn.00407e10
push 2
call fcn.00407360
mov edi, dword [0x458a60]
mov esi, 3
add edi, 0xfffffffe
add esp, 4
cmp esi, edi
jge 0x40fed0
mov ebp, dword [esp + 0x3c]
jmp 0x40feb0
call fcn.004073f0
push ebp
push eax
call fcn.00412920
add esp, 8
cmp byte [0x458b64], bl
jne 0x40ffbf
inc esi
cmp esi, edi
jl 0x40feb0
jne 0x40ffbf
call fcn.0040ffd0
call fcn.0041dc80
call fcn.0041cff0
cmp byte [esp + 0x12], bl
je 0x40fef1
cmp byte [esp + 0x13], bl
jne 0x40fefb
call fcn.00407dd0
call fcn.0040cc90
cmp byte [esp + 0x12], bl
jne 0x40ff41
push ebx
call fcn.00407360
mov eax, dword [0x458a74]
add esp, 4
xor esi, esi
cmp eax, ebx
jle 0x40ff39
call fcn.004073f0
push eax
call fcn.00415b90
add esp, 4
cmp byte [0x458b64], bl
jne 0x40ffbf
mov eax, dword [0x458a74]
inc esi
cmp esi, eax
jl 0x40ff15
cmp esi, eax
jne 0x40ffbf
cmp byte [esp + 0x13], bl
jne 0x40ff87
call fcn.00411820
push 1
call fcn.00407360
mov eax, dword [0x458a84]
add esp, 4
xor esi, esi
cmp eax, ebx
jle 0x40ff81
call fcn.004073f0
push eax
call fcn.00417ee0
add esp, 4
cmp byte [0x458b64], bl
jne 0x40ffbf
mov eax, dword [0x458a84]
inc esi
cmp esi, eax
jl 0x40ff61
cmp esi, eax
jne 0x40ffbf
jmp 0x40ff8c
mov eax, dword [0x458a84]
cmp dword [0x458a74], ebx
jg 0x40ffac
cmp eax, ebx
jg 0x40ffac
mov byte [0x458b11], 1
call fcn.00407800
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x18
ret
call fcn.0041cfe0
test al, al
jne 0x40ffba
call fcn.00407430
call fcn.00407800
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x18
ret