Function at 0x14004b1d8
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
or rsi, 0xffffffffffffffff
movaps xmmword [rsp + 0x60], xmm6
xor r13d, r13d
or rdi, rsi
mov rbx, rcx
mov r15d, r13d
lea r12d, [rsi + 2]
cmp dword [rcx + 0x28], r13d
jle 0x14004b232
mov r14d, r13d
mov rcx, qword [rbx + 0x38]
lea rdx, [0x1400c0878]
mov rcx, qword [r14 + rcx]
call fcn.14000904c
add r15d, r12d
lea r14, [r14 + 8]
cmp r15d, dword [rbx + 0x28]
jl 0x14004b211
cmp qword [rbx + 0x28], r13
je 0x14004b25d
cmp byte [0x1400f30b8], r13b
jne 0x14004b4cd
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14004b4d1
cmp byte [rbx + 0x10], r13b
je 0x14004b269
cmp qword [rbx + 8], r13
jne 0x14004b275
cmp qword [rbx + 0x18], r13
jne 0x14004b275
cmp qword [rbx + 0x28], r13
je 0x14004b28d
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14004b4f3
lea r14, reloc.WS2_32.dll_ioctlsocket
cmp byte [rbx + 0x10], r13b
je 0x14004b30c
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004b30c
mov qword [rbp - 0x40], rcx
call fcn.140066d10
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x30]
movaps xmm6, xmmword [rbp - 0x40]
mov rcx, rdi
movdqa xmmword [rbp - 0x30], xmm6
call fcn.14004b67c
mov qword [rbp - 0x40], r14
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x38], r12
lea rcx, [rbp - 0x40]
movaps xmm0, xmmword [rbp - 0x40]
xor r8d, r8d
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x40], xmm6
call fcn.140049de4
test al, al
jne 0x14004b30c
mov qword [rbp - 0x40], r14
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x38], r12
mov rcx, rdi
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.14004b67c
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004b37e
mov qword [rbp - 0x40], rcx
call fcn.140066d10
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x30]
movaps xmm6, xmmword [rbp - 0x40]
mov rcx, rdi
movdqa xmmword [rbp - 0x30], xmm6
call fcn.14004b67c
mov qword [rbp - 0x40], r14
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x38], r12
lea rcx, [rbp - 0x40]
movaps xmm0, xmmword [rbp - 0x40]
xor r8d, r8d
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x40], xmm6
call fcn.140049de4
test al, al
jne 0x14004b37e
mov qword [rbp - 0x40], r14
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x38], r12
mov rcx, rdi
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.14004b67c
mov r14, r13
cmp qword [rbx + 0x28], r13
jbe 0x14004b4a4
mov rax, qword [rbx + 0x38]
lea rdx, [rbp + 0x48]
mov rcx, rsi
mov r15, qword [rax + r14*8]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [rbp + 0x48]
mov rcx, rsi
or edx, 3
mov eax, edx
and edx, 0xfffffffb
or eax, 4
cmp byte [r15 + 8], r13b
cmovne edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
mov rcx, qword [r15]
mov qword [rbp - 0x40], rcx
call fcn.140066d10
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x20]
movaps xmm0, xmmword [rbp - 0x40]
mov rcx, rdi
movdqa xmmword [rbp - 0x20], xmm0
call fcn.14004b67c
mov rcx, qword [r15 + 0x10]
mov r12b, r13b
jmp 0x14004b41a
mov eax, dword [rbp + 0x40]
test eax, eax
je 0x14004b44c
mov rcx, qword [r15 + 0x10]
lea rdx, [rax + r13]
call fcn.14004a324
mov rcx, qword [r15 + 0x10]
mov dl, 0xa
call fcn.14004a1e4
mov rcx, qword [r15 + 0x10]
xor r13d, r13d
test al, al
jne 0x14004b4c4
mov r13, qword [rcx + 0x10]
mov edx, 0x4000
call fcn.14004a114
and qword [rsp + 0x20], 0
lea r9, [rbp + 0x40]
and dword [rbp + 0x40], 0
mov r8d, 0x4000
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14004b3ec
mov r12b, 1
xor r13d, r13d
mov edx, dword [rbp + 0x48]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
cmp byte [r15 + 8], r13b
jne 0x14004b48c
lea rax, [0x1400c0dd4]
mov qword [rbp - 0x28], 2
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x20]
movaps xmm0, xmmword [rbp - 0x30]
mov rcx, rdi
movdqa xmmword [rbp - 0x20], xmm0
call fcn.14004b67c
test r12b, r12b
jne 0x14004b4cd
mov r12d, 1
add r14, r12
cmp r14, qword [rbx + 0x28]
jb 0x14004b38b
mov eax, r12d
mov rbx, qword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dl, 0xd
call fcn.14004a1e4
jmp 0x14004b452
xor eax, eax
jmp 0x14004b4a7
mov ecx, 2
call fcn.140066f34
mov rcx, rax
lea rdx, str.Cannot_get_standard_input_handle_n
call fcn.1400095c4
mov ecx, r12d
call fcn.14004ae28
int3
mov ecx, 2
call fcn.140066f34
mov rcx, rax
lea rdx, str.Cannot_get_standard_output_handle_n
call fcn.1400095c4
mov ecx, r12d
call fcn.14004ae28
int3