Function at 0x347809c7
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
sub esp, 0x450
mov eax, dword [0x347765c8]
xor eax, esp
mov dword [esp + 0x44c], eax
mov eax, dword [esp + 0x454]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x468]
push 0x34771820
push 0x34771818
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x474]
xor ebx, ebx
push 0x105
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
xor ebp, ebp
mov dword [eax], ebx
call fcn.34776b01
mov esi, eax
cmp esi, ebx
jl 0x34780cb7
push 0x34771820
push 0x34771818
push 0x105
lea edx, [esp + 0x25c]
push edx
call fcn.34776b01
mov esi, eax
cmp esi, ebx
jl 0x34780cb7
lea eax, [esp + 0x250]
push 0x5c
push eax
call dword [sym.imp.msvcr80.dll_wcsrchr]
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x34780a71
add ebp, 2
jmp 0x34780a78
lea ebp, [esp + 0x250]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x18], ebp
call fcn.347e069c
mov esi, eax
cmp esi, ebx
jl 0x34780cb7
push ebx
push 0x10000080
push 2
push ebx
push ebx
push 0xc0000000
lea edx, [esp + 0x5c]
push edx
call fcn.347e757d
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x34780abc
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
push 0
lea eax, [esp + 0x1c]
push eax
push 0x10
lea ecx, [esp + 0x30]
push ecx
push ebx
call dword [sym.imp.kernel32.dll_WriteFile]
test eax, eax
jne 0x34780ae1
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
xor ebx, ebx
test eax, eax
jne 0x34780afa
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
cmp word [edi], bx
je 0x34780b14
mov edx, dword [esp + 0x10]
push edi
push edx
call fcn.3477fd5d
mov esi, eax
test esi, esi
jl 0x34780cb7
lea eax, [esp + 0x250]
push eax
call sub.kernel32.dll_DeleteFileW
test eax, eax
jne 0x34780b31
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
mov edx, dword [esp + 0x10]
push 2
push ebp
lea ecx, [esp + 0x4c]
push ecx
push edx
call fcn.3477fe05
mov esi, eax
test esi, esi
jl 0x34780cb7
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x20], 1
call sub.kernel32.dll_DeleteFileW
test eax, eax
jne 0x34780b6f
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
mov edx, dword [esp + 0x10]
push 2
lea ecx, [esp + 0x48]
push ecx
push ebp
push edx
call fcn.3477ff9e
mov esi, eax
test esi, esi
jl 0x34780cb7
push 0
push 0x10000080
push 3
push 0
push 0
push 0xc0000000
lea eax, [esp + 0x5c]
push eax
call fcn.347e757d
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x34780bba
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
push 0
lea ecx, [esp + 0x1c]
push ecx
push 0x10
lea edx, [esp + 0x40]
push edx
push ebx
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
jne 0x34780bdf
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
xor ebx, ebx
test eax, eax
jne 0x34780bf8
call fcn.347c02fe
mov esi, eax
jmp 0x34780ca8
mov eax, 0x10
lea ecx, [esp + 0x34]
lea edx, [esp + 0x24]
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x34780c1f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x34780c07
test eax, eax
je 0x34780c84
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x34780c6e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34780c80
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x34780c6e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34780c80
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x34780c6e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34780c80
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x34780c80
test edi, edi
mov ebp, dword [esp + 0x14]
mov eax, 1
jg 0x34780c86
or eax, 0xffffffff
jmp 0x34780c86
mov ebp, dword [esp + 0x14]
xor eax, eax
mov edx, dword [esp + 0x20]
xor ecx, ecx
test eax, eax
sete cl
lea eax, [esp + 0x44]
push eax
mov dword [edx], ecx
call sub.kernel32.dll_DeleteFileW
mov ecx, dword [esp + 0x10]
push ebp
push ecx
call fcn.34780073
test esi, esi
jge 0x34780cd3
test ebx, ebx
je 0x34780cb7
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
lea edx, [esp + 0x44]
push edx
call sub.kernel32.dll_DeleteFileW
cmp dword [esp + 0x1c], 0
je 0x34780cd3
mov eax, dword [esp + 0x10]
push ebp
push eax
call fcn.34780073
mov ecx, dword [esp + 0x45c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.347ea89f
add esp, 0x450
ret 0xc