Function at 0x10000f2fc
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov rax, qword [0x100029100]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rcx
xor eax, eax
mov qword [rdx + 8], rdx
mov qword [rdx], rdx
or r12, 0xffffffffffffffff
mov rdi, rbx
mov rcx, r12
mov rbp, rdx
xor esi, esi
repne scasw ax, word [rdi]
xor r13d, r13d
xor r15d, r15d
not rcx
lea rdi, [rcx + rcx]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
lea edi, [rsi + 8]
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x10000f37d
xor ebx, ebx
mov esi, edi
jmp 0x10000f65c
xor eax, eax
mov rcx, r12
mov rdi, rbx
repne scasw ax, word [rdi]
mov r8, rbx
not rcx
mov rdx, rcx
mov rcx, r9
call fcn.10000dd28
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
lea rdx, [0x1000043b8]
mov r8, rbx
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
mov cl, 1
call fcn.10000b2c0
mov r13, rax
test rax, rax
jne 0x10000f3f3
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x1000043d0]
lea ecx, [rbx + 4]
mov r8d, eax
mov esi, eax
call fcn.100010054
jmp 0x10000f5eb
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
lea rdx, [0x100004438]
mov r8, r13
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
call fcn.10000f6a0
mov edx, eax
mov edi, eax
sub edx, 1
je 0x10000f44c
cmp edx, 1
je 0x10000f435
xor ebx, ebx
lea esi, [rbx + 0x1f]
jmp 0x10000f5eb
lea r8, [0x100004448]
lea r12, [0x100004450]
lea r14, [0x100004478]
jmp 0x10000f461
lea r8, [0x100004498]
lea r12, [fcn.1000044a8]
lea r14, [0x1000043a8]
lea rdx, [fcn.1000044b8]
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
lea r8, [0x1000044c8]
lea rdx, [0x1000044d8]
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
lea rdx, [0x1000044e8]
mov r8, r12
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
lea rdx, [fcn.1000044f8]
mov r8, r14
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
cmp edi, 1
jne 0x10000f4f7
lea r8, [0x100004508]
lea rdx, [0x1000036e0]
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
lea rdx, [0x100004510]
mov rcx, rbp
call fcn.100010388
mov r15, rax
test rax, rax
jne 0x10000f515
xor ebx, ebx
jmp 0x10000f5e3
lea rdx, [rsp + 0x50]
mov r8d, 0x105
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
je 0x10000f597
and dword [rsp + 0x38], esi
and qword [rsp + 0x30], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
and qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov r12d, eax
test eax, eax
je 0x10000f597
test byte [rsp + 0x40], 8
jne 0x10000f574
xor r12d, r12d
lea ecx, [r12 + 0x32]
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r12d, r12d
je 0x10000f597
lea r8, [0x100004508]
lea rdx, [0x1000036f0]
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
jne 0x10000f5a6
jmp 0x10000f5e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x32
jne 0x10000f50e
cmp edi, 2
jne 0x10000f5eb
lea r8, [0x100004528]
lea rdx, [0x100004540]
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
je 0x10000f5e3
lea r8, [0x100004558]
lea rdx, [0x100004570]
mov rcx, rbp
call fcn.100010220
mov ebx, eax
test eax, eax
jne 0x10000f5eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x10000f61a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x10000f633
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jne 0x10000f66a
jmp 0x10000f65c
mov rdi, qword [rbp]
mov rax, qword [rdi]
mov qword [rbp], rax
mov qword [rax + 8], rbp
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp], rbp
jne 0x10000f639
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.100020910
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret