Function at 0x140193d20
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x1402be5c8]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov rsi, rcx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
lea rdx, [rbp - 0x70]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
lea rbx, [rbp - 0x70]
cmp word [rbp - 0x70], 0
je 0x140194012
xor r14d, r14d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
mov qword [rbp - 0x7c], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [rbp - 0x80], eax
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x140193dd3
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140018360
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x140193df2
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140018360
mov r15d, dword [rbp - 0x80]
lea eax, [r15 - 2]
cmp eax, 2
jbe 0x140193e73
cmp r15d, 6
je 0x140193e73
cmp r15d, 5
jne 0x140193e66
mov rax, qword [rsi + 0x118]
cmp rax, qword [rsi + 0x120]
je 0x140193e4d
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140191230
add qword [rsi + 0x118], 0x50
jmp 0x140193fda
lea r8, [rsp + 0x40]
mov rdx, rax
lea rcx, [rsi + 0x110]
call fcn.140190ab0
jmp 0x140193fda
mov qword [rbp - 0x7c], 0
jmp 0x140193fda
mov rdi, qword [rsi + 0x130]
cmp rdi, qword [rsi + 0x138]
je 0x140193fc3
mov qword [rsp + 0x30], rdi
mov qword [rdi], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
lea r14, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r14, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
cmp rax, 8
jae 0x140193ec7
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
mov r13d, 7
jmp 0x140193f0b
mov r13, rax
or r13, 7
movabs rax, 0x7ffffffffffffffe
cmp r13, rax
cmova r13, rax
lea rdx, [r13 + 1]
mov rcx, rdi
call fcn.140023c30
mov qword [rdi], rax
mov r8, qword [rsp + 0x20]
lea r8, [r8*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1401cf850
mov rax, qword [rsp + 0x20]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], r13
xor eax, eax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rcx
cmp rcx, 8
jae 0x140193f56
movups xmm0, xmmword [rax]
movups xmmword [rdi + 0x20], xmm0
mov r13d, 7
jmp 0x140193f9e
mov r13, rcx
or r13, 7
movabs rax, 0x7ffffffffffffffe
cmp r13, rax
cmova r13, rax
lea rdx, [r13 + 1]
lea rcx, [rdi + 0x20]
call fcn.140023c30
mov qword [rdi + 0x20], rax
mov r8, qword [rsp + 0x20]
lea r8, [r8*2 + 2]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call fcn.1401cf850
mov rcx, qword [rsp + 0x20]
mov qword [rdi + 0x30], rcx
mov qword [rdi + 0x38], r13
mov dword [rdi + 0x40], r15d
mov eax, dword [rbp - 0x7c]
mov dword [rdi + 0x44], eax
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x48], eax
add qword [rsi + 0x130], 0x50
xor r14d, r14d
jmp 0x140193fd7
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rsi + 0x128]
call fcn.140190ab0
inc dword [rsi + 0x10]
lea rcx, [rsp + 0x60]
call fcn.1400272a0
lea rcx, [rsp + 0x40]
call fcn.1400272a0
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x140193ff5
lea rbx, [rbx + rax*2]
add rbx, 2
cmp word [rbx], 0
jne 0x140193d86
mov al, 1
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.1401a9440
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret