Function at 0x4ca144
Capabilities:
Read file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xf0
mov qword [rbp + 0x10], rcx
mov eax, 0x100
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
shl eax, 1
movsxd rax, eax
mov r10, rax
mov rcx, r10
call fcn.00459eef
mov qword [rbp - 0x10], rax
mov eax, 0xfffffff6
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_GetStdHandle
mov qword [rbp - 0x18], rax
mov eax, 0
mov dword [rbp - 0x1c], eax
mov eax, 0
mov r10, rax
mov rcx, r10
call fcn.004cc931
cmp eax, 0
jle 0x4ca2b3
mov eax, dword [rbp - 4]
shl eax, 1
movabs rcx, 0
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x1c]
mov r9, rcx
mov r8, rax
mov rax, qword [rbp - 0x10]
mov r11, rax
mov rax, qword [rbp - 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_ReadConsoleW
mov byte [rbp - 0x1d], al
movzx eax, byte [rbp - 0x1d]
cmp eax, 0
jne 0x4ca24d
mov eax, 0
mov r8, rax
mov rax, qword [rbp - 0x10]
mov r11, rax
lea rax, [rbp - 0x40]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00466e66
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x40]
mov r11, rax
lea rax, [rbp - 0x30]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp + 0x10]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x30]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x4ca453
mov eax, dword [rbp - 0x1c]
mov r8, rax
mov rax, qword [rbp - 0x10]
mov r11, rax
lea rax, [rbp - 0x60]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00476fcd
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x60]
mov r11, rax
lea rax, [rbp - 0x50]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp + 0x10]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x50]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x4ca453
mov eax, 0
mov dword [rbp - 0x64], eax
mov eax, dword [rbp - 0x64]
movsxd rax, eax
mov rcx, qword [rbp - 0x10]
add rcx, rax
mov qword [rbp - 0x70], rcx
movabs rax, 0
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x1c]
mov r9, rax
mov eax, 1
mov r8, rax
mov rax, qword [rbp - 0x70]
mov r11, rax
mov rax, qword [rbp - 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_ReadFile
mov byte [rbp - 0x71], al
movzx eax, byte [rbp - 0x71]
cmp eax, 0
jne 0x4ca393
mov eax, dword [rbp - 0x64]
cmp eax, 0
jne 0x4ca393
mov eax, 0
mov r8, rax
mov rax, qword [rbp - 0x10]
mov r11, rax
lea rax, [rbp - 0x98]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00466e66
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0x98]
mov r11, rax
lea rax, [rbp - 0x88]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp + 0x10]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0x88]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x4ca453
movzx eax, byte [rbp - 0x71]
cmp eax, 0
je 0x4ca3ac
mov eax, dword [rbp - 0x1c]
cmp eax, 0
jne 0x4ca3b1
jmp 0x4ca3e1
mov rax, qword [rbp - 0x70]
movzx ecx, byte [rax]
cmp ecx, 0xa
jne 0x4ca3d1
mov eax, dword [rbp - 0x64]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x64], eax
jmp 0x4ca3e1
mov eax, dword [rbp - 0x64]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x64], eax
jmp 0x4ca2bb
mov eax, dword [rbp - 0x64]
mov r8, rax
mov rax, qword [rbp - 0x10]
mov r11, rax
lea rax, [rbp - 0xb8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004672ce
mov eax, 0x10
mov r8, rax
lea rax, [rbp - 0xb8]
mov r11, rax
lea rax, [rbp - 0xa8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp + 0x10]
mov ecx, 0x10
mov r8, rcx
lea rcx, [rbp - 0xa8]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
jmp 0x4ca453
leave
ret