Function at 0x478990
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.00422be9
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.0047b188
cmp eax, 0
jle 0x478b0a
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 0x478aa4
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.0042fb69
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 0x478caa
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.0043f215
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 0x478caa
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 0x478bea
mov eax, dword [rbp - 0x64]
cmp eax, 0
jne 0x478bea
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.0042fb69
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 0x478caa
movzx eax, byte [rbp - 0x71]
cmp eax, 0
je 0x478c03
mov eax, dword [rbp - 0x1c]
cmp eax, 0
jne 0x478c08
jmp 0x478c38
mov rax, qword [rbp - 0x70]
movzx ecx, byte [rax]
cmp ecx, 0xa
jne 0x478c28
mov eax, dword [rbp - 0x64]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x64], eax
jmp 0x478c38
mov eax, dword [rbp - 0x64]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x64], eax
jmp 0x478b12
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.0042ffd1
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 0x478caa
leave
ret