Function at 0x401910
Capabilities:
Access peb ldr_data
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x407713
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f0
push esi
push 0x9b8d0
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x2fc], 0
je 0x401ccc
push edi
push 1
push 2
lea ecx, [esp + 0x68]
mov byte [esp + 0x308], 1
mov dword [esi], 0x4084a4
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov al, byte [esp + 0xa]
push 0
lea ecx, [esp + 0x10]
mov byte [esp + 0x304], 2
mov byte [esp + 0x10], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, 0x40c774
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x40c774
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0xc]
mov byte [esp + 0x300], 3
push ecx
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__::str_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x304], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea edx, [esp + 0x50]
lea ecx, [esp + 0x60]
push edx
mov byte [esp + 0x304], 4
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
mov eax, dword [eax + 4]
test eax, eax
jne 0x4019f8
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 1
lea ecx, [esp + 0x54]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea eax, [esp + 0xa]
lea ecx, [esp + 0x30]
push eax
push 0x40c774
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea ecx, [esp + 0x30]
mov byte [esp + 0x300], 5
push ecx
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__::str_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x304], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x60]
mov byte [esp + 0x300], 6
call fcn.00401e90
lea ecx, [esp + 0xb0]
mov byte [esp + 0x300], 1
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xb0]
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
push 1
push 2
lea ecx, [esp + 0xec]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
lea edx, [esp + 0xb]
lea ecx, [esp + 0x20]
push edx
push 0x40c774
mov byte [esp + 0x308], 7
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea eax, [esp + 0x20]
lea ecx, [esp + 0xe8]
push eax
mov byte [esp + 0x304], 8
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__::str_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x304], 7
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0xe4]
push 0x408490
push ecx
mov byte [esp + 0x308], 9
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
add esp, 8
lea ecx, [esp + 0xe4]
mov byte [esp + 0x300], 0xa
call fcn.00401e90
lea ecx, [esp + 0x134]
mov byte [esp + 0x300], 1
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x134]
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [0x40b098]
mov ecx, dword [0x40b054]
imul eax, dword [0x40b080]
mov dword [0x40b0a8], eax
sub eax, ecx
mov dword [0x40b054], eax
mov ecx, 0x40
xor eax, eax
lea edi, [esi + 0x10]
rep stosd dword es:[edi], eax
mov edx, dword [0x40b080]
mov edi, dword [0x40b074]
mov eax, dword [0x40b0a4]
sub edx, edi
mov dword [0x40b08c], edx
mov ecx, dword [0x40b084]
lea edx, [esp + 0x168]
add eax, ecx
push edx
push 0x202
mov dword [0x40b088], eax
call dword [0x40c74c]
mov ecx, 0x100
xor eax, eax
lea edi, [esi + 0x74]
rep stosd dword es:[edi], eax
mov eax, dword [0x40b054]
mov edi, dword [0x40b050]
lea ecx, [esp + 0x40]
sub eax, edi
push ecx
mov dword [0x40b084], eax
call fcn.00401ff0
add esp, 4
lea ecx, [esp + 0x40]
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov eax, dword [0x40b0c8]
mov edx, dword [0x40b064]
mov edi, dword [0x40b088]
push 0x51
mov ecx, dword [eax*4 + 0x40b0d8]
sub edx, edi
push ecx
mov dword [0x40b080], edx
call fcn.00401290
mov edx, dword [0x40c67c]
add esp, 8
push eax
push edx
call fcn.004015e0
mov edx, eax
mov eax, dword [0x40b0a0]
imul eax, dword [0x40b074]
mov dword [0x40b090], eax
mov eax, dword [0x40b094]
mov ecx, eax
lea edi, [esi + 0x204]
imul ecx, eax
xor eax, eax
mov dword [0x40b050], ecx
push eax
mov ecx, 0xc0
push eax
push 1
rep stosd dword es:[edi], eax
push eax
call edx
mov dword [esi + 0xc], eax
mov edx, dword [0x40b0a4]
mov edi, dword [0x40b084]
mov ecx, 0x13517
and edx, edi
xor eax, eax
lea edi, [esi + 0x810]
mov dword [0x40b064], edx
rep stosd dword es:[edi], eax
mov eax, dword [0x40b080]
mov ecx, dword [0x40b0a4]
sub eax, ecx
pop edi
mov dword [0x40b054], eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x4dc70], 0
mov ecx, dword [0x40b070]
mov eax, dword [0x40b084]
and ecx, eax
mov eax, esi
mov dword [0x40b050], ecx
mov dword [esi + 4], 0
mov edx, dword [0x40b084]
pop esi
imul edx, dword [0x40b080]
mov dword [0x40b078], edx
mov ecx, dword [esp + 0x2f0]
mov dword fs:[0], ecx
add esp, 0x2fc
ret
mov ecx, dword [esp + 0x2f4]
xor eax, eax
pop esi
mov dword fs:[0], ecx
add esp, 0x2fc
ret