Function at 0x18006c03f
Capabilities:
Read file on windows

Disassembly:
jmp 0x18011c250
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
movsxd r13, ecx
mov r9, rdx
mov r12d, r8d
cmp r13d, 0xfffffffe
jne 0x18011c291
call fcn.18006a032
xor esi, esi
mov dword [rax], esi
call fcn.18006b220
mov dword [rax], 9
jmp 0x18011c69a
xor esi, esi
test ecx, ecx
js 0x18011c683
cmp r13d, dword [0x18017c7cc]
jae 0x18011c683
mov rbp, r13
lea r8d, [rsi + 1]
and ebp, 0x3f
mov qword [rsp + 0x48], r8
mov rdx, r13
shl rbp, 6
sar rdx, 6
lea r11, [0x18017c300]
mov qword [rsp + 0x40], rdx
mov rax, qword [r11 + rdx*8]
test byte [rax + rbp + 0x38], r8b
je 0x18011c683
cmp r12d, 0x7fffffff
jbe 0x18011c2fd
call fcn.18006a032
mov dword [rax], esi
call fcn.18006b220
mov dword [rax], 0x16
jmp 0x18011c695
test r12d, r12d
je 0x18011c67f
test byte [rax + rbp + 0x38], 2
jne 0x18011c67f
test r9, r9
je 0x18011c2e6
mov rcx, qword [rax + rbp + 0x28]
mov rbx, rsi
movsx r10d, byte [rax + rbp + 0x39]
mov edi, 4
mov qword [rsp + 0x38], rcx
mov ecx, r10d
mov byte [rsp + 0xa0], r10b
sub ecx, r8d
je 0x18011c358
sub ecx, r8d
jne 0x18011c34d
mov eax, r12d
not eax
test r8b, al
je 0x18011c362
mov r14d, r12d
mov r15, r9
jmp 0x18011c3f8
mov eax, r12d
not eax
test r8b, al
jne 0x18011c37e
call fcn.18006a032
mov dword [rax], esi
call fcn.18006b220
mov dword [rax], 0x16
call fcn.18006a7a3
jmp 0x18011c504
mov r14d, r12d
shr r14d, 1
cmp r14d, edi
cmovb r14d, edi
mov ecx, r14d
call fcn.18006c490
xor ecx, ecx
mov rbx, rax
call fcn.18006c08a
xor ecx, ecx
call fcn.18006c08a
mov r15, rbx
test rbx, rbx
jne 0x18011c3c7
call fcn.18006b220
mov dword [rax], 0xc
call fcn.18006a032
mov dword [rax], 8
jmp 0x18011c504
xor edx, edx
mov ecx, r13d
lea r8d, [rdx + 1]
call fcn.18006b987
mov rdx, qword [rsp + 0x40]
lea r11, [0x18017c300]
mov r10b, byte [rsp + 0xa0]
mov r8d, 1
mov rcx, qword [r11 + rdx*8]
mov qword [rcx + rbp + 0x30], rax
mov rax, qword [r11 + rdx*8]
mov edi, esi
mov qword [rsp + 0x50], r15
mov r9d, 0xa
test byte [rax + rbp + 0x38], 0x48
je 0x18011c48d
mov cl, byte [rax + rbp + 0x3a]
cmp cl, r9b
je 0x18011c48d
test r14d, r14d
je 0x18011c48d
mov byte [r15], cl
dec r14d
mov rax, qword [r11 + rdx*8]
add r15, r8
mov edi, r8d
mov byte [rax + rbp + 0x3a], r9b
test r10b, r10b
je 0x18011c48d
mov rax, qword [r11 + rdx*8]
mov cl, byte [rax + rbp + 0x3b]
cmp cl, r9b
je 0x18011c48d
test r14d, r14d
je 0x18011c48d
mov byte [r15], cl
lea edi, [r9 - 8]
mov rax, qword [r11 + rdx*8]
add r15, r8
dec r14d
mov byte [rax + rbp + 0x3b], r9b
cmp r10b, r8b
jne 0x18011c48d
mov rax, qword [r11 + rdx*8]
mov cl, byte [rax + rbp + 0x3c]
cmp cl, r9b
je 0x18011c48d
test r14d, r14d
je 0x18011c48d
mov byte [r15], cl
lea edi, [r9 - 7]
mov rax, qword [r11 + rdx*8]
add r15, r8
dec r14d
mov byte [rax + rbp + 0x3c], r9b
mov ecx, r13d
call fcn.18006a21c
test eax, eax
je 0x18011c522
mov rax, qword [rsp + 0x40]
lea rcx, [0x18017c300]
mov rax, qword [rcx + rax*8]
test byte [rax + rbp + 0x38], 0x80
je 0x18011c522
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x18011c522
cmp byte [rsp + 0xa0], 2
jne 0x18011c527
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0xb8]
shr r14d, 1
mov rdx, r15
mov r8d, r14d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadConsoleW]
test eax, eax
jne 0x18011c516
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.18006aa6e
or edi, 0xffffffff
mov rcx, rbx
call fcn.18006c08a
mov eax, edi
jmp 0x18011c69d
mov eax, dword [rsp + 0xb8]
lea edi, [rdi + rax*2]
jmp 0x18011c562
mov byte [rsp + 0x48], sil
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0xb8]
mov r8d, r14d
mov qword [rsp + 0x20], rsi
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18011c649
cmp dword [rsp + 0xb8], r12d
ja 0x18011c649
add edi, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0x40]
lea r11, [0x18017c300]
mov rax, qword [r11 + rdx*8]
test byte [rax + rbp + 0x38], 0x80
je 0x18011c507
cmp byte [rsp + 0xa0], 2
je 0x18011c5ab
mov r9, qword [rsp + 0xa8]
mov rax, r12
shr rax, 1
mov rdx, r15
movsxd r8, edi
mov ecx, r13d
mov qword [rsp + 0x20], rax
call fcn.18011bc7c
mov edi, eax
jmp 0x18011c507
mov rax, qword [rsp + 0x48]
test al, al
je 0x18011c631
mov r8, qword [rsp + 0x50]
movsxd rax, edi
mov rcx, r8
shr rax, 1
mov rdi, r8
lea r10, [r8 + rax*2]
cmp r8, r10
jae 0x18011c624
lea rax, [r8 + 2]
mov esi, 0xa
movzx r9d, word [rcx]
cmp r9w, 0x1a
je 0x18011c61b
cmp r9w, 0xd
jne 0x18011c604
cmp rax, r10
jae 0x18011c604
cmp word [rax], si
jne 0x18011c604
add rcx, 4
mov word [rdi], si
add rax, 4
add rdi, 2
jmp 0x18011c614
mov word [rdi], r9w
add rcx, 2
add rdi, 2
add rax, 2
cmp rcx, r10
jb 0x18011c5d7
jmp 0x18011c624
mov rax, qword [r11 + rdx*8]
or byte [rax + rbp + 0x38], 2
sub rdi, r8
sar rdi, 1
add edi, edi
jmp 0x18011c507
mov rdx, qword [rsp + 0x50]
mov ecx, r13d
movsxd r8, edi
shr r8, 1
call fcn.18011b944
jmp 0x18011c5a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x18011c66f
call fcn.18006b220
mov dword [rax], 9
call fcn.18006a032
mov dword [rax], 5
jmp 0x18011c504
cmp eax, 0x6d
jne 0x18011c4fd
mov edi, esi
jmp 0x18011c507
xor eax, eax
jmp 0x18011c69d
call fcn.18006a032
mov dword [rax], esi
call fcn.18006b220
mov dword [rax], 9
call fcn.18006a7a3
or eax, 0xffffffff
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret