Function at 0x140044c50
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x50], xmm6
mov rdi, rdx
mov r13, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 0x10]
mov rax, r14
sub rax, rbx
mov qword [rbp + 8], r14
mov rsi, rbx
cmp rax, 0x20
jae 0x140044cbc
mov rcx, r13
mov rdx, rdi
call fcn.140042780
mov rsi, rdx
test rax, rax
je 0x140044cac
mov eax, 1
jmp 0x140044efb
test rsi, rsi
je 0x140044ed3
mov r14, qword [rdi]
mov rsi, qword [rdi + 0x10]
mov qword [rbp + 0x38], rbx
mov rax, qword [r13]
mov qword [rbp + 0x30], rax
mov r12d, 0x2000
xor r8d, r8d
xorps xmm6, xmm6
xor ebx, ebx
jmp 0x140044cf1
cmp r15, r12
cmovb rcx, r12
cmp rax, r15
cmove r12, rcx
sub rbx, rax
mov qword [rbp], r8
cmp r14, qword [rbp + 8]
jne 0x140044d23
cmp rsi, r14
jne 0x140044d23
mov rcx, r13
mov rdx, rdi
call fcn.140042780
mov rsi, rdx
test rax, rax
jne 0x140044ca2
test rsi, rsi
je 0x140044ef1
mov r14, qword [rdi]
mov rsi, qword [rdi + 0x10]
mov r15, r14
sub r15, rsi
jne 0x140044d70
cmp r14, 0xffffffffffffffdf
ja 0x140044ec2
mov r15, rdi
mov rdi, r13
lea r13, [r14 + 0x20]
lea rax, [r14 + r14]
cmp rax, r13
cmova r13, rax
test r13, r13
js 0x140044ec2
test r14, r14
jne 0x140044e63
xor eax, eax
jmp 0x140044e74
mov rax, qword [rdi + 8]
cmp r15, r12
jb 0x140044d7c
mov r15, r12
movups xmm0, xmmword [0x140071580]
movaps xmmword [rbp + 0x10], xmm0
mov edx, 0xffffffff
mov rcx, r15
cmp r15, rdx
jb 0x140044d99
mov ecx, 0xffffffff
add rax, rsi
movups xmmword [rsp + 0x38], xmm6
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbp + 0x30]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtReadFile
cmp eax, 0x103
jne 0x140044ddc
mov rcx, qword [rbp + 0x30]
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
mov eax, dword [rbp + 0x10]
cmp eax, 0xc0000011
je 0x140044eeb
cmp eax, 0x103
je 0x140044f3d
test eax, eax
mov r8, qword [rbp]
js 0x140044ed7
mov rax, qword [rbp + 0x18]
add rsi, rax
mov qword [rdi + 0x10], rsi
test rax, rax
je 0x140044ef5
cmp rbx, rax
cmovbe rbx, rax
cmp rax, r15
jb 0x140044e30
xor r8d, r8d
jmp 0x140044e33
inc r8d
mov rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
cmp r8d, 2
jge 0x140044e4a
mov rdx, r12
cmp rbx, r15
cmovne r12, rdx
test r12, r12
js 0x140044ce0
lea rcx, [r12 + r12]
jmp 0x140044ce0
mov rax, qword [r15 + 8]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], r14
mov eax, 1
mov qword [rbp - 0x30], rax
mov edx, 1
lea rcx, [rbp + 0x10]
mov r8, r13
lea r9, [rbp - 0x38]
call fcn.14001c690
cmp dword [rbp + 0x10], 1
je 0x140044f2c
mov rax, qword [rbp + 0x18]
mov rcx, r15
mov qword [r15 + 8], rax
mov qword [r15], r13
mov r15, r13
sub r15, r14
mov r14, r13
mov r13, rdi
mov rdi, rcx
cmp r15, r12
jae 0x140044d79
jmp 0x140044d7c
mov eax, 1
movabs rsi, 0x2600000003
jmp 0x140044efb
xor esi, esi
jmp 0x140044ef9
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov ebx, eax
mov ecx, eax
call fcn.1400410e0
cmp al, 0xb
jne 0x140044f16
mov qword [rdi + 0x10], rsi
jmp 0x140044ef5
mov rsi, qword [rdi + 0x10]
sub rsi, qword [rbp + 0x38]
xor eax, eax
mov rdx, rsi
movaps xmm6, xmmword [rbp + 0x50]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
shl rbx, 0x20
or rbx, 2
mov qword [rdi + 0x10], rsi
mov eax, 1
mov rsi, rbx
jmp 0x140044efb
movabs rsi, 0x2600000003
mov eax, 1
jmp 0x140044efb
mov dword [rbp + 0x40], 0
mov byte [rbp + 0x44], 0
lea rax, [0x1400715e8]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
lea rax, [rbp + 0x48]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
lea rcx, [rbp + 0x40]
lea rdx, [rbp - 0x38]
call fcn.14001bb40
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.14001bc50
mov ecx, 7
int 0x29
ud2