Function at 0x426a40
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2f8
mov ebx, dword [rcx + 0x1e8]
mov rbp, rcx
test ebx, ebx
jne 0x426b30
mov r14, qword [rcx + 0x118]
mov rdi, qword [sym.imp.KERNEL32.dll_ReadFile]
lea rsi, [rsp + 0x70]
lea r12, [rsp + 0x60]
xor ebx, ebx
mov r13d, 0x10
mov edx, ebx
mov r8d, r13d
mov qword [rsp + 0x20], 0
add rdx, r12
sub r8d, ebx
mov r9, rsi
mov rcx, r14
call rdi
test eax, eax
je 0x426bc5
add ebx, dword [rsp + 0x70]
cmp ebx, 0xf
jbe 0x426a84
mov eax, dword [rsp + 0x60]
test eax, 0xfffffff8
je 0x426c31
mov ebx, 0x2745
mov rcx, qword [rbp + 0x128]
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
test rcx, rcx
je 0x426af9
lea rdx, [0x004260f0]
call fcn.00425aa0
mov qword [rbp + 0x128], 0
mov rcx, rbp
call fcn.0042fd90
mov ecx, ebx
mov rdi, qword [rbp + 0x70]
call fcn.00416500
mov r8, rsi
movsxd rdx, eax
mov rcx, rbp
call rdi
xor eax, eax
add rsp, 0x2f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x30]
xor r8d, r8d
xor edx, edx
lea rsi, [rsp + 0x70]
call fcn.00410be0
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov r8, rsi
mov rcx, rbp
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rax
mov edx, ebx
call qword [rbp + 0x68]
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x426db0
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x426db0
cmp ebx, r8d
mov rcx, qword [rbp + 0x118]
lea r9, [rsp + 0x60]
cmovbe r8d, ebx
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x426d40
mov edx, dword [rsp + 0x60]
mov r8, rsi
mov rcx, rbp
call qword [rbp + 0x70]
mov eax, dword [rsp + 0x60]
sub dword [rbp + 0x1e8], eax
jmp 0x426b19
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ebx, eax
je 0x426ab1
cmp ebx, 0x6d
jne 0x426ac5
mov rcx, qword [rbp + 0x128]
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
test rcx, rcx
je 0x426c12
lea rdx, [0x004260f0]
call fcn.00425aa0
mov qword [rbp + 0x128], 0
mov rcx, rbp
call fcn.0042fd90
mov r8, r12
mov rdx, 0xfffffffffffff001
mov rcx, rbp
call qword [rbp + 0x70]
xor eax, eax
jmp 0x426b19
mov edx, dword [rsp + 0x6c]
test edx, edx
jne 0x426ac0
test al, 2
jne 0x426dc7
test al, 6
jne 0x426ac0
xor r13d, r13d
test al, 1
je 0x426dd9
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x1e8], eax
test r13d, r13d
mov eax, 0x10
je 0x426b19
mov r15, qword [rbp + 0x118]
xor ebx, ebx
lea r14, [rsp + 0x50]
jmp 0x426c8c
add ebx, dword [rsp + 0x50]
cmp ebx, 0x277
ja 0x426cbf
mov edx, ebx
mov r8d, 0x278
mov qword [rsp + 0x20], 0
add rdx, rsi
sub r8d, ebx
mov r9, r14
mov rcx, r15
call rdi
test eax, eax
jne 0x426c80
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ebx, eax
jne 0x426bd5
mov ecx, 0x290
call fcn.004109f0
test rax, rax
je 0x426e37
mov dword [rax], r13d
mov rcx, qword [rsp + 0x70]
lea rdi, [rax + 0xc]
lea rdx, [rax + 4]
add rax, 0x280
and rdi, 0xfffffffffffffff8
mov qword [rax - 0x27c], rcx
mov rcx, qword [rsi + 0x270]
sub rdx, rdi
sub rsi, rdx
mov qword [rax - 0xc], rcx
lea ecx, [rdx + 0x278]
lea rdx, [rbp + 0x1f0]
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x1f8]
mov qword [rax + 8], rdx
mov qword [rdx], rax
mov qword [rbp + 0x1f8], rax
add dword [rbp + 0x200], 1
mov eax, 0x288
jmp 0x426b19
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov edx, dword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
cmp ebx, 0x6d
je 0x426dea
mov rcx, qword [rbp + 0x128]
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x58], rax
test rcx, rcx
je 0x426d86
lea rdx, [0x004260f0]
call fcn.00425aa0
mov qword [rbp + 0x128], 0
mov rcx, rbp
call fcn.0042fd90
mov ecx, ebx
mov rsi, qword [rbp + 0x70]
call fcn.00416500
lea r8, [rsp + 0x50]
movsxd rdx, eax
mov rcx, rbp
call rsi
xor eax, eax
jmp 0x426bba
mov r8, rsi
mov rdx, 0xfffffffffffff024
mov rcx, rbp
call qword [rbp + 0x70]
xor eax, eax
jmp 0x426bba
xor r13d, r13d
test al, 4
sete r13b
add r13d, 1
jmp 0x426c50
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x426ac0
jmp 0x426c62
mov rcx, qword [rbp + 0x128]
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x48], rax
test rcx, rcx
je 0x426e16
lea rdx, [0x004260f0]
call fcn.00425aa0
mov qword [rbp + 0x128], 0
mov rcx, rbp
call fcn.0042fd90
lea r8, [rsp + 0x40]
mov rdx, 0xfffffffffffff001
mov rcx, rbp
call qword [rbp + 0x70]
xor eax, eax
jmp 0x426bba
lea rdx, [0x0044e707]
mov ecx, 0xe
call fcn.00416440
nop
nop dword [rax]
lea rax, [rcx + 0x10]
mov qword [rdx + 8], rcx
mov dword [rdx + 0x10], 7
mov dword [rdx + 0x58], 8
mov qword [rdx + 0x20], rax
mov r9, qword [rcx + 0x18]
lea rax, [rdx + 0x20]
mov qword [rdx + 0x28], r9
mov qword [r9], rax
mov qword [rcx + 0x18], rax
mov rax, 0xffffffffffffffff
mov dword [rdx + 0x30], 0xffffffff
mov qword [rdx + 0xf8], rax
mov qword [rdx + 0x118], rax
lea rax, [rdx + 0x1f0]
mov qword [rdx + 0x60], 0
mov dword [rdx + 0x7c], 0
mov qword [rdx + 0x1f0], rax
mov qword [rdx + 0x1f8], rax
xor eax, eax
mov qword [rdx + 0x108], 0
mov dword [rdx + 0x100], 0
mov dword [rdx + 0x88], 0xf
mov qword [rdx + 0xc0], 0
mov qword [rdx + 0xf0], 0
mov qword [rdx + 0x80], rdx
mov dword [rdx + 0x78], 0
mov qword [rdx + 0x120], 0
mov dword [rdx + 0x1e0], 0
mov dword [rdx + 0x1e8], 0
mov dword [rdx + 0x200], 0
mov dword [rdx + 0x110], r8d
mov qword [rdx + 0x208], 0
ret