Function at 0x10008da4
Capabilities:
Delete file
Get file size
Read file on windows
Set file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 8], ebx
mov esi, ecx
mov dword [ebp - 4], edx
mov edi, eax
xor eax, eax
push ebp
push 0x1000907b
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
cmp dword [0x1000e0b8], 0xffffffff
je 0x10009058
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
push 0
mov eax, dword [0x1000e0b8]
push eax
call sub.kernel32.dll_GetFileSize
xor edx, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
jne 0x10008e10
cmp dword [ebp - 0x10], 0
jbe 0x10008e1e
jmp 0x10008e12
jle 0x10008e1e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x10008e2f
cmp dword [ebp - 0x20], 0
ja 0x10008e35
jmp 0x10009058
jle 0x10009058
call fcn.10006788
mov dword [0x1000f6c4], eax
mov dword [0x1000f6c8], edx
mov eax, dword [0x1000f6c4]
mov edx, dword [0x1000f6c8]
cmp edx, dword [ebp - 0x1c]
jne 0x10008e5e
cmp eax, dword [ebp - 0x20]
jbe 0x10008e76
jmp 0x10008e60
jle 0x10008e76
mov dword [0x1000f6c4], 0
mov dword [0x1000f6c8], 0
jmp 0x10008e90
mov eax, dword [0x1000f6c4]
mov edx, dword [0x1000f6c8]
cmp edx, dword [ebp - 0x1c]
jne 0x10008e90
cmp eax, dword [ebp - 0x20]
je 0x10009058
cmp dword [0x1000f688], 0
je 0x10009058
push 0
push 0
mov eax, dword [0x1000f694]
push eax
mov eax, dword [0x1000f688]
call fcn.1000662c
push eax
call sub.user32.dll_SendMessageA
push 0
push 0
mov eax, dword [0x1000f6c4]
push eax
mov eax, dword [0x1000e0b8]
push eax
call sub.kernel32.dll_SetFilePointer
push 0
push 2
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
sub eax, dword [0x1000f6c4]
sbb edx, dword [0x1000f6c8]
call fcn.10003fd4
mov edx, eax
lea eax, [ebp - 8]
call fcn.10003be4
push 0
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x20]
sub eax, dword [0x1000f6c4]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x1000e0b8]
push eax
call sub.kernel32.dll_ReadFile
push 2
push 0
push 0
mov eax, dword [0x1000e0b8]
push eax
call sub.kernel32.dll_SetFilePointer
push 0
push 0
mov eax, dword [0x1000f698]
push eax
mov eax, dword [0x1000f688]
call fcn.1000662c
push eax
call sub.user32.dll_SendMessageA
push 0x10009094
push dword [ebp - 8]
push 0x10009198
push 0x100091ac
push 0x100091b8
lea eax, [ebp - 8]
mov edx, 5
call fcn.100039ec
push 0x80
push esi
call sub.kernel32.dll_SetFileAttributesW
push esi
call sub.kernel32.dll_DeleteFileW
push 0
push 0
push 2
push 0
push 0
push 0x40000000
push esi
call sub.kernel32.dll_CreateFileW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x10008fc1
mov byte [ebp - 0x22], 0xff
mov byte [ebp - 0x21], 0xfe
push 0
lea eax, [ebp - 0x14]
push eax
push 2
lea eax, [ebp - 0x22]
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
push 0
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
call fcn.1000391c
add eax, eax
push eax
mov eax, dword [ebp - 8]
push eax
push ebx
call sub.kernel32.dll_WriteFile_1
push ebx
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.100068ec
mov ebx, eax
cmp bl, 1
jne 0x10009037
mov eax, dword [ebp - 0x20]
mov dword [0x1000f6c4], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x1000f6c8], eax
push dword [0x1000f6c8]
push dword [0x1000f6c4]
lea eax, [ebp - 0x28]
call fcn.10006710
mov eax, dword [ebp - 0x28]
push eax
push 2
lea eax, [ebp - 0x2c]
mov ecx, dword [0x1000f6b4]
mov edx, 0x100091cc
call fcn.10003988
mov edx, dword [ebp - 0x2c]
mov ecx, 0x100091e4
mov eax, 0x80000001
call fcn.1000577c
lea eax, [ebp - 0x30]
mov ecx, 0x100091fc
mov edx, dword [0x1000f684]
call fcn.10003988
mov eax, dword [ebp - 0x30]
call fcn.1000390c
push eax
call sub.kernel32.dll_DeleteFileW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x10009082
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.10003788
lea eax, [ebp - 8]
call fcn.10003770
ret