Function at 0x403450
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 [0x4fc4c4]
cmp dword [0x4fc4c0], 0
jne 0x403597
mov ecx, dword [0x4fc4d0]
test ecx, ecx
je 0x40349b
mov edx, dword [ecx + 0xc]
mov dword [0x4fc4d0], edx
jmp 0x403571
mov eax, dword [0x4fc4cc]
cmp dword [0x4fc4c8], eax
jne 0x403564
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 0x4034ef
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 ebp, eax
test ebp, ebp
jne 0x403535
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
mov dword [ebx + 4], ebp
mov eax, dword [0x4fc4d4]
mov dword [ebx], eax
mov dword [0x4fc4d4], ebx
mov ebp, dword [ebx + 4]
mov ecx, ebp
mov dword [0x4fc4cc], ebp
add dword [0x4fc4cc], 0x18
lea eax, [ebp + 0xff0]
mov dword [0x4fc4c8], eax
jmp 0x403571
mov ecx, dword [0x4fc4cc]
add dword [0x4fc4cc], 0x18
mov dword [0x4fc4c0], ecx
mov dword [ecx], 1
xor ecx, ecx
mov eax, dword [0x4fc4c0]
mov dword [eax + 4], ecx
mov eax, dword [0x4fc4c0]
mov dword [eax + 8], ecx
mov eax, dword [0x4fc4c0]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4fc4d0]
test ecx, ecx
je 0x4035af
mov edx, dword [ecx + 0xc]
mov dword [0x4fc4d0], edx
jmp 0x403685
mov eax, dword [0x4fc4cc]
cmp dword [0x4fc4c8], eax
jne 0x403678
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 0x403603
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 0x403649
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 [0x4fc4d4]
mov dword [ebx], eax
mov dword [0x4fc4d4], ebx
mov edi, dword [ebx + 4]
mov ecx, edi
mov dword [0x4fc4cc], edi
add dword [0x4fc4cc], 0x18
lea eax, [edi + 0xff0]
mov dword [0x4fc4c8], eax
jmp 0x403685
mov ecx, dword [0x4fc4cc]
add dword [0x4fc4cc], 0x18
mov dword [esi], ecx
mov dword [ecx], 0
mov ecx, dword [0x4fc4c0]
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