Function at 0x140007db0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rdi
sub rsp, 0x78
mov rdi, rdx
mov rbx, rcx
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140008040
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
test eax, eax
js 0x140008040
jne 0x140007df0
xor eax, eax
add rsp, 0x78
pop rdi
pop rbx
ret
mov qword [rsp + 0x98], rsi
lea rdx, [0x1400145c0]
mov qword [rsp + 0x68], r14
movsxd r14, eax
lea rcx, [r14 + 1]
call fcn.14000c23c
mov rsi, rax
test rax, rax
jne 0x140007e2f
lea eax, [rsi - 2]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x68]
add rsp, 0x78
pop rdi
pop rbx
ret
xor r8d, r8d
mov byte [r14 + rax], 0
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov r9, rdi
mov r8, r14
mov edx, 1
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rdi, rax
cmp rax, r14
je 0x140007e6d
mov rcx, rsi
call fcn.14000bc3c
mov eax, 0xfffffffd
jmp 0x140007e1b
mov r14, rsi
cmp rdi, 3
jb 0x140007ea0
movzx eax, word [rsi]
cmp ax, word [0x14000efec]
jne 0x140007ea0
movzx eax, byte [rsi + 2]
cmp al, byte [0x14000efee]
jne 0x140007ea0
add rdi, 0xfffffffffffffffd
lea r14, [rsi + 3]
cmp qword [rbx], 0
jne 0x140007ea0
mov byte [rbx + 0x40], 1
test rdi, rdi
jne 0x140007eb4
mov rcx, rsi
call fcn.14000bc3c
mov eax, edi
jmp 0x140007e1b
cmp rdi, 0xffffffffffffffff
jne 0x140007ec9
mov rcx, rsi
call fcn.14000bc3c
mov eax, edi
jmp 0x140007e1b
mov qword [rsp + 0x90], rbp
lea rdx, [0x1400145c0]
mov qword [rsp + 0x60], r15
lea r15, [rdi + 1]
mov rcx, r15
call fcn.14000c23c
mov rbp, rax
test rax, rax
jne 0x140007ef9
lea edi, [rax - 2]
jmp 0x140008024
mov r8, r15
mov qword [rsp + 0x70], r12
xor edx, edx
mov rcx, rbp
call sub.VCRUNTIME140.dll_memset
mov r8, rdi
mov rdx, r14
mov rcx, rbp
call sub.VCRUNTIME140.dll_memcpy
mov r12, qword [rbx]
lea rax, [0x14000ed78]
xor edi, edi
mov qword [rsp + 0x50], rbp
test r12, r12
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x40], rdi
setne r14b
mov qword [rsp + 0xa8], rdi
movzx r8d, r14b
mov qword [rsp + 0xa0], rdi
mov rcx, rbx
call fcn.140009170
test eax, eax
js 0x140008014
lea rax, [rsp + 0xa0]
mov rcx, rbx
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
lea rax, [rsp + 0xa8]
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
call fcn.140009290
test al, al
je 0x140008005
nop dword [rax]
mov rax, qword [rsp + 0xa0]
mov rcx, rbx
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov byte [rsp + 0x30], r14b
mov qword [rsp + 0x20], rax
call fcn.140006d80
test eax, eax
js 0x140008014
lea rax, [rsp + 0xa0]
mov rcx, rbx
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x40]
lea rax, [rsp + 0xa8]
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
call fcn.140009290
test al, al
jne 0x140007fa0
test r12, r12
je 0x140008018
mov rcx, rbp
call fcn.14000bc3c
jmp 0x14000801f
mov edi, eax
jmp 0x14000801f
mov qword [rbx], rbp
mov qword [rbx + 8], r15
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x90]
mov rcx, rsi
mov r15, qword [rsp + 0x60]
call fcn.14000bc3c
mov eax, edi
jmp 0x140007e1b
mov eax, 0xfffffffd
add rsp, 0x78
pop rdi
pop rbx
ret