Function at 0x1000f350
Capabilities:
Delete file
Move file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x100ae1c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x11c], eax
lea ebx, [edi + 0x64]
test ebx, ebx
je 0x1000f37f
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [edi + 0x23], 0
je 0x1000f657
mov eax, dword [edi + 0x7c]
cmp eax, 0xffffffff
je 0x1000f51e
push 2
lea ecx, [ebp - 0x114]
xorps xmm0, xmm0
push ecx
push 0
push eax
movlpd qword [ebp - 0x128], xmm0
movlpd qword [ebp - 0x118], xmm0
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, eax
mov dword [ebp - 0x118], ecx
cmp ecx, 0xffffffff
jne 0x1000f3db
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1000f4e6
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov esi, dword [ebp + 0xc]
xor eax, eax
add esi, ecx
adc eax, edx
js 0x1000f51e
jg 0x1000f3fe
cmp esi, dword [edi + 0x88]
jbe 0x1000f51e
mov eax, dword [edi + 0x7c]
cmp eax, 0xffffffff
je 0x1000f40d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x103
lea eax, [ebp - 0x10f]
mov dword [edi + 0x7c], 0xffffffff
push 0
push eax
mov byte [ebp - 0x110], 0
call fcn.1005ea40
add esp, 0xc
push 0x104
push 0
push 0x101bf3a8
call fcn.1005ea40
mov eax, dword [edi + 0x80]
lea esi, [edi + 0x8c]
add esp, 0xc
inc eax
push str..log
push 0x100a12f8
push eax
push str.hpr_log_
push esi
push str._s_s_d_s_s
push 0x101bf3a8
call fcn.10060240
add esp, 0x1c
lea eax, [ebp - 0x110]
push 0x103
push 0x101bf3a8
push eax
call fcn.1005d600
add esp, 0xc
push 0x104
push 0
push 0x101bf3a8
call fcn.1005ea40
mov eax, dword [edi + 0x80]
add esp, 0xc
inc eax
push str..log
push eax
push str.hpr_log_
push esi
push str._s_s_d_s
push 0x101bf3a8
call fcn.10060240
lea eax, [ebp - 0x110]
push 0x101bf3a8
push eax
call fcn.10062411
add esp, 0x20
test eax, eax
je 0x1000f4f7
mov esi, 0xfffffff8
jmp 0x1000f659
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
jmp 0x1000f3e1
cmp byte [edi + 0x84], 0
je 0x1000f518
mov eax, dword [edi + 0x80]
xor edx, edx
inc eax
mov ecx, 0x64
div ecx
mov dword [edi + 0x80], edx
jmp 0x1000f51e
inc dword [edi + 0x80]
cmp dword [edi + 0x7c], 0xffffffff
jne 0x1000f62c
push 0x104
push 0
push 0x101bf3a8
call fcn.1005ea40
mov eax, dword [edi + 0x80]
lea esi, [edi + 0x8c]
add esp, 0xc
inc eax
push str..log
push eax
push str.hpr_log_
push esi
push str._s_s_d_s
push 0x101bf3a8
call fcn.10060240
add esp, 0x18
push 0x101bf3a8
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x104
push 0
push 0x101bf3a8
call fcn.1005ea40
mov eax, dword [edi + 0x80]
add esp, 0xc
inc eax
push str..log
push 0x100a12f8
push eax
push str.hpr_log_
push esi
push str._s_s_d_s_s
push 0x101bf3a8
call fcn.10060240
add esp, 0x1c
push 0
push 0x80
push 2
push 0
push 7
push 0x40000000
push 0x101bf3a8
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [edi + 0x7c], eax
cmp eax, 0xffffffff
jne 0x1000f62c
push 0x104
push 0
push 0x101bf3a8
call fcn.1005ea40
mov eax, dword [edi + 0x80]
add esp, 0xc
inc eax
push str..log
push 0x100a12f8
push eax
push str.hpr_log_
push esi
push str._s_s_d_s_s
push 0x101bf3a8
call fcn.10060240
add esp, 0x1c
push 0x101bf3a8
push str.LogService_OpenFile__s__failed
call fcn.10005640
add esp, 8
mov esi, 0xfffffff8
jmp 0x1000f659
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x114], 0
cmp eax, 0xffffffff
je 0x1000f657
push 0
lea ecx, [ebp - 0x114]
push ecx
push dword [ebp + 0xc]
push dword [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
xor esi, esi
test ebx, ebx
je 0x1000f664
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1005d9b3
mov esp, ebp
pop ebp
ret 8