Function at 0x1400d89d4
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x200
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov byte [rsp + 0x30], r9b
mov r12, r8
mov r13, rdx
lea rbx, [0x140028580]
mov qword [rsp + 0x38], rbx
lea rdi, [0x14002c620]
mov qword [rsp + 0x40], rdi
lea rsi, [0x140028560]
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], 0x83a
mov dword [rsp + 0x54], 1
mov r15d, 0xff
mov dword [rsp + 0x58], r15d
xor r14d, r14d
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [r14 + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140052e50
nop
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], 0x83e
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], r15d
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [r14 + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov r8d, 0x1a3
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.14004b5f0
mov r15d, r14d
cmp dword [r12], r14d
jbe 0x1400d9120
mov eax, r15d
lea rsi, [rax + rax*4]
shl rsi, 4
add rsi, qword [r12 + 8]
cmp qword [rsi + 0x38], r14
je 0x1400d8d0f
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
lea rcx, [0x140028560]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], 0x848
mov dword [rsp + 0x54], 6
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov r9, qword [rsi + 0x38]
lea r8, [0x14002c680]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.1400510b0
mov rcx, qword [rsi + 0x38]
or rdi, 0xffffffffffffffff
mov rax, rdi
inc rax
cmp word [rcx + rax*2], r14w
jne 0x1400d8b62
lea edx, [rax + 2]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rbx, rax
mov qword [rbp + 0x68], rax
mov r9, qword [rsi + 0x38]
mov rdx, rdi
inc rdx
cmp word [r9 + rdx*2], r14w
jne 0x1400d8b85
add rdx, 2
lea r8, [0x1400102b8]
mov rcx, rax
call fcn.14004af20
mov edi, eax
mov dword [rbp - 8], eax
test eax, eax
js 0x1400d90b4
mov edi, 0x80
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x70]
call sub.msvcrt.dll_memset
lea r8d, [rdi - 0x40]
lea rdx, [rbp + 0x70]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
je 0x1400d9031
lea rcx, [rbp + 0x70]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r14w
jne 0x1400d8be3
cmp word [rbp + rax*2 + 0x6e], 0x5c
jne 0x1400d8c0c
lea rax, [rax*2 - 2]
cmp rax, rdi
jae 0x1400d8f57
mov word [rbp + rax + 0x70], r14w
lea rdi, [0x140028580]
mov qword [rsp + 0x38], rdi
lea rax, [0x14002c620]
mov qword [rsp + 0x40], rax
lea rax, [0x140028560]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x860
mov dword [rsp + 0x54], 6
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x70]
lea r8, [0x14002c710]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.1400510b0
lea rax, [rbp + 0x70]
or r8, 0xffffffffffffffff
mov rcx, r8
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x1400d8c8c
inc rcx
mov eax, 2
mul rcx
cmovo rax, r8
lea rdx, [0x1401544ec]
mov rcx, rax
call fcn.14005debc
mov r14, rax
xor eax, eax
test r14, r14
je 0x1400d8fc9
lea rcx, [rbp + 0x70]
or rdx, 0xffffffffffffffff
inc rdx
cmp word [rcx + rdx*2], ax
jne 0x1400d8cca
inc rdx
lea r8, [rbp + 0x70]
mov rcx, r14
call fcn.14007edcc
mov edi, eax
mov dword [rbp - 8], eax
test eax, eax
js 0x1400d8f5d
mov rcx, qword [rsi + 0x38]
call fcn.14005d7b4
mov qword [rsi + 0x38], r14
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor r14d, r14d
lea rdi, [0x14002c620]
mov qword [rbp - 0x20], r14
mov rax, qword [r13]
mov rbx, qword [rax + 0x70]
mov rcx, rbx
call qword [fcn.14005e6a0]
lea r8, [rbp - 0x20]
mov edx, r15d
mov rcx, r13
call rbx
mov dword [rbp - 8], eax
lea rcx, [0x140028580]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rdi
lea rax, [0x140028560]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x875
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x14002c340]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140073c8c
mov rbx, qword [rbp - 0x20]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x88]
mov rcx, rdi
call qword [fcn.14005e6a0]
mov rdx, qword [rsi + 0x38]
mov rcx, rbx
call rdi
mov dword [rbp - 8], eax
lea rbx, [0x140028580]
mov qword [rsp + 0x38], rbx
lea rdi, [0x14002c620]
mov qword [rsp + 0x40], rdi
lea rsi, [0x140028560]
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], 0x877
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x140024950]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140073c8c
cmp byte [rsp + 0x30], r14b
je 0x1400d8f3c
mov rbx, qword [rbp - 0x20]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x40]
mov rcx, rdi
call qword [fcn.14005e6a0]
lea rdx, [rbp - 0x18]
mov rcx, rbx
call rdi
mov dword [rbp - 8], eax
lea rcx, [0x140028580]
mov qword [rsp + 0x38], rcx
lea rax, [0x14002c620]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], 0x87d
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x140020c80]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140073c8c
mov esi, dword [rbp - 0x18]
bts esi, 0x13
mov dword [rbp - 0x18], esi
mov rbx, qword [rbp - 0x20]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x48]
mov rcx, rdi
call qword [fcn.14005e6a0]
mov edx, esi
mov rcx, rbx
call rdi
mov dword [rbp - 8], eax
lea rbx, [0x140028580]
mov qword [rsp + 0x38], rbx
lea rdi, [0x14002c620]
mov qword [rsp + 0x40], rdi
lea rax, [0x140028560]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x880
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x14001f620]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140073c8c
nop
lea rcx, [rbp - 0x20]
call fcn.140070d14
inc r15d
cmp r15d, dword [r12]
jb 0x1400d8adf
jmp 0x1400d9120
call fcn.14005e088
int3
lea rcx, [0x140028580]
mov qword [rsp + 0x38], rcx
lea rcx, [0x14002c620]
mov qword [rsp + 0x40], rcx
lea rcx, [0x140028560]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], 0x86b
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r9, [0x1400102c0]
mov r8d, edi
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.1401027cc
int3
mov qword [rsp + 0x38], rdi
lea rcx, [0x14002c620]
mov qword [rsp + 0x40], rcx
lea rcx, [0x140028560]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], 0x865
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r9, [0x14002c758]
mov r8d, 0x8007000e
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140101d5c
int3
lea rcx, [0x140028580]
mov qword [rsp + 0x38], rcx
lea rax, [0x14002c620]
mov qword [rsp + 0x40], rax
lea rax, [0x140028560]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x859
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
test eax, eax
jle 0x1400d9096
movzx eax, ax
or eax, 0x80070000
mov qword [rsp + 0x20], rbx
lea r9, [0x140024cd0]
mov r8d, eax
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.1401027cc
int3
lea rcx, [0x140028580]
mov qword [rsp + 0x38], rcx
lea rax, [0x14002c620]
mov qword [rsp + 0x40], rax
lea rax, [0x140028560]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x852
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov dword [rbp - 0x28], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r9, [0x1400102c0]
mov r8d, edi
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.1401027cc
nop
lea rcx, [rbp - 0x10]
call fcn.140050f50
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.14005dc70
mov rbx, qword [rsp + 0x240]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret