Function at 0x423a9a
Capabilities:
Delete file
Read file on windows

Disassembly:
mov eax, 0x42d1fa
call sub.MSVCRT.dll__EH_prolog
sub esp, 0x10
push ebx
push esi
push edi
mov esi, ecx
push 0x4b
call sub.MFC42.DLL_operatornew
mov edi, eax
pop ecx
lea eax, [ebp - 0x1c]
mov ecx, 0x441ef8
push eax
mov dword [ebp - 0x14], edi
call fcn.00413cc6
push dword [eax]
push edi
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString
push 0
push edi
call dword [sym.imp.MSVCRT.dll__access]
pop ecx
pop ecx
test eax, eax
push 0x80
jne 0x423af4
push 0x8202
jmp 0x423af9
push 0x8102
push edi
call dword [sym.imp.MSVCRT.dll__open]
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x423b57
push dword [esi + 0x170]
push dword [esi + 0xc0]
push ebx
call dword [sym.imp.MSVCRT.dll__write]
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp eax, 0xffffffff
je 0x423b31
mov byte [ebp - 0xd], 1
jmp 0x423b4d
push dword [ebp - 0x14]
push 0x440110
push str._s:_ERROR_WRITING__s
push dword [esi + 0x18c]
call edi
add esp, 0x10
and byte [ebp - 0xd], 0
push ebx
call dword [sym.imp.MSVCRT.dll__close]
pop ecx
jmp 0x423b78
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
push 0xffffffffffffffff
push 0x44011c
push 0x4318c0
push dword [esi + 0x18c]
call edi
add esp, 0x10
and byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x423caa
push 4
call sub.MFC42.DLL_operatornew
pop ecx
mov dword [ebp - 0x18], eax
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 4], ebx
je 0x423ba2
mov ecx, eax
call fcn.00402228
mov dword [ebp - 0x18], eax
jmp 0x423ba5
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x18]
or dword [ebp - 4], 0xffffffff
cmp ecx, ebx
je 0x423bed
push ebx
push ebx
push dword [ebp - 0x14]
push ebx
call fcn.0040224f
test al, al
mov byte [ebp - 0xd], al
jne 0x423bf1
movzx eax, al
push eax
push dword [ebp - 0x14]
push 0x440128
push str._s_ERROR_IN_COMPRESSION__FILE___s__RCODE___d
push dword [esi + 0x18c]
call edi
add esp, 0x14
push ebx
push ebx
push dword [esi + 0x18c]
call sub.MFC42.DLL_AfxMessageBox_1
jmp 0x423bf1
and byte [ebp - 0xd], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x423c06
call fcn.0040223f
push dword [ebp - 0x18]
call sub.MFC42.DLL_operatordelete
pop ecx
cmp byte [ebp - 0xd], 0
je 0x423caa
push 0x8000
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll__open]
pop ecx
cmp eax, 0xffffffff
pop ecx
mov dword [ebp - 0x18], eax
je 0x423c8f
push eax
call dword [sym.imp.MSVCRT.dll__filelength]
mov ebx, eax
pop ecx
lea eax, [ebx + 1]
push eax
call sub.MFC42.DLL_operatornew
pop ecx
mov dword [esi + 0x198], eax
push ebx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.MSVCRT.dll__read]
add esp, 0xc
cmp eax, 0xffffffff
je 0x423c61
mov eax, dword [esi + 0x198]
and byte [ebx + eax], 0
jmp 0x423c7d
push dword [ebp - 0x14]
push 0x440134
push str._s:_ERROR_READING__s
push dword [esi + 0x18c]
call edi
add esp, 0x10
and byte [ebp - 0xd], 0
push dword [ebp - 0x18]
mov dword [esi + 0x170], ebx
call dword [sym.imp.MSVCRT.dll__close]
pop ecx
jmp 0x423caa
push 0xffffffffffffffff
push 0x440140
push 0x4318c0
push dword [esi + 0x18c]
call edi
add esp, 0x10
and byte [ebp - 0xd], 0
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll_remove]
pop ecx
push dword [ebp - 0x14]
call sub.MFC42.DLL_operatordelete
mov al, byte [ebp - 0xd]
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret