Function at 0x409c80
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov rax, rsp
sub rsp, 0x78
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
xor esi, esi
mov ebp, 1
cmp byte [rcx], sil
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r13
mov rbx, rcx
mov edi, ebp
je 0x409cdd
mov rcx, qword [rcx + 8]
lea r9, [rax - 0x48]
lea rdx, [rax + 8]
mov r8d, ebp
mov qword [rax - 0x58], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x409cd6
mov byte [rbx + 0x10], dil
mov r13d, dword [rsp + 0x30]
jmp 0x409d14
mov r12d, dword [rcx + 0x2c]
mov ecx, dword [rcx + 0x28]
lea eax, [r12 + 1]
cmp eax, ecx
jbe 0x409cf2
mov edi, ecx
sub edi, r12d
mov rdx, r12
lea rcx, [rsp + 0x80]
mov r8d, edi
add rdx, qword [rbx + 0x20]
mov r13d, edi
call fcn.004385a0
lea r11d, [r12 + rdi]
mov dword [rbx + 0x2c], r11d
cmp r13d, ebp
jne 0x409d25
movzx edi, byte [rsp + 0x80]
mov ecx, esi
jmp 0x409d47
cmp byte [rbx], sil
je 0x409d3e
cmp byte [rbx + 0x10], sil
je 0x409d3e
mov edi, dword [rsp + 0x80]
mov ecx, 0xffffffff
jmp 0x409d47
mov edi, dword [rsp + 0x80]
mov ecx, esi
test ecx, ecx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r15
mov r15d, edi
jne 0x409dee
cmp byte [rbx], sil
mov r12d, ebp
je 0x409d92
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x80]
mov r8d, ebp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x409d8b
mov byte [rbx + 0x10], bpl
mov r13d, dword [rsp + 0x30]
jmp 0x409dc9
mov r14d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x28]
lea eax, [r14 + 1]
cmp eax, ecx
jbe 0x409da7
mov r12d, ecx
sub r12d, r14d
mov rdx, r14
lea rcx, [rsp + 0x80]
mov r8d, r12d
add rdx, qword [rbx + 0x20]
mov r13d, r12d
call fcn.004385a0
lea r11d, [r14 + r12]
mov dword [rbx + 0x2c], r11d
cmp r13d, ebp
jne 0x409dda
movzx edi, byte [rsp + 0x80]
mov ecx, esi
jmp 0x409dee
cmp byte [rbx], sil
je 0x409dec
cmp byte [rbx + 0x10], sil
je 0x409dec
mov ecx, 0xffffffff
jmp 0x409dee
mov ecx, esi
mov eax, edi
shl eax, 8
add r15d, eax
test ecx, ecx
jne 0x409e90
cmp byte [rbx], sil
mov r12d, ebp
je 0x409e34
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x80]
mov r8d, ebp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x409e2d
mov byte [rbx + 0x10], bpl
mov r13d, dword [rsp + 0x30]
jmp 0x409e6b
mov r14d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x28]
lea eax, [r14 + 1]
cmp eax, ecx
jbe 0x409e49
mov r12d, ecx
sub r12d, r14d
mov rdx, r14
lea rcx, [rsp + 0x80]
mov r8d, r12d
add rdx, qword [rbx + 0x20]
mov r13d, r12d
call fcn.004385a0
lea r11d, [r14 + r12]
mov dword [rbx + 0x2c], r11d
cmp r13d, ebp
jne 0x409e7c
movzx edi, byte [rsp + 0x80]
mov ecx, esi
jmp 0x409e90
cmp byte [rbx], sil
je 0x409e8e
cmp byte [rbx + 0x10], sil
je 0x409e8e
mov ecx, 0xffffffff
jmp 0x409e90
mov ecx, esi
mov r14, qword [rsp + 0x50]
mov eax, edi
shl eax, 0x10
add r15d, eax
test ecx, ecx
jne 0x409f41
cmp byte [rbx], sil
je 0x409ed8
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x80]
mov r8d, ebp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x409ed1
mov byte [rbx + 0x10], bpl
mov r12d, dword [rsp + 0x30]
jmp 0x409f0f
mov r13d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x28]
lea eax, [r13 + 1]
cmp eax, ecx
jbe 0x409eec
mov ebp, ecx
sub ebp, r13d
mov rdx, r13
lea rcx, [rsp + 0x80]
mov r8d, ebp
add rdx, qword [rbx + 0x20]
mov r12d, ebp
call fcn.004385a0
lea r11d, [r13 + rbp]
mov dword [rbx + 0x2c], r11d
cmp r12d, 1
jne 0x409f31
movzx edi, byte [rsp + 0x80]
mov rax, qword [rsp + 0x88]
shl edi, 0x18
add edi, r15d
mov dword [rax], edi
mov eax, esi
jmp 0x409f4d
cmp byte [rbx], sil
je 0x409f1d
cmp byte [rbx + 0x10], sil
je 0x409f1d
mov ecx, 0xffffffff
mov rax, qword [rsp + 0x88]
mov dword [rax], esi
mov eax, ecx
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
add rsp, 0x78
ret