Function at 0x140009a90
Capabilities:
Clear file content
Get file size
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x14004d110]
xor rax, rsp
mov qword [rbp - 8], rax
mov byte [rbp - 0x2f], r8b
mov r12, rdx
mov r13, rcx
xor ebx, ebx
mov esi, ebx
lea rdx, [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140009ad8
mov edx, 0x132
jmp 0x140009af1
mov rax, qword [rbp - 0x28]
test rax, rax
jns 0x140009b26
mov ecx, 0x3ee
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 0x136
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov rcx, qword [rbp + 0x38]
call fcn.140002a60
mov edi, eax
test eax, eax
jns 0x140009b29
mov rcx, qword [rbp + 0x38]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x157
call fcn.140002a40
mov eax, edi
jmp 0x140009d5f
mov rsi, rax
lea rdx, [rbp - 0x28]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140009b41
mov edx, 0x132
jmp 0x140009b57
cmp qword [rbp - 0x28], rbx
jge 0x140009b8c
mov ecx, 0x3ee
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, 0x136
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov rcx, qword [rbp + 0x38]
call fcn.140002a60
mov edi, eax
test eax, eax
jns 0x140009b8c
mov rcx, qword [rbp + 0x38]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x15a
call fcn.140002a40
mov eax, edi
jmp 0x140009d5f
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x140009bcc
call fcn.140001c90
mov edi, eax
test eax, eax
jns 0x140009bcc
mov rcx, qword [rbp + 0x38]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x15f
call fcn.140002a40
mov eax, edi
jmp 0x140009d5f
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x140009c0c
call fcn.140001c90
mov edi, eax
test eax, eax
jns 0x140009c0c
mov rcx, qword [rbp + 0x38]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x160
call fcn.140002a40
mov eax, edi
jmp 0x140009d5f
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
mov byte [rbp - 0x30], 0
lea r8, [rbp - 0x30]
lea rcx, [rbp - 0x20]
cmp rsi, 0x8000
jbe 0x140009c40
mov edx, 0x8000
call fcn.14000b100
jmp 0x140009c51
mov rdx, rsi
call fcn.14000b100
test rsi, rsi
je 0x140009ce6
mov r14, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x20]
nop dword [rax]
mov rax, r14
sub rax, rdi
cmp rsi, rax
jae 0x140009c87
mov byte [rbp - 0x30], 0
lea r8, [rbp - 0x30]
mov rdx, rsi
lea rcx, [rbp - 0x20]
call fcn.14000b100
mov r14, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x20]
mov dword [rbp - 0x2c], ebx
mov r15, r14
sub r15, rdi
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x2c]
mov r8d, r15d
mov rdx, rdi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140009cdf
mov eax, dword [rbp - 0x2c]
sub rsi, rax
mov dword [rbp - 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x28]
mov r8d, r15d
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140009cd8
test rsi, rsi
jne 0x140009c60
jmp 0x140009cea
mov edx, 0x182
jmp 0x140009d16
mov edx, 0x179
jmp 0x140009d16
mov rdi, qword [rbp - 0x20]
cmp byte [rbp - 0x2f], 0
je 0x140009d04
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x140009d04
mov edx, 0x187
jmp 0x140009d16
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x140009d28
mov edx, 0x189
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov rcx, qword [rbp + 0x38]
call fcn.140002a60
mov ebx, eax
test rdi, rdi
je 0x140009d5d
mov rdx, qword [rbp - 0x10]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x140009d55
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009d83
mov rcx, rdi
call fcn.1400121ec
mov eax, ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140011ca0
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140017ddc
int3