Function at 0x140007680
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov rax, qword [0x140107280]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r14, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
mov dword [rcx], 0x2bc
mov qword [rcx + 4], 0x1c2
mov dword [rcx + 0xc], esi
mov dword [rcx + 0x10], edx
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
mov qword [rcx + 0x28], rsi
mov qword [rcx + 0x30], 0xf
mov byte [rcx + 0x18], sil
movups xmmword [rcx + 0x38], xmm0
mov qword [rcx + 0x48], rsi
mov qword [rcx + 0x50], 0xf
mov byte [rcx + 0x38], sil
mov dword [rcx + 0x58], esi
mov byte [rcx + 0x5c], sil
movups xmmword [rcx + 0x60], xmm0
mov qword [rcx + 0x70], rsi
mov qword [rcx + 0x78], 0xf
mov byte [rcx + 0x60], sil
mov qword [rcx + 0x80], rsi
mov qword [rcx + 0x88], rsi
mov qword [rcx + 0x90], rsi
movups xmmword [rcx + 0xa0], xmm0
mov qword [rcx + 0xb0], rsi
mov qword [rcx + 0xb8], 7
mov word [rcx + 0xa0], si
lea rbx, [rcx + 0xc0]
mov qword [rsp + 0x20], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
lea ecx, [rsi + 0x40]
call fcn.14009984c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [r14 + 0xd0], rsi
mov qword [r14 + 0xd8], rsi
mov qword [r14 + 0xe0], rsi
lea rdi, [r14 + 0xe8]
mov qword [rsp + 0x20], rdi
mov ecx, 0x200
call fcn.14009984c
mov rbx, rax
test rax, rax
je 0x1400077ae
xor edx, edx
mov r8d, 0x200
mov rcx, rax
call fcn.1400cedb0
jmp 0x1400077b1
mov rbx, rsi
mov qword [rdi], rbx
xorps xmm0, xmm0
movups xmmword [r14 + 0xf0], xmm0
mov qword [r14 + 0x100], rsi
mov qword [r14 + 0x108], 0xf
mov byte [r14 + 0xf0], 0
mov qword [r14 + 0x110], rsi
test byte [r14 + 0x10], 0x40
je 0x14000782b
mov ecx, 0x200
call fcn.14009984c
mov rbx, rax
test rax, rax
je 0x14000780b
xor edx, edx
mov r8d, 0x200
mov rcx, rax
call fcn.1400cedb0
jmp 0x14000780e
mov rbx, rsi
mov rcx, qword [r14 + 0x110]
mov qword [r14 + 0x110], rbx
test rcx, rcx
je 0x14000782b
mov edx, 0x200
call fcn.140099888
mov rax, qword [rdi]
mov byte [rax], 0
mov rax, qword [rdi]
mov byte [rax + 0x1ff], 0
mov qword [rsp + 0x40], 0xf
mov qword [rsp + 0x48], 0xf
movsd xmm0, qword [0x1400d4d48]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x1400d4d50]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400d4d54]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1400d4d56]
mov byte [rsp + 0x3e], al
mov byte [rsp + 0x3f], 0
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.140009640
lea rcx, [rsp + 0x30]
call fcn.14000c050
nop
mov rdx, rax
mov rcx, r14
call fcn.1400094e0
nop
lea rcx, [rsp + 0x30]
call fcn.14000b9c0
mov rbx, qword [r14 + 0x80]
mov rdi, qword [r14 + 0x88]
cmp rbx, rdi
je 0x140007922
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1400078fc
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1400078f7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400079a8
mov rcx, r8
call fcn.140099888
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rdi
jne 0x1400078c2
mov rax, qword [r14 + 0x80]
mov qword [r14 + 0x88], rax
mov dword [r14 + 0x98], esi
mov byte [r14 + 0x9c], 0
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov ebp, eax
mov ebx, esi
nop dword [rax + rax]
mov ecx, ebx
mov edi, 1
shl edi, cl
test ebp, edi
je 0x140007975
lea eax, [rbx + 0x41]
mov byte [rsp + 0x20], al
mov word [rsp + 0x21], 0x5c3a
mov byte [rsp + 0x23], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
add eax, 0xfffffffe
cmp eax, 2
ja 0x140007975
or esi, edi
inc ebx
cmp ebx, 0x1a
jl 0x140007940
mov dword [r14 + 0x118], esi
mov rax, r14
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140099d00
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
call fcn.1400a0a6c
nop
int3