Function at 0x14003ec90
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x110
movaps xmmword [rsp + 0x100], xmm6
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14029a038]
xor rax, rsp
mov qword [rsp + 0xf8], rax
test rdx, rdx
je 0x14003ecda
cmp byte [rsi + 0x17], 0
js 0x14003ef36
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 0x17], al
mov rcx, rdi
call fcn.14014abf0
test al, al
jne 0x14003ecfa
lea rdx, [0x1402717af]
mov rcx, rdi
call fcn.14003f000
test rax, rax
jne 0x14003ed28
xor ebp, ebp
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.14017e7b0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x110
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rdi, rax
test rsi, rsi
je 0x14003ed41
cmp byte [rsi + 0x17], 0
js 0x14003ef49
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 0x17], al
xorps xmm6, xmm6
lea rax, [rsp + 0x30]
movaps xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsp + 0x28], rax
mov rcx, rdi
xor edx, edx
xor r8d, r8d
call fcn.14017c7f8
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0xa0]
mov qword [r14 + 0x50], rax
movaps xmm0, xmmword [0x140270690]
movaps xmmword [r14 + 0x40], xmm0
movaps xmmword [r14 + 0x30], xmm0
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
lea rdx, str.ReadStreamToSpanWithMaxSize
lea r8, str....._base_files_file_util.cc
lea r15, [rsp + 0x60]
mov rcx, r15
mov r9d, 0x48
call fcn.140120f60
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.140121610
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov dword [r15 + 0x30], 0
mov rcx, rdi
call fcn.14017c660
mov ecx, eax
call fcn.14017c6e8
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x14003ef5c
mov ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x84]
shl rcx, 0x20
or rcx, rax
test rcx, rcx
mov eax, 0xffff
cmovg rax, rcx
cmp rax, rbx
cmovae rax, rbx
mov rcx, qword [rsp + 0x28]
movzx r8d, byte [rcx + 0x17]
test r8b, r8b
js 0x14003ef66
lea r14, [rax + 1]
mov rdx, r14
cmp rax, r8
jb 0x14003ef6f
sub rdx, r8
xor r8d, r8d
call fcn.140156fd0
mov rcx, qword [rsp + 0x28]
cmp byte [rcx + 0x17], 0
jns 0x14003ee69
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
mov edx, 1
mov r8, r14
mov r9, rdi
call fcn.14017c640
test rax, rax
je 0x14003ef79
xor r15d, r15d
mov rcx, rbx
sub rcx, r15
cmp rcx, rax
jb 0x14003ef81
mov r12, rax
add r12, r15
mov rcx, rdi
call fcn.14017c688
test eax, eax
je 0x14003ef88
mov rcx, rdi
call fcn.14017c6b4
test eax, eax
sete bpl
mov rbx, r12
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + 0x17]
test al, al
js 0x14003efd2
mov rdx, rbx
sub rdx, rax
jbe 0x14003efdb
xor r8d, r8d
call fcn.140156fd0
lea rcx, [rsp + 0xa0]
call fcn.140120f80
test rsi, rsi
je 0x14003efe8
movups xmm0, xmmword [rsi]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x40]
mov qword [rsi + 0x10], rcx
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rax
shr rax, 0x38
test al, al
js 0x14003eff1
mov rcx, rdi
call fcn.14017c760
jmp 0x14003ecfc
mov rax, qword [rsi]
mov byte [rax], 0
mov qword [rsi + 8], 0
jmp 0x14003ecda
mov rax, qword [rsi]
mov byte [rax], 0
mov qword [rsi + 8], 0
jmp 0x14003ed41
mov eax, 0xffff
jmp 0x14003ee26
mov r8, qword [rcx + 8]
jmp 0x14003ee40
call fcn.1400bc500
jmp 0x14003ee5b
xor r12d, r12d
jmp 0x14003eeaf
xor ebp, ebp
jmp 0x14003eec0
test r15, r15
mov eax, 0x10000
cmove r14, rax
lea r8, [r14 + r12]
lea r15, [rsp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.1401df330
mov rcx, qword [r15 + 8]
add rcx, r12
mov edx, 1
mov r8, r14
mov r9, rdi
call fcn.14017c640
mov r15, r12
test rax, rax
jne 0x14003ee8a
jmp 0x14003eeaf
mov rax, qword [rcx + 8]
jmp 0x14003eed1
mov rdx, rbx
call fcn.1400bc500
jmp 0x14003eee5
mov al, byte [rsp + 0x47]
jmp 0x14003ef21
mov rcx, qword [rsp + 0x30]
call fcn.14017b254
jmp 0x14003ef29