Function at 0x140195150
Capabilities:
Get storage device properties
Reference sql statements
Reference wmi statements

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x1402bf5c8]
xor rax, rsp
mov qword [rbp + 0x38], rax
xor dil, dil
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
call fcn.140176480
mov rbx, rax
xor esi, esi
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], si
lea r8d, [rsi + 9]
lea rdx, str.DiskIndex
lea rcx, [rbp - 0x58]
call fcn.140018360
nop
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], si
lea r8d, [rsi + 0x36]
lea rdx, str.SELECT__FROM_Win32_DiskPartition_WHERE_Bootable_True
lea rcx, [rbp - 0x78]
call fcn.140018360
nop
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140176670
mov ebx, eax
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14019524a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140195245
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140195566
call fcn.1401a9a50
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], si
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x14019529a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140195295
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019556c
call fcn.1401a9a50
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], si
test ebx, ebx
js 0x14019552c
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], si
mov r8d, dword [rsp + 0x78]
lea r9, [rbp + 0x32]
test r8d, r8d
jns 0x140195320
neg r8d
nop dword [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x1401952e0
add r9, 0xfffffffffffffffe
mov eax, 0x2d
mov word [r9], ax
jmp 0x140195350
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140195320
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], si
lea rax, [rbp + 0x32]
cmp r9, rax
je 0x140195389
lea r8, [rbp + 0x32]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.140018360
nop
mov r9d, 0x11
lea r8, str..PhysicalDrive
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140080e90
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm0
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
lea rcx, [rbp - 0x78]
call fcn.1400272a0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rbp - 0x68], xmm1
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14019541d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140195418
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140195572
call fcn.1401a9a50
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rcx, qword [rbp - 0x78]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rbp - 0x30], rsi
mov qword [rsp + 0x38], rsi
lea rax, [rbp - 0x38]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x28
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp - 0x30]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1401954d5
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1401954d0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401954cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140195560
call fcn.1401a9a50
xor dil, dil
jmp 0x14019552c
movzx edi, dil
mov eax, 1
cmp dword [rbp - 4], 0x11
cmove edi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14019552c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140195526
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140195560
call fcn.1401a9a50
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
movzx eax, dil
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.1401a9a30
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.1401e3dbc
nop
call fcn.1401e3dbc
nop
call fcn.1401e3dbc
nop
call fcn.1401e3dbc
int3