Function at 0x1400858c0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov esi, r9d
mov rdi, r8
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0xa0], rax
movabs r13, 0xfffffffc00000000
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x98], rax
movaps xmm0, xmmword [0x1402fccc0]
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm0
lea rdx, str.Read
lea r8, str....._base_files_file_win.cc
lea r15, [rsp + 0x30]
mov rcx, r15
mov r9d, 0x48
call fcn.1400c6940
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 0x1a8]
mov rax, r12
and rax, r13
cmp rax, qword [0x140346fc8]
je 0x140085ac6
mov qword [rsp + 0x58], r12
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbp, [rax + 0x1b0]
mov r12, qword [rbp]
and r13, r12
cmp r13, qword [0x140346fc8]
je 0x140085ad3
lea rax, [rsp + 0x58]
mov qword [rax + 8], r12
mov qword [rax + 0x10], rbp
mov rcx, qword [rbp]
mov qword [rbp], rax
mov qword [rax + 0x18], rcx
mov rax, qword [rax + 8]
test rax, rax
jne 0x140085ab9
xor ecx, ecx
mov byte [rsp + 0x78], cl
mov byte [rsp + 0x80], 0
mov edx, dword [0x1403576e0]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
cmp byte [rdx + 0x200], 0
je 0x140085b4f
test cl, cl
jne 0x140085b07
test rax, rax
jne 0x140085a27
lea r12, [rsp + 0x88]
cmp byte [r12 - 8], 0
jne 0x140085b8f
mov rcx, r12
call fcn.1400d5970
mov byte [rsp + 0x80], 1
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140085a3d
cmp qword [rsp + 0x60], 0
je 0x140085af3
mov ebp, 0xffffffff
test r14, r14
js 0x140085a89
test esi, esi
js 0x140085a89
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
lea r9, [rsp + 0x50]
mov dword [r9], 0xaaaaaaaa
mov rcx, qword [rbx]
mov qword [rsp + 0x20], r15
mov rdx, rdi
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140085ae0
mov ebp, dword [rsp + 0x50]
test ebp, ebp
js 0x140085ac1
lea rcx, [rsp + 0x58]
call fcn.140067230
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140156fe0
mov eax, ebp
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov cl, byte [rax + 0x20]
jmp 0x1400859ca
int3
mov rcx, r12
call fcn.140151d50
jmp 0x14008596f
mov rcx, r12
call fcn.140151d50
jmp 0x1400859a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ebp, ebp
cmp eax, 0x26
setne bpl
neg ebp
jmp 0x140085a89
mov rax, qword [rcx]
mov rax, qword [rax + 8]
xor edx, edx
call qword [0x14037e008]
jmp 0x140085a3d
test rax, rax
je 0x140085a27
cmp byte [rax + 0x28], 0
je 0x140085a27
mov r12, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test r12, r12
je 0x140085a27
lock dec dword [r12]
jne 0x140085a27
mov rcx, r12
call fcn.140124450
mov rcx, r12
call fcn.140153bcc
jmp 0x140085a27
mov eax, dword [0x1403632dc]
mov ecx, dword [0x1403576e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140085bf8
cmp byte [0x1403632d8], 0
jne 0x140085a27
mov cl, byte [rsp + 0x78]
mov rax, qword [rsp + 0x60]
jmp 0x1400859f6
mov r13, qword [rsp + 0x90]
test r13, r13
je 0x140085bd9
mov rax, qword [fcn.1400e35f0]
lea rbp, [rsp + 0x50]
mov rcx, rbp
call qword [0x14037e008]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rbp]
mov rcx, r13
call fcn.140258e00
mov r13, qword [rsp + 0x90]
test r13, r13
je 0x140085bd9
lock dec dword [r13]
je 0x140085be6
mov byte [rsp + 0x80], 0
jmp 0x140085a17
mov rcx, r13
call fcn.140124450
mov rcx, r13
call fcn.140153bcc
jmp 0x140085bd9
lea rcx, [0x1403632dc]
call fcn.1401547b8
cmp dword [0x1403632dc], 0xffffffff
jne 0x140085b74
call fcn.14006c390
mov byte [0x1403632d8], al
lea rcx, [0x1403632dc]
call fcn.140153cf4
jmp 0x140085b74