Function at 0x14006c7d4
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
xor edi, edi
mov r13b, r9b
mov r11, rcx
cmp qword [rsp + 0xd0], rdi
lea rcx, [rax - 0x74]
mov dword [rax - 0x74], edi
cmovne rcx, qword [rsp + 0xd0]
mov al, r9b
and r9b, 1
lea r14d, [rdi + 2]
lea r10, [rsp + 0xd0]
mov rdx, 0xfffffffffffff800
and al, r14b
and r13b, 0xc
mov byte [rsp + 0xc8], r9b
mov byte [rsp + 0xc0], al
mov eax, 0x4b0
mov qword [rsp + 0x50], rcx
mov rbp, rdi
mov dword [rsp + 0xd0], edi
mov dword [rsp + 0x30], edi
mov rsi, rdi
mov qword [rsp + 0x38], rdx
mov r9, rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], r10
lea r12, [rsp + 0xd0]
lea ebx, [rdi + 1]
mov r15b, dil
cmp r8d, eax
je 0x14006c888
cmp r8d, 0x4b1
jne 0x14006c89b
cmp r8d, eax
mov ebx, r14d
mov r14d, 4
setne r15b
inc r15b
mov eax, dword [rcx]
cmp eax, edi
je 0x14006c8a8
mov dword [rcx], edi
jmp 0x14006c997
cmp byte [rsp + 0xc8], dil
je 0x14006c8f7
cmp rsi, rdx
jl 0x14006c8f3
mov r12, qword [rsp + 0xb8]
add rdx, 0x1000
add r9, 0x1000
mov qword [rsp + 0x38], rdx
mov rcx, r12
mov rdx, r9
mov qword [rsp + 0x40], r9
call fcn.140063424
mov r10, qword [r12]
mov r11, qword [rsp + 0xb0]
mov qword [rsp + 0x48], r10
lea r12, [r10 + rsi]
mov rcx, qword [r11]
lea r9, [rsp + 0x30]
mov r8d, ebx
mov rdx, r12
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, edi
je 0x14006ca5c
cmp dword [rsp + 0x30], ebx
jb 0x14006ca5c
movzx ecx, r15b
cmp ecx, edi
je 0x14006c97b
sub ecx, 1
je 0x14006c974
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0xb0]
cmp ecx, 1
jne 0x14006c966
movzx edx, word [r12]
movzx eax, dx
sar edx, 8
shl ax, 8
movzx ecx, ax
or ecx, edx
mov dword [rsp + 0xd0], ecx
mov word [r12], cx
mov eax, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0x38]
jmp 0x14006c99e
movzx eax, word [r12]
jmp 0x14006c980
movzx eax, byte [r12]
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov dword [rsp + 0xd0], eax
cmp eax, 0xa
je 0x14006ca51
cmp byte [rsp + 0xc0], dil
je 0x14006c9b6
cmp eax, 0xd
je 0x14006c9c0
mov eax, ebx
add rsi, rax
jmp 0x14006c8a8
mov rcx, qword [r11]
lea r9, [rsp + 0x30]
mov r8d, ebx
mov rdx, r12
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, edi
je 0x14006ca51
cmp dword [rsp + 0x30], ebx
jb 0x14006ca51
cmp r15b, dil
je 0x14006c9f9
movzx ecx, byte [r12 + 1]
movzx eax, byte [r12]
jmp 0x14006ca04
movzx ecx, byte [r12]
movzx eax, byte [r12 + 1]
shl ecx, 8
or ecx, eax
cmp ecx, 0xa
jne 0x14006ca18
cmp r13b, dil
jne 0x14006ca49
lea ebp, [rbx + rbx]
jmp 0x14006ca5c
cmp r13b, dil
jne 0x14006ca37
cmp ecx, 0xd
jne 0x14006ca27
mov ebp, r14d
jmp 0x14006ca5c
mov ebp, ebx
mov rax, qword [rsp + 0x50]
shl ebx, 0x10
or ebx, ecx
mov dword [rax], ebx
jmp 0x14006ca5c
cmp r13b, 4
jg 0x14006ca49
cmp ecx, 0xd
je 0x14006ca49
mov eax, ebx
add rsi, rax
jmp 0x14006ca29
mov eax, r14d
add rsi, rax
jmp 0x14006ca5c
cmp r13b, dil
je 0x14006ca5a
mov eax, ebx
jmp 0x14006ca4c
mov ebp, ebx
cmp byte [rsp + 0xc8], dil
je 0x14006ca74
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
mov dword [rsi + rcx], edi
lea rcx, [rsi + rbp]
cmp rcx, rdi
setg dil
mov eax, edi
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret