Function at 0x403469
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
lea ecx, [ebp - 0x38]
call fcn.0041740c
push 0x422b44
lea ecx, [ebp - 8]
call fcn.0041aab2
mov eax, dword [ebp - 8]
xor edi, edi
cmp dword [eax - 8], edi
jne 0x403498
xor esi, esi
jmp 0x4036ee
lea eax, [ebp - 0x10]
push 1
push eax
lea ecx, [ebp - 8]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
mov esi, 0x42051c
push esi
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
pop ecx
pop ecx
test eax, eax
lea ecx, [ebp - 0x10]
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4034d1
push esi
lea ecx, [ebp - 8]
call sub.MFC42.DLL_CString::operator
push 0x42050c
lea ecx, [ebp - 8]
call sub.MFC42.DLL_CString::operator
push 0x420504
lea ecx, [ebp - 8]
call sub.MFC42.DLL_CString::operator
push 0x420524
push dword [ebp - 8]
call dword [sym.imp.MSVCRT.dll_fopen]
pop ecx
cmp eax, edi
pop ecx
mov dword [ebp - 0x10], eax
je 0x403491
lea ecx, [ebp - 0x38]
call fcn.00417741
lea eax, [ebp - 1]
lea ecx, [ebp - 0x20]
push eax
push 0x4204d4
call fcn.004020e4
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x38]
push eax
call fcn.00417c35
mov esi, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x18]
push eax
push dword [ebp - 0x20]
call fcn.0040149b
cmp esi, edi
jne 0x403546
xor esi, esi
jmp 0x4036e4
cmp dword [ebp + 8], edi
je 0x4035a2
lea eax, [ebp + 0xb]
lea ecx, [ebp - 0x2c]
push eax
push 0x420520
call fcn.004020e4
lea eax, [ebp - 1]
lea ecx, [ebp - 0x20]
push eax
push 0x4204c8
call fcn.004020e4
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004173d5
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.0040149b
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.0040149b
jmp 0x4035ef
lea eax, [ebp + 0xb]
lea ecx, [ebp - 0x20]
push eax
push 0x4204c4
call fcn.004020e4
lea eax, [ebp - 1]
lea ecx, [ebp - 0x2c]
push eax
push 0x4204c8
call fcn.004020e4
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004173d5
cmp dword [ebp - 0x2c], edi
je 0x4035e1
push dword [ebp - 0x2c]
call sub.MFC42.DLL_operatordelete
pop ecx
cmp dword [ebp - 0x20], edi
je 0x4035ef
push dword [ebp - 0x20]
call sub.MFC42.DLL_operatordelete
pop ecx
push edi
lea ecx, [ebp - 0x38]
call fcn.00417ca7
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x4036e4
push edi
call sub.MFC42.DLL_operatornew
push edi
push esi
push eax
mov dword [ebp + 8], eax
call sub.MSVCRT.dll_memset
add esp, 0x10
lea ecx, [ebp - 0x38]
push dword [ebp + 8]
call fcn.00417ca7
mov eax, edi
push 8
cdq
pop ecx
idiv ecx
lea esi, [eax*8 + 8]
push esi
call sub.MFC42.DLL_operatornew
mov ebx, eax
push esi
push 0
push ebx
mov dword [ebp - 0x14], ebx
call sub.MSVCRT.dll_memset
push edi
push dword [ebp + 8]
push ebx
call sub.MSVCRT.dll_memcpy
add esp, 0x1c
lea eax, [ebx + edi]
push esi
push edi
push 8
push eax
call fcn.0040cd58
test al, al
jne 0x403672
push ebx
call sub.MFC42.DLL_operatordelete
xor esi, esi
pop ecx
cmp dword [ebp + 8], esi
jmp 0x4036d9
push esi
call sub.MFC42.DLL_operatornew
xor edi, edi
push esi
push edi
push eax
mov dword [ebp - 0xc], eax
call sub.MSVCRT.dll_memset
add esp, 0x10
mov ebx, pe_nt_image_headers32
lea eax, [ebx + edi]
cmp eax, esi
jle 0x403698
mov ebx, esi
sub ebx, edi
mov eax, dword [ebp - 0x14]
push 0x4204e4
add eax, edi
push ebx
push eax
mov eax, dword [ebp - 0xc]
add eax, edi
push eax
call fcn.0040caec
add edi, ebx
cmp ebx, 0x100
jge 0x40368d
push dword [ebp - 0x10]
push esi
push 1
pop esi
push esi
push dword [ebp - 0xc]
call dword [sym.imp.MSVCRT.dll_fwrite]
push dword [ebp - 0xc]
call sub.MFC42.DLL_operatordelete
add esp, 0x14
cmp dword [ebp + 8], 0
je 0x4036e4
push dword [ebp + 8]
call sub.MFC42.DLL_operatordelete
pop ecx
push dword [ebp - 0x10]
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
lea ecx, [ebp - 8]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x38]
call fcn.00417425
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 4