Function at 0x406800
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x418b76
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
mov eax, dword [0x4245a0]
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push 1
push ebx
mov dword [esp + 0x9c], eax
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
lea edi, [esi + 0xc]
mov ecx, edi
mov dword [0x4246f4], eax
call fcn.0040a880
test al, al
jne 0x406853
mov ecx, edi
call fcn.0040a8a0
lea ecx, [esp + 0x70]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov eax, dword [esp + 0xa0]
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x9c], ebx
call dword [0x41a638]
lea ecx, [esi + 8]
push ecx
push ebx
lea edx, [esp + 0x74]
push edx
push 0x406520
push ebx
push ebx
call dword [sym.imp.MSVCR71.dll__beginthreadex]
add esp, 0x18
push 0x61a8
push ebx
lea edx, [esp + 0x18]
mov dword [esi + 4], eax
mov ecx, dword [0x4246f4]
push edx
push 2
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov edi, eax
mov eax, dword [0x4246f4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [esi + 4]
lea ecx, [esp + 0xc]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov eax, edi
sub eax, ebx
je 0x4068ec
dec eax
je 0x40696a
sub eax, 0x101
je 0x40693a
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov eax, dword [esp + 0xc]
cmp eax, 0x103
je 0x4068fb
cmp eax, ebx
jne 0x4068fd
mov bl, 1
lea ecx, [esp + 0x70]
mov dword [esp + 0x98], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, bl
mov ecx, dword [esp + 0x90]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x84]
pop ebx
call fcn.00417291
add esp, 0x90
ret 4
lea eax, [esp + 0x18]
push 0x81
push eax
call fcn.004055e0
add esp, 8
push ebx
push ebx
mov ecx, eax
mov byte [esp + 0xa0], 1
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call sub.MFC71.DLL_AfxMessageBox
lea ecx, [esp + 0x18]
jmp 0x4069cd
mov ecx, dword [esp + 0xc]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.00404150
add esp, 8
mov ecx, eax
mov byte [esp + 0x98], 2
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea eax, [esp + 0x54]
push 0x82
push eax
call fcn.004055e0
add esp, 0xc
push ebx
push ebx
mov ecx, eax
mov byte [esp + 0xa0], 3
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call sub.MFC71.DLL_AfxMessageBox
lea ecx, [esp + 0x50]
mov byte [esp + 0x98], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x34]
mov byte [esp + 0x98], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [esp + 0x70]
mov dword [esp + 0x98], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
jmp 0x406914