Function at 0x402d90
Capabilities:
Terminate process

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x10]
push ebx
push esi
push edi
mov dword [ecx + 8], eax
push ebp
mov dword [ecx + 4], 0
mov esi, ecx
mov ecx, dword [esp + 0x1c]
mov dl, byte [ecx]
mov byte [esi + 0xc], dl
inc dword [0x4fc4ac]
cmp dword [0x4fc4a8], 0
jne 0x402ed7
mov ecx, dword [0x4fc4b8]
test ecx, ecx
je 0x402ddb
mov edx, dword [ecx + 0xc]
mov dword [0x4fc4b8], edx
jmp 0x402eb1
mov eax, dword [0x4fc4b4]
cmp dword [0x4fc4b0], eax
jne 0x402ea4
push 0
call dword [sym.imp.MSVCRT40.dll_void____cdecl___void____cdecl_set_new_handler_void____cdecl___void__]
add esp, 4
push 8
call sub.MFC40.DLL_operator_new
add esp, 4
mov ebx, eax
test ebx, ebx
jne 0x402e2f
mov edi, dword [sym.imp.MSVCRT40.dll_class_ostream____cdecl_endl_class_ostream__]
push 0x4fc498
mov ecx, dword [sym.imp.MSVCRT40.dll_class_ostream_withassign_cerr]
call dword [sym.imp.MSVCRT40.dll_public:_class_ostream____thiscall_ostream::operator___char_const__]
push eax
call edi
add esp, 4
push 1
call dword [sym.imp.MSVCRT40.dll_exit]
add esp, 4
push 0
call dword [sym.imp.MSVCRT40.dll_void____cdecl___void____cdecl_set_new_handler_void____cdecl___void__]
add esp, 4
push 0xff0
call sub.MFC40.DLL_operator_new
add esp, 4
mov edi, eax
test edi, edi
jne 0x402e75
mov ebp, dword [sym.imp.MSVCRT40.dll_class_ostream____cdecl_endl_class_ostream__]
push 0x4fc498
mov ecx, dword [sym.imp.MSVCRT40.dll_class_ostream_withassign_cerr]
call dword [sym.imp.MSVCRT40.dll_public:_class_ostream____thiscall_ostream::operator___char_const__]
push eax
call ebp
add esp, 4
push 1
call dword [sym.imp.MSVCRT40.dll_exit]
add esp, 4
mov dword [ebx + 4], edi
mov eax, dword [0x4fc4bc]
mov dword [ebx], eax
mov dword [0x4fc4bc], ebx
mov edi, dword [ebx + 4]
mov ecx, edi
mov dword [0x4fc4b4], edi
add dword [0x4fc4b4], 0x18
lea eax, [edi + 0xff0]
mov dword [0x4fc4b0], eax
jmp 0x402eb1
mov ecx, dword [0x4fc4b4]
add dword [0x4fc4b4], 0x18
mov dword [0x4fc4a8], ecx
mov dword [ecx], 1
xor ecx, ecx
mov eax, dword [0x4fc4a8]
mov dword [eax + 4], ecx
mov eax, dword [0x4fc4a8]
mov dword [eax + 8], ecx
mov eax, dword [0x4fc4a8]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4fc4b8]
test ecx, ecx
je 0x402eef
mov edx, dword [ecx + 0xc]
mov dword [0x4fc4b8], edx
jmp 0x402fc5
mov eax, dword [0x4fc4b4]
cmp dword [0x4fc4b0], eax
jne 0x402fb8
push 0
call dword [sym.imp.MSVCRT40.dll_void____cdecl___void____cdecl_set_new_handler_void____cdecl___void__]
add esp, 4
push 8
call sub.MFC40.DLL_operator_new
add esp, 4
mov ebx, eax
test ebx, ebx
jne 0x402f43
mov edi, dword [sym.imp.MSVCRT40.dll_class_ostream____cdecl_endl_class_ostream__]
push 0x4fc498
mov ecx, dword [sym.imp.MSVCRT40.dll_class_ostream_withassign_cerr]
call dword [sym.imp.MSVCRT40.dll_public:_class_ostream____thiscall_ostream::operator___char_const__]
push eax
call edi
add esp, 4
push 1
call dword [sym.imp.MSVCRT40.dll_exit]
add esp, 4
push 0
call dword [sym.imp.MSVCRT40.dll_void____cdecl___void____cdecl_set_new_handler_void____cdecl___void__]
add esp, 4
push 0xff0
call sub.MFC40.DLL_operator_new
add esp, 4
mov edi, eax
test edi, edi
jne 0x402f89
mov ebp, dword [sym.imp.MSVCRT40.dll_class_ostream____cdecl_endl_class_ostream__]
push 0x4fc498
mov ecx, dword [sym.imp.MSVCRT40.dll_class_ostream_withassign_cerr]
call dword [sym.imp.MSVCRT40.dll_public:_class_ostream____thiscall_ostream::operator___char_const__]
push eax
call ebp
add esp, 4
push 1
call dword [sym.imp.MSVCRT40.dll_exit]
add esp, 4
mov dword [ebx + 4], edi
mov eax, dword [0x4fc4bc]
mov dword [ebx], eax
mov dword [0x4fc4bc], ebx
mov edi, dword [ebx + 4]
mov ecx, edi
mov dword [0x4fc4b4], edi
add dword [0x4fc4b4], 0x18
lea eax, [edi + 0xff0]
mov dword [0x4fc4b0], eax
jmp 0x402fc5
mov ecx, dword [0x4fc4b4]
add dword [0x4fc4b4], 0x18
mov dword [esi], ecx
mov dword [ecx], 0
mov ecx, dword [0x4fc4a8]
mov eax, dword [esi]
pop ebp
pop edi
mov dword [eax + 4], ecx
mov eax, dword [esi]
mov dword [eax + 8], eax
mov eax, dword [esi]
mov dword [eax + 0xc], eax
mov eax, esi
pop esi
pop ebx
add esp, 8
ret 8