Function at 0x404280
Capabilities:
Delete file
Get common file path
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x19b8
call fcn.0040b1d0
sub esp, eax
lea edi, [ebp - 0x199c]
mov eax, dword [esp + eax]
mov dword [esp + 4], edi
mov ebx, eax
mov dword [esp], 0x124
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
sub esp, 8
add eax, edi
mov byte [eax], 0x5c
mov dword [eax + 1], 0x656e6977
mov dword [eax + 5], 0x74736574
mov dword [eax + 9], 0x74686d2e
mov byte [eax + 0xd], 0
mov dword [esp], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40000000
call dword [sym.imp.kernel32.dll_CreateFileA]
sub esp, 0x1c
mov esi, eax
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x57b
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp + 4], str.CreateFile_failed_n
mov dword [esp], eax
call fcn.00403210
mov edx, dword [ebx + 4]
mov dword [esp], edx
mov dword [ebp - 0x19ac], edx
call dword [sym.imp.msvcrt.dll_strlen]
lea ecx, [ebp - 0x19a0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x19ac]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [sym.imp.kernel32.dll_WriteFile]
sub esp, 0x14
mov dword [esp], esi
lea esi, [ebp - 0x1878]
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 8], edi
mov eax, dword [ebx]
lea edi, [ebp - 0x1054]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004027b0
mov dword [esp + 8], esi
mov dword [esp + 0x14], 0x824
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x19a8]
sub esp, 0x18
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4103ac
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x40feec
call dword [sym.imp.ole32.dll_CoCreateInstance]
sub esp, 0x14
mov esi, eax
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x584
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Could_not_create_protocol_handler:__08lx_n
call fcn.00403210
mov eax, dword [ebp - 0x19a8]
lea ecx, [ebp - 0x19a4]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x4102ac
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
mov esi, eax
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x587
xor eax, eax
cmp esi, 0x80004002
sete al
mov dword [esp + 4], str.Could_get_IInternetProtocolEx_n
mov dword [esp], eax
call fcn.00403210
mov eax, dword [ebp - 0x19a8]
mov dword [0x433008], ebx
mov dword [0x433034], 1
mov edx, dword [eax]
mov dword [0x433004], eax
mov dword [0x43302c], 1
mov dword [0x433024], 1
mov dword [0x43301c], 1
mov dword [0x433014], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x40c048
mov dword [esp + 8], 0x40c024
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x18
mov ebx, eax
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x592
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Start_failed:__08lx_n
call fcn.00403210
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x593
mov dword [esp + 4], str.expected_GetBindInfo_n
mov eax, dword [0x433030]
mov dword [esp], eax
call fcn.00403210
mov dword [0x433030], 0
mov dword [0x433034], 0
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x594
mov dword [esp + 4], str.expected_ReportProgress_MIMETYPEAVAILABLE_n
mov eax, dword [0x433028]
mov dword [esp], eax
call fcn.00403210
mov ebx, dword [0x433090]
mov dword [0x433028], 0
mov dword [0x43302c], 0
call fcn.00409d20
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x404603
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x595
mov dword [esp + 4], str.expected_ReportProgress_CACHEFILENAMEAVAILABLE_n
mov eax, dword [0x433020]
mov dword [esp], eax
call fcn.00403210
mov dword [0x433020], 0
mov dword [0x433024], 0
call fcn.00409d20
shr dword [eax + 0x10], 1
call fcn.00409d20
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4045c0
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x596
mov dword [esp + 4], str.expected_ReportData_n
mov eax, dword [0x433018]
mov dword [esp], eax
call fcn.00403210
mov dword [0x433018], 0
mov dword [0x43301c], 0
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x597
mov dword [esp + 4], str.expected_ReportResult_n
mov eax, dword [0x433010]
mov dword [esp], eax
call fcn.00403210
mov eax, dword [ebp - 0x19a8]
mov dword [0x433010], 0
mov dword [0x433014], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov dword [esp], str.winetest.mht
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov ebx, eax
call fcn.00409d20
mov dword [eax], 0x40e52b
mov dword [eax + 4], 0x59b
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.DeleteFile_failed:__lu_n
mov dword [esp + 8], eax
call fcn.00403210
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret