Function at 0x1000bafc0
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x200
mov qword [rsp + 0x160], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x1f0], rax
mov byte [rsp + 0x30], r9b
mov r14, r8
mov r15, rdx
lea rdi, [0x100022920]
mov qword [rsp + 0x38], rdi
lea rsi, [0x100026960]
mov qword [rsp + 0x40], rsi
lea rbp, [0x100022900]
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x50], 0x7f3
mov ebx, 1
mov dword [rsp + 0x54], ebx
mov r12d, 0xff
mov dword [rsp + 0x58], r12d
xor r13d, r13d
mov word [r11 - 0x160], r13w
mov byte [r11 - 0x15e], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rbx + 0x77]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e8000
nop
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x50], 0x7f7
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], r12d
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rbx + 0x77]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov r8d, 0x1a3
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000ec6d4
mov r12d, r13d
cmp dword [r14], r13d
jbe 0x1000bb806
mov rsi, r13
mov rbp, qword [r14 + 8]
mov rdi, qword [rsi + rbp + 0x30]
cmp rdi, r13
je 0x1000bb36c
lea rcx, [0x100022920]
mov qword [rsp + 0x38], rcx
lea rcx, [0x100026960]
mov qword [rsp + 0x40], rcx
lea rcx, [0x100022900]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], 0x801
mov dword [rsp + 0x54], 6
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov r9, rdi
lea r8, [0x1000269c0]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e91dc
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, qword [rsi + rbp + 0x30]
repne scasw ax, word [rdi]
not rcx
sub rcx, rbx
lea edx, [rcx + 2]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rbx, rax
mov qword [rsp + 0x168], rax
mov r9, qword [rsi + rbp + 0x30]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r9
repne scasw ax, word [rdi]
not rcx
lea r8, [0x10000a1e8]
lea rdx, [rcx + 1]
mov rcx, rbx
call fcn.1000526f0
mov edi, eax
mov dword [rsp + 0xf8], eax
cmp eax, r13d
jl 0x1000bb784
xor edx, edx
mov r8d, 0x80
lea rcx, [rsp + 0x170]
call sub.msvcrt.dll_memset
mov r8d, 0x40
lea rdx, [rsp + 0x170]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, r13d
je 0x1000bb6e8
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x170]
repne scasw ax, word [rdi]
not rcx
cmp word [rsp + rcx*2 + 0x16c], 0x5c
jne 0x1000bb242
mov word [rsp + rcx*2 + 0x16c], r13w
lea rax, [0x100022920]
mov qword [rsp + 0x38], rax
lea rax, [0x100026960]
mov qword [rsp + 0x40], rax
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x819
mov dword [rsp + 0x54], 6
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], 1
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov rdx, qword [rsi + rbp + 0x30]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x170]
lea r8, [0x100026a50]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e91dc
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x170]
repne scasw ax, word [rdi]
not rcx
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
lea rdx, [0x10017743c]
mov rcx, rax
call fcn.100130a4c
mov r13, rax
xor eax, eax
cmp r13, rax
je 0x1000bb665
mov rcx, rdi
lea rdi, [rsp + 0x170]
repne scasw ax, word [rdi]
not rcx
lea r8, [rsp + 0x170]
mov rdx, rcx
mov rcx, r13
call fcn.100052534
mov edi, eax
mov dword [rsp + 0xf8], eax
xor eax, eax
cmp edi, eax
jl 0x1000bb5e5
mov rcx, qword [rsi + rbp + 0x30]
call fcn.10013031c
mov qword [rsi + rbp + 0x30], r13
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor r13d, r13d
lea ebx, [r13 + 1]
mov qword [rsp + 0xe0], r13
mov rax, qword [r15]
lea r8, [rsp + 0xe0]
mov edx, r12d
mov rcx, r15
call qword [rax + 0x70]
mov dword [rsp + 0xf8], eax
lea rdi, [0x100022920]
mov qword [rsp + 0x38], rdi
lea rax, [0x100026960]
mov qword [rsp + 0x40], rax
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x82e
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x100026680]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.100052760
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [rsi + rbp + 0x30]
call qword [rax + 0x88]
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0x38], rdi
lea rbp, [0x100026960]
mov qword [rsp + 0x40], rbp
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x830
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x10001ecc0]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.100052760
cmp byte [rsp + 0x30], r13b
je 0x1000bb5bd
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
lea rdx, [rsp + 0xe8]
call qword [rax + 0x40]
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rbp
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x836
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x10001b210]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.100052760
mov edx, dword [rsp + 0xe8]
bts edx, 0x13
mov dword [rsp + 0xe8], edx
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rbp
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x839
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], bl
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r8, [0x100019bb0]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.100052760
nop
mov rcx, qword [rsp + 0xe0]
cmp rcx, r13
je 0x1000bb5d0
mov rax, qword [rcx]
call qword [rax + 0x10]
add r12d, ebx
add rsi, 0x48
cmp r12d, dword [r14]
jae 0x1000bb806
jmp 0x1000bb0f0
lea rcx, [0x100022920]
mov qword [rsp + 0x38], rcx
lea rcx, [0x100026960]
mov qword [rsp + 0x40], rcx
lea rcx, [0x100022900]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], 0x824
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], ax
mov byte [rsp + 0xda], al
mov byte [rsp + 0xdb], 1
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r9, [0x10000a1f0]
mov r8d, edi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e9e30
int3
lea rcx, [0x100022920]
mov qword [rsp + 0x38], rcx
lea rcx, [0x100026960]
mov qword [rsp + 0x40], rcx
lea rcx, [0x100022900]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], 0x81e
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], ax
mov byte [rsp + 0xda], al
mov byte [rsp + 0xdb], 1
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r9, [0x100026a98]
mov r8d, 0x8007000e
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e93c0
int3
lea rax, [0x100022920]
mov qword [rsp + 0x38], rax
lea rax, [0x100026960]
mov qword [rsp + 0x40], rax
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x812
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], 1
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r8d, ax
or r8d, 0x80070000
cmp eax, r13d
cmovle r8d, eax
mov qword [rsp + 0x20], rbx
lea r9, [0x10001f040]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e9e30
int3
lea rax, [0x100022920]
mov qword [rsp + 0x38], rax
lea rax, [0x100026960]
mov qword [rsp + 0x40], rax
lea rax, [0x100022900]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], 0x80b
mov dword [rsp + 0x54], 1
mov dword [rsp + 0x58], 0xff
mov word [rsp + 0xd8], r13w
mov byte [rsp + 0xda], r13b
mov byte [rsp + 0xdb], 1
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
lea r9, [0x10000a1f0]
mov r8d, edi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xf0]
call fcn.1000e9e30
nop
lea rcx, [rsp + 0xf0]
call fcn.1000e80ec
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.100130830
mov rbx, qword [rsp + 0x240]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret