Function at 0x1001481b4
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov rbx, r15
mov qword [rax - 0x50], r15
mov rbp, r15
mov qword [rax - 0x48], rbx
mov dword [rax - 0x58], r15d
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100148218
test byte [rcx + 0x1c], 0x20
je 0x100148218
cmp byte [rcx + 0x19], 4
jb 0x100148218
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x17]
lea r8, [0x100002c10]
call fcn.10001c7b8
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov r12d, eax
cmp eax, r15d
jne 0x100148240
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
cmp eax, r15d
cmovle edi, eax
jmp 0x100148450
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub ecx, 2
cmp word [rsi + rcx*2], 0x5c
mov rcx, rsi
je 0x10014826f
lea r8, [rsp + 0x28]
lea rdx, [0x100002954]
call fcn.10009b5b0
jmp 0x10014827c
lea rdx, [rsp + 0x28]
xor r8d, r8d
call fcn.10009b4ec
cmp eax, r15d
mov r13, qword [rsp + 0x28]
mov edi, eax
jl 0x100148434
lea r9, [rsp + 0x98]
xor r8d, r8d
xor edx, edx
mov rcx, r13
mov word [rsp + 0x90], r15w
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
cmp eax, r15d
jne 0x1001482d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x1001482d1
movzx edi, ax
or edi, 0x80070000
cmp eax, r15d
cmovle edi, eax
jmp 0x100148434
mov ecx, dword [rsp + 0x98]
add rcx, rcx
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
cmp rax, r15
jne 0x1001482f3
mov edi, 0x8007000e
jmp 0x100148426
mov r8d, dword [rsp + 0x98]
lea r9, [rsp + 0x20]
mov rdx, rax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
cmp eax, r15d
jne 0x10014832b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
cmp eax, r15d
cmovle edi, eax
jmp 0x100148426
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp ecx, r15d
je 0x100148384
lea eax, [rcx + 1]
mov edi, eax
lea rcx, [rax + rax]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rbp, rax
cmp rax, r15
jne 0x100148363
mov edi, 0x8007000e
jmp 0x100148418
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.100043e4c
cmp eax, r15d
mov edi, eax
jl 0x100148418
mov rbx, rbp
mov rbp, r15
jmp 0x1001483eb
mov eax, 1
mov edi, r15d
test r12d, eax
je 0x10014839c
inc edi
add eax, eax
cmp edi, 0x1a
jb 0x10014838c
jmp 0x1001483d6
lea r8, [rsp + 0x30]
lea rdx, [0x100015b7c]
lea rcx, [rsp + 0x90]
add di, 0x41
mov word [rsp + 0x92], r15w
mov word [rsp + 0x90], di
call fcn.10009b5b0
mov rbx, qword [rsp + 0x30]
cmp eax, r15d
mov edi, eax
jl 0x100148426
mov rdx, r13
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
cmp eax, r15d
je 0x100148311
mov rcx, qword [0x100166698]
cmp rcx, r15
je 0x1001483fd
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea r8, [0x100166698]
mov rdx, r14
mov rcx, rbx
mov qword [0x100166698], r15
call fcn.10009b5b0
mov edi, eax
cmp rbp, r15
je 0x100148426
mov rcx, rbp
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp rsi, r15
je 0x100148434
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp r13, r15
je 0x100148442
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp rbx, r15
je 0x100148450
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100148484
test byte [rcx + 0x1c], 0x20
je 0x100148484
cmp byte [rcx + 0x19], 4
jb 0x100148484
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002c10]
mov edx, 0x18
call fcn.10001c7b8
mov eax, edi
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret