Function at 0x140086c60
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x488
mov rax, qword [0x1403f79f0]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov r13, qword [rsp + 0x4f0]
lea rdi, [rsp + 0x70]
mov qword [rsp + 0x68], rcx
mov ebx, r9d
mov rcx, qword [rsp + 0x4e0]
mov r12d, r8d
mov qword [rsp + 0x60], rcx
mov rax, rdx
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov r15d, ecx
mov qword [rsp + 0x58], rcx
test rdx, rdx
je 0x140086f3f
lea rdx, [0x140228944]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov rsi, rax
test rax, rax
je 0x140086f3f
xor edx, edx
mov qword [rsp + 0x4d8], rbp
mov rcx, rax
mov qword [rsp + 0x480], r14
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140086f2c
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov rcx, rsi
movsxd rbp, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_rewind]
lea eax, [rbp - 1]
cmp eax, 0x3fffff
ja 0x140086f2c
cmp ebp, 0x400
jle 0x140086d4b
mov rcx, rbp
call fcn.1400ac7b0
mov rdi, rax
test rax, rax
je 0x140086f2c
mov r15d, 1
mov r9, rsi
mov r8, rbp
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbp
je 0x140086d6e
mov ebx, 0xfffffffc
jmp 0x140086e51
cmp ebx, 0x16
jne 0x140086ec1
mov ebx, 5
lea r8, [rsp + 0x58]
mov ecx, ebx
lea rdx, [rsp + 0x50]
call fcn.1400b54a0
test eax, eax
jne 0x140086daa
mov rdx, qword [rsp + 0x50]
mov r8d, ebp
mov rcx, rdi
call fcn.1400ac680
test rax, rax
jne 0x140086ecb
lea r8, [rsp + 0x58]
mov ecx, 4
lea rdx, [rsp + 0x50]
call fcn.1400b54a0
test eax, eax
jne 0x140086ddb
mov rdx, qword [rsp + 0x50]
mov r8d, ebp
mov rcx, rdi
call fcn.1400ac680
test rax, rax
jne 0x140086f0b
lea r8, [rsp + 0x58]
xor ecx, ecx
lea rdx, [rsp + 0x50]
call fcn.1400b54a0
test eax, eax
jne 0x140086e9f
mov rdx, qword [rsp + 0x50]
mov r8d, ebp
mov rcx, rdi
call fcn.1400ac680
test rax, rax
je 0x140086e9f
xor ebx, ebx
mov eax, dword [rsp + 0x4f8]
mov r9d, r12d
mov rcx, qword [rsp + 0x68]
mov r8d, ebp
mov dword [rsp + 0x40], eax
mov rdx, rdi
mov eax, dword [rsp + 0x4e8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
call fcn.140085f60
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r15d, r15d
je 0x140086e6c
test rdi, rdi
je 0x140086e6c
mov rcx, rdi
call fcn.1400ac790
mov eax, ebx
mov rbp, qword [rsp + 0x4d8]
mov r14, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.1400da560
add rsp, 0x488
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test r15d, r15d
je 0x140086eb1
test rdi, rdi
je 0x140086eb1
mov rcx, rdi
call fcn.1400ac790
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, 0xfffffff8
jmp 0x140086e6e
cmp ebx, 5
je 0x140086ecb
cmp ebx, 0xf
jne 0x140086f02
cmp r12d, 1
jne 0x140086f02
mov eax, dword [rsp + 0x4f8]
mov r9d, r12d
mov rcx, qword [rsp + 0x68]
mov r8d, ebp
mov dword [rsp + 0x30], eax
mov rdx, rdi
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
call fcn.140086b50
jmp 0x140086e4f
cmp ebx, 4
jne 0x140086e0f
mov eax, dword [rsp + 0x4f8]
mov r9d, r12d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov rdx, rdi
mov rcx, r13
call fcn.1400aa950
jmp 0x140086e4f
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, 0xfffffffc
jmp 0x140086e6e
mov eax, 0xfffffffc
jmp 0x140086e7e