Function at 0x4902e0
Capabilities:
Read file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r9, qword [rdx + 0x20]
movabs rsi, 0x100002600
mov rdi, rcx
mov rbx, rdx
movzx r8d, byte [r9]
nop
cmp r8b, 0x20
jbe 0x490360
cmp r8b, 0x2f
jne 0x490366
mov r8, qword [rbx + 0x18]
cmp r8, r9
ja 0x490550
cmp byte [rbx + 0x38], 0
je 0x4903e5
cmp r9, r8
jb 0x4905ed
cmp byte [rbx + 0x38], 0
mov esi, 0x2f
je 0x490602
nop dword [rax + rax]
test sil, sil
jne 0x490562
mov rcx, rbx
call fcn.00490730
mov r9, qword [rbx + 0x20]
cmp byte [r9], 0x2f
je 0x49030c
jmp 0x490366
bt rsi, r8
jb 0x490370
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
cmp qword [rbx + 0x18], r9
ja 0x4903d0
cmp byte [rbx + 0x38], 0
jne 0x490300
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r9, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], r10
jae 0x4903c6
mov byte [r9 + rax], 0
add qword [rbx + 0x18], 1
mov r9, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r8d, byte [r9]
jmp 0x490300
lea rdx, [r9 + 1]
mov qword [rbx + 0x20], rdx
movzx r8d, byte [r9 + 1]
mov r9, rdx
jmp 0x490300
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], r8
jae 0x490436
mov byte [r11 + rax], 0
mov rdx, qword [rbx + 0x18]
mov r11, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r8, [rdx + 1]
mov qword [rbx + 0x18], r8
movzx r10d, byte [r11]
cmp r10b, 0x2a
jne 0x490705
cmp r8, r11
jbe 0x49066a
nop dword [rax]
lea r8, [r11 + 1]
mov qword [rbx + 0x20], r8
movzx r10d, byte [r11 + 1]
mov r11, r8
test r10b, r10b
je 0x4906dd
cmp r10b, 0x2a
jne 0x490660
mov rax, qword [rbx + 0x18]
cmp rax, r11
mov rsi, rax
ja 0x4906d0
cmp byte [rbx + 0x38], 0
jne 0x490477
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rsi, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rsi
jae 0x4904da
mov byte [r11 + rax], 0
mov r9, qword [rbx + 0x18]
mov r11, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rsi, [r9 + 1]
mov qword [rbx + 0x18], rsi
movzx r10d, byte [r11]
cmp r10b, 0x2f
jne 0x490460
cmp r11, rsi
jb 0x4906f8
cmp byte [rbx + 0x38], 0
jne 0x490349
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rdx
jae 0x490349
mov byte [r11 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x490349
lea r11, [r9 + 1]
mov qword [rbx + 0x20], r11
movzx r10d, byte [r9 + 1]
jmp 0x49043a
cmp qword [rbx + 0x18], r9
jbe 0x490590
add r9, 1
cmp sil, 0xa
mov qword [rbx + 0x20], r9
je 0x490349
nop word [rax + rax]
movzx esi, byte [r9]
jmp 0x490340
cmp byte [rbx + 0x38], 0
je 0x4905a6
cmp sil, 0xa
je 0x490349
mov r9, qword [rbx + 0x20]
jmp 0x490580
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x490596
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x490596
lea r11, [r9 + 1]
mov qword [rbx + 0x20], r11
movzx esi, byte [r9 + 1]
mov r9, r11
jmp 0x490340
mov r9, qword [rbx + 0x28]
add qword [rbx + 0x30], r9
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r9, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], r10
jae 0x490580
mov byte [r9 + rax], 0
mov r9, qword [rbx + 0x20]
add qword [rbx + 0x18], 1
mov byte [rbx + 0x38], 1
movzx esi, byte [r9]
jmp 0x490340
cmp r11, qword [rbx + 0x18]
jb 0x490450
cmp byte [rbx + 0x38], 0
jne 0x490460
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rdx
jae 0x4906be
mov byte [r11 + rax], 0
add qword [rbx + 0x18], 1
mov r11, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r10d, byte [r11]
jmp 0x490460
add r11, 1
mov qword [rbx + 0x20], r11
jmp 0x4904da
sub r11, qword [rbx + 8]
mov rcx, r11
add rcx, qword [rbx + 0x30]
mov dword [rdi + 0x30], 0x11
mov qword [rdi + 0x38], rcx
jmp 0x490366
add r11, 1
mov qword [rbx + 0x20], r11
jmp 0x490349
cmp r10b, 0x2f
jne 0x490713
mov r9, r11
jmp 0x490323
mov rcx, r11
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [rdi + 0x30], 0x11
mov qword [rdi + 0x38], rcx
jmp 0x490366