Function at 0x14000a1a0
Capabilities:
Get file size
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0x98
mov rax, qword [0x14004d110]
xor rax, rsp
mov qword [rbp + 7], rax
mov qword [rbp - 0x41], r9
mov rbx, r8
mov qword [rbp - 0x49], rbx
mov rdi, rdx
mov r14, rcx
mov qword [rbp - 0x51], rcx
xor r12d, r12d
mov dword [r9], r12d
lea rdx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x14000a1f7
mov edx, 0x132
jmp 0x14000a210
mov rsi, qword [rbp - 0x21]
test rsi, rsi
jns 0x14000a243
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 + 0x57]
call fcn.140002a60
mov ebx, eax
test eax, eax
jns 0x14000a248
mov rcx, qword [rbp + 0x57]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x208
call fcn.140002a40
jmp 0x14000a5a8
cmp rdi, rsi
jb 0x14000a26d
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x57]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x20c
call fcn.140002a60
jmp 0x14000a5aa
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x14000a2af
call fcn.140001c90
mov ebx, eax
test eax, eax
jns 0x14000a2ab
mov rcx, qword [rbp + 0x57]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x20f
call fcn.140002a40
jmp 0x14000a5a8
mov rbx, qword [rbp - 0x49]
sub rsi, rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
mov rdi, r12
mov qword [rbp - 0x11], r12
mov r15, r12
mov qword [rbp - 9], r12
mov qword [rbp - 1], r12
cmp rsi, 0x8000
jbe 0x14000a388
mov edx, 0x8000
lea rcx, [rbp - 0x11]
call fcn.140007d20
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 0x21], xmm0
mov rdi, qword [rbp - 0x11]
mov r15, qword [rbp - 9]
cmp rdi, r15
jne 0x14000a341
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x57]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x103
call fcn.140002a60
mov ebx, eax
test eax, eax
jns 0x14000a443
mov rcx, qword [rbp + 0x57]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x217
call fcn.140002a40
jmp 0x14000a573
mov rbx, r15
sub rbx, rdi
je 0x14000a443
mov r12, rbx
mov r14, qword [rbp - 0x19]
mov r13, qword [rbp - 0x21]
nop dword [rax + rax]
mov rcx, rdi
sub rcx, rbx
add rcx, r12
mov r8, r14
mov rdx, r13
call fcn.140013b20
mov rax, rbx
cmp r14, rbx
cmovbe rax, r14
sub rbx, rax
jne 0x14000a360
jmp 0x14000a443
test rsi, rsi
je 0x14000a3a1
mov rdx, rsi
lea rcx, [rbp - 0x11]
call fcn.140007d20
mov r15, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 0x21], xmm0
cmp rdi, r15
jne 0x14000a3f0
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x57]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x103
call fcn.140002a60
mov ebx, eax
test eax, eax
jns 0x14000a43a
mov rcx, qword [rbp + 0x57]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x21c
call fcn.140002a40
jmp 0x14000a573
mov rbx, r15
sub rbx, rdi
je 0x14000a43a
mov r12, rbx
mov r14, qword [rbp - 0x19]
mov r13, qword [rbp - 0x21]
nop dword [rax]
nop word [rax + rax]
mov rcx, rdi
sub rcx, rbx
add rcx, r12
mov r8, r14
mov rdx, r13
call fcn.140013b20
mov rax, rbx
cmp r14, rbx
cmovbe rax, r14
sub rbx, rax
jne 0x14000a410
mov r14, qword [rbp - 0x51]
xor r12d, r12d
test rsi, rsi
je 0x14000a52b
mov r14, qword [rbp - 0x51]
xor r12d, r12d
nop word [rax + rax]
mov dword [rbp - 0x21], r12d
mov rax, r15
sub rax, rdi
cmp rsi, rax
jae 0x14000a4fa
lea r15, [rdi + rsi]
mov rax, qword [rbp - 0x49]
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x31], xmm0
cmp rdi, r15
jne 0x14000a4ba
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x57]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x103
call fcn.140002a60
mov ebx, eax
test eax, eax
jns 0x14000a4fa
mov rcx, qword [rbp + 0x57]
mov r9d, eax
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x226
call fcn.140002a40
jmp 0x14000a573
mov rbx, r15
sub rbx, rdi
je 0x14000a4fa
mov r12, rbx
mov r14, qword [rbp - 0x29]
mov r13, qword [rbp - 0x31]
nop dword [rax]
mov rcx, rdi
sub rcx, rbx
add rcx, r12
mov r8, r14
mov rdx, r13
call fcn.140013b20
mov rax, rbx
cmp r14, rbx
cmovbe rax, r14
sub rbx, rax
jne 0x14000a4d0
mov r14, qword [rbp - 0x51]
xor r12d, r12d
mov r8, r15
sub r8, rdi
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x21]
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000a557
mov ecx, dword [rbp - 0x21]
mov rax, qword [rbp - 0x41]
add dword [rax], ecx
sub rsi, rcx
jne 0x14000a450
cmp byte [rbp + 0x7f], 0
je 0x14000a570
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x14000a570
mov rcx, qword [rbp + 0x57]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x235
call fcn.140002a60
mov ebx, eax
jmp 0x14000a573
mov rcx, qword [rbp + 0x57]
lea r8, str.C:Usersmicha_slherpaderping_sourceProcessHerpaderpingutils.cpp
mov edx, 0x22d
call fcn.140002a60
mov ebx, eax
jmp 0x14000a573
mov ebx, r12d
test rdi, rdi
je 0x14000a5a8
mov rdx, qword [rbp - 1]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000a5a0
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a5ca
mov rcx, rdi
call fcn.1400121ec
mov eax, ebx
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140011ca0
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140017ddc
int3