Function at 0x140069340
Capabilities:
Read file on windows

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov rax, qword [0x140197b10]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r12, rcx
mov r13, rdx
lea rcx, [rsp + 0x30]
mov edx, 0x2008
call fcn.1400632b0
mov rbx, qword [rsp + 0x30]
xor r14d, r14d
lea rdi, [rbx + 0x800]
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
mov dword [rsp + 0x38], r14d
call fcn.14010c6c0
lea r9, [rsp + 0x38]
mov r8d, 0x800
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1400693c8
lea rcx, [rsp + 0x30]
call fcn.14005b520
or rax, 0xffffffffffffffff
jmp 0x1400695fc
mov eax, dword [rbx + 0x1b4]
movzx ecx, word [rbx + 0x1fe]
mov qword [rsp + 0x90], rbp
mov ebp, dword [rbx + 0x20]
mov qword [rsp + 0x98], rsi
xor sil, sil
cmp eax, 0x46424246
je 0x1400694c3
cmp eax, 0x534c5055
je 0x1400694c3
cmp eax, 0x5352424d
jne 0x1400695de
cmp ecx, 0xaa55
jne 0x1400695de
cmp dword [rbx + 0x1c], r14d
jne 0x1400695de
xor edx, edx
mov r8d, 0x200
mov rcx, rdi
call fcn.14010c6c0
xor r8d, r8d
mov edx, 0x4a00
mov rcx, r12
call fcn.14005c450
lea r9, [rsp + 0x38]
mov r8d, 0x200
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400695de
cmp dword [rdi + 0x1b4], 0x5352424d
movzx eax, word [rdi + 0x1fe]
mov ecx, dword [rdi + 0x20]
jne 0x1400695de
cmp eax, 0xaa55
jne 0x1400695de
cmp dword [rdi + 0x1c], 0x25
jne 0x1400695de
lea eax, [rcx + 0x25]
cmp eax, ebp
jne 0x1400695de
movzx eax, byte [rdi + 0x67]
cmp r14w, ax
jne 0x1400694af
mov eax, 1
mov ebx, dword [rdi + 0x5c]
movzx eax, ax
add ebx, eax
mov eax, dword [rdi + 0x60]
shl rax, 0x20
add rbx, rax
jmp 0x140069525
xor edx, edx
mov r8d, 0x200
mov rcx, rdi
mov sil, 1
call fcn.14010c6c0
xor r8d, r8d
mov edx, 0x8600
mov rcx, r12
call fcn.14005c450
lea r9, [rsp + 0x38]
mov r8d, 0x200
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400695de
movzx eax, byte [rdi + 0x1f8]
and al, 0xc0
cmp al, 0x40
jne 0x1400695de
mov rbx, qword [rdi + 0x1f0]
inc rbx
xor edx, edx
mov r8d, 0x200
mov rcx, rdi
call fcn.14010c6c0
mov rdx, rbx
xor r8d, r8d
shl rdx, 9
mov rcx, r12
call fcn.14005c450
lea r9, [rsp + 0x38]
mov r8d, 0x200
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400695de
nop word [rax + rax]
lea rdx, [0x14014ed48]
lea rcx, [rdi + 3]
mov r8d, 0xa
call fcn.14005b5d0
test eax, eax
je 0x140069616
cmp rbx, 0x41
je 0x1400695de
test sil, sil
jne 0x1400695de
xor edx, edx
mov r8d, 0x200
mov rcx, rdi
mov ebx, 0x41
call fcn.14010c6c0
xor r8d, r8d
mov edx, 0x8200
mov rcx, r12
call fcn.14005c450
lea r9, [rsp + 0x38]
mov r8d, 0x200
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140069570
lea rcx, [rsp + 0x30]
call fcn.14005b520
or rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14010bcc0
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret
mov ecx, dword [rdi + 0x28]
mov ebx, dword [rdi + 0x68]
shl rbx, 0x20
or rbx, rcx
mov ecx, dword [rdi + 0x2c]
and ecx, 0xffffffc0
shl ecx, 9
mov dword [r13], ecx
lea rcx, [rsp + 0x30]
call fcn.14005b520
shl rbx, 9
mov rax, rbx
jmp 0x1400695ec