Function at 0x1400783f0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x1401d6668]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r13, r8
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0x58], rdx
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x20]
call fcn.14013a3a0
mov rdx, r13
lea rcx, [rbp + 0x20]
call fcn.1400911a0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rax
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x20]
call fcn.14008e8c0
nop
cmp dword [rsp + 0x78], 0
je 0x140078486
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.140022e90
jmp 0x1400787ef
lea rcx, [rbp + 0x20]
call fcn.1400916d0
test rax, rax
jne 0x140078543
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rax
mov edx, 0xa0000002
lea rcx, [rbp - 0x10]
call fcn.140022e50
nop
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.140029890
nop
lea r8, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae r8, qword [rsp + 0x38]
lea rdx, str.Geometry_for_disk___s__is_null
lea rcx, [rbp - 0x10]
call fcn.140023a60
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x140078528
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140078523
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140078842
call fcn.140146acc
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.140022e90
nop
lea rcx, [rbp - 0x10]
call fcn.140023190
jmp 0x1400787ef
lea rcx, [rbp + 0x20]
call fcn.1400916d0
movups xmm0, xmmword [rax]
movups xmmword [r15 + 0x4918], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x4928], xmm1
movsd xmm0, qword [rax + 0x20]
movsd qword [r15 + 0x4938], xmm0
movsxd r12, dword [r15 + 0x492c]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor edi, edi
mov qword [rsp + 0x70], rdi
test r12d, r12d
je 0x1400785d3
movabs rax, 0x7fffffffffffffff
cmp r12, rax
ja 0x140078848
lfence
mov rcx, r12
call fcn.140020900
mov rbx, rax
mov qword [rsp + 0x60], rax
lea rdi, [rax + r12]
mov qword [rsp + 0x70], rdi
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.14013a3a0
mov rsi, rdi
mov qword [rsp + 0x68], rdi
jmp 0x1400785dd
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
xor eax, eax
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, r12d
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14007868e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x60]
call fcn.140022e10
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x58], eax
lea r8, str.Error_while_reading_MBR_record
mov edx, 0x20000001
lea rcx, [rbp - 0x60]
call fcn.1400232e0
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.140022e90
nop
lea rcx, [rbp - 0x60]
call fcn.140023190
nop
test rbx, rbx
je 0x1400787ef
sub rdi, rbx
mov rax, rbx
cmp rdi, 0x1000
jb 0x1400787e3
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140078836
jmp 0x1400787e3
cmp dword [rsp + 0x58], 0x200
jae 0x140078726
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x38]
call fcn.140022e10
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
lea r8, str.MBR_record_read_returned_too_few_bytes
mov edx, 0xa0000002
lea rcx, [rbp - 0x38]
call fcn.1400232e0
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.140022e90
nop
lea rcx, [rbp - 0x38]
call fcn.140023190
nop
test rbx, rbx
je 0x1400787ef
sub rdi, rbx
mov rax, rbx
cmp rdi, 0x1000
jb 0x1400787e3
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007883c
jmp 0x1400787e3
mov rax, rsi
sub rax, rbx
cmp rax, 0x200
jbe 0x140078740
lea rsi, [rbx + 0x200]
mov qword [rsp + 0x68], rsi
sub rsi, rbx
lea rcx, [r15 + 0x4940]
je 0x1400787b1
test rcx, rcx
jne 0x14007875e
call fcn.14011de08
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x1400787ac
test rbx, rbx
je 0x140078779
cmp rsi, 0x200
ja 0x140078779
mov r8, rsi
mov rdx, rbx
call fcn.140139cd0
jmp 0x1400787b1
xor edx, edx
mov r8d, 0x200
call fcn.14013a3a0
test rbx, rbx
jne 0x140078798
call fcn.14011de08
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
jmp 0x1400787ac
cmp rsi, 0x200
jbe 0x1400787b1
call fcn.14011de08
mov dword [rax], 0x22
call fcn.1401179fc
mov rcx, r14
call fcn.140022e10
nop
test rbx, rbx
je 0x1400787ef
sub rdi, rbx
mov rax, rbx
cmp rdi, 0x1000
jb 0x1400787e3
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140078830
mov rdx, rdi
mov rcx, rbx
call fcn.140146acc
nop
lea rcx, [rsp + 0x78]
call fcn.140023190
nop
lea rcx, [rbp + 0x20]
call fcn.14008e710
mov rax, r14
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.140146a70
mov rbx, qword [rsp + 0x298]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140117a1c
nop
call fcn.140117a1c
int3
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140020820
int3