Function at 0x14006c450
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 0x14006c504
cmp r8d, 0x4b1
jne 0x14006c517
cmp r8d, eax
mov ebx, r14d
mov r14d, 4
setne r15b
inc r15b
mov eax, dword [rcx]
cmp eax, edi
je 0x14006c524
mov dword [rcx], edi
jmp 0x14006c613
cmp byte [rsp + 0xc8], dil
je 0x14006c573
cmp rsi, rdx
jl 0x14006c56f
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.1400630a4
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 0x14006c6d8
cmp dword [rsp + 0x30], ebx
jb 0x14006c6d8
movzx ecx, r15b
cmp ecx, edi
je 0x14006c5f7
sub ecx, 1
je 0x14006c5f0
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0xb0]
cmp ecx, 1
jne 0x14006c5e2
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 0x14006c61a
movzx eax, word [r12]
jmp 0x14006c5fc
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 0x14006c6cd
cmp byte [rsp + 0xc0], dil
je 0x14006c632
cmp eax, 0xd
je 0x14006c63c
mov eax, ebx
add rsi, rax
jmp 0x14006c524
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 0x14006c6cd
cmp dword [rsp + 0x30], ebx
jb 0x14006c6cd
cmp r15b, dil
je 0x14006c675
movzx ecx, byte [r12 + 1]
movzx eax, byte [r12]
jmp 0x14006c680
movzx ecx, byte [r12]
movzx eax, byte [r12 + 1]
shl ecx, 8
or ecx, eax
cmp ecx, 0xa
jne 0x14006c694
cmp r13b, dil
jne 0x14006c6c5
lea ebp, [rbx + rbx]
jmp 0x14006c6d8
cmp r13b, dil
jne 0x14006c6b3
cmp ecx, 0xd
jne 0x14006c6a3
mov ebp, r14d
jmp 0x14006c6d8
mov ebp, ebx
mov rax, qword [rsp + 0x50]
shl ebx, 0x10
or ebx, ecx
mov dword [rax], ebx
jmp 0x14006c6d8
cmp r13b, 4
jg 0x14006c6c5
cmp ecx, 0xd
je 0x14006c6c5
mov eax, ebx
add rsi, rax
jmp 0x14006c6a5
mov eax, r14d
add rsi, rax
jmp 0x14006c6d8
cmp r13b, dil
je 0x14006c6d6
mov eax, ebx
jmp 0x14006c6c8
mov ebp, ebx
cmp byte [rsp + 0xc8], dil
je 0x14006c6f0
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