Function at 0x4897bb
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.004273d2
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.004e3b30
cmp eax, 0
jle 0x48992a
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 0x4898c4
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.00434aaa
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 0x489aca
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.00445c05
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 0x489aca
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 0x489a0a
mov eax, dword [rbp - 0x64]
cmp eax, 0
jne 0x489a0a
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.00434aaa
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 0x489aca
movzx eax, byte [rbp - 0x71]
cmp eax, 0
je 0x489a23
mov eax, dword [rbp - 0x1c]
cmp eax, 0
jne 0x489a28
jmp 0x489a58
mov rax, qword [rbp - 0x70]
movzx ecx, byte [rax]
cmp ecx, 0xa
jne 0x489a48
mov eax, dword [rbp - 0x64]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x64], eax
jmp 0x489a58
mov eax, dword [rbp - 0x64]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x64], eax
jmp 0x489932
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.00434f12
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 0x489aca
leave
ret