Function at 0x401ae0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45aae8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x30]
cmp dword [eax + 8], 0
jne 0x401b2a
mov byte [ebp - 0x25], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [ebp - 0x25]
jmp 0x401cdf
lea ecx, [ebp - 0x1c]
call fcn.0045890c
mov byte [ebp - 4], 1
push 0
push 0x10
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::Open
test eax, eax
jne 0x401b83
push str._n_n_file.Open_szFullPath__CFile::modeReadCFile::shareDenyWrite__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x26], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::CFile
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [ebp - 0x26]
jmp 0x401cdf
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::GetLength
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x401b9c
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0xc]
je 0x401bd7
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::Close
push str.SendFile_len__0_or_len__dwlen_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x27], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::CFile
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [ebp - 0x27]
jmp 0x401cdf
lea ecx, [ebp - 0x1c]
call fcn.00401d30
cmp dword [ebp - 0x20], 0
jle 0x401cb4
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 4]
push eax
push 0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 8]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
push eax
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::Read
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jae 0x401c5b
push str.size_1_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::Close
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::CFile
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [ebp - 0x28]
jmp 0x401cdf
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.00401220
movzx edx, al
test edx, edx
jne 0x401ca6
push str._FilePendingSend_size_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::Close
mov byte [ebp - 0x29], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::CFile
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [ebp - 0x29]
jmp 0x401cdf
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
jmp 0x401bdf
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::Close
mov byte [ebp - 0x2a], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call sub.MFC71.DLL_CFile::CFile
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [ebp - 0x2a]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8