Function at 0x140006280
Capabilities:
Enumerate disk volumes
Get disk information via ioctl

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
lea rcx, [rax - 0x60]
mov edx, 0xd74
mov rbx, r9
mov rbp, r8
call fcn.140057f14
mov r14, qword [rsp + 0x58]
xor edi, edi
lea rax, [r14 + 0x708]
lea rsi, [r14 + 0x398]
lea r15, [rax + 0x320]
lea r13, [rax + 0x334]
add rax, 0x3cc
lea ecx, [rdi - 2]
cmp rbx, rdi
mov qword [rsp + 0x68], rax
mov dword [rax + 4], ecx
mov dword [rax], ecx
mov rax, rbp
mov word [rsi], di
cmovne rsi, rbx
shr rax, 0x10
mov r12, rdi
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0xd8], 2
mov qword [rsp + 0x60], rax
mov rbp, rdi
cmp rbx, rdi
jne 0x140006335
mov edx, 0x103
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x1400065ed
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
js 0x140006355
movsxd rcx, eax
mov eax, 0x5c
cmp ax, word [rsi + rcx*2]
jne 0x140006355
mov word [rsi + rcx*2], di
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
lea r8d, [r9 + 7]
mov edx, 0x80000000
mov rcx, rsi
mov dword [rsp + 0x28], 0x2000080
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400065bf
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 0xc]
call fcn.1400d4180
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [rsp + 0x38], rdi
lea rax, [r14 + 0x708]
mov qword [rsp + 0x30], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2d1080
mov rcx, rbx
mov dword [rsp + 0x28], 0xc
mov qword [rsp + 0x20], r15
mov dword [r15 + 4], 0xffffff9b
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
xor edx, edx
mov r8d, 0x90
mov rcx, r13
call fcn.1400d4180
mov qword [rsp + 0x38], rdi
lea rax, [r14 + 0x708]
mov qword [rsp + 0x30], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x70048
mov rcx, rbx
mov dword [rsp + 0x28], 0x90
mov qword [rsp + 0x20], r13
mov dword [r13 + 0x18], 0xfffffdff
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp rbx, rdi
je 0x14000643c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0xd0]
cmp ax, di
jl 0x140006454
cwde
cmp eax, dword [r15 + 8]
jne 0x1400065bf
mov rcx, qword [rsp + 0xc8]
cmp rcx, rdi
jl 0x14000646e
movsxd rax, dword [r15 + 4]
cmp rcx, rax
jne 0x1400065bf
mov rdx, qword [r13 + 8]
lea rbx, [r14 + 0x5a0]
mov rcx, rbx
call fcn.1400c3bc8
mov rdx, qword [r13 + 0x10]
lea r12, [r14 + 0x618]
mov rcx, r12
call fcn.1400c3bc8
cmp dword [r13], 1
lea rcx, [r14 + 0x690]
jne 0x1400064b0
lea rdx, [r13 + 0x20]
xor r8d, r8d
call fcn.140054d88
jmp 0x1400064c2
movzx r8d, byte [r13 + 0x20]
lea rdx, [0x1400f0cbc]
call qword [sym.imp.USER32.dll_wsprintfW]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rbx
or ecx, 0xffffffff
cmp dword [r15 + 4], edi
lea rax, [r14 + 0x690]
lea r9, [0x1400f04f4]
cmovge ecx, dword [r15 + 4]
mov qword [rsp + 0x38], rax
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov eax, dword [r15 + 8]
lea rdx, str._r_n_s_s__d__d__d__s__s__s
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, r14
mov r8, rsi
call qword [sym.imp.USER32.dll_wsprintfW]
mov rcx, qword [rsp + 0xc0]
or r12d, 0xffffffff
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test byte [rsp + 0x60], 8
mov ebx, eax
je 0x140006572
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r9, qword [rsp + 0x68]
mov dword [rsp + 0x28], edi
movsxd rcx, eax
lea eax, [r12 + 0x21]
mov qword [rsp + 0x20], rdi
lea rcx, [r14 + rcx*2]
mov word [rcx], ax
add rcx, 2
mov word [rcx], di
movsxd r8, dword [r15 + 8]
movsxd rdx, dword [r15 + 4]
mov r12, rcx
sub r12, r14
sar r12, 1
call fcn.140068418
movsxd rax, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0xc0]
lea rdx, [r14 + rax*2]
call fcn.1400582c8
cmp r12d, edi
jl 0x1400065b3
mov rax, qword [rsp + 0xc0]
sub ebx, dword [rsp + 0xd8]
mov rax, qword [rax]
add ebx, r12d
movsxd rcx, ebx
lea r12, [rax + rcx*2]
mov qword [rsp + 0x50], r12
jmp 0x1400065b8
mov r12, qword [rsp + 0x50]
mov dword [rsp + 0xd8], edi
cmp rbp, rdi
je 0x1400065ea
mov r8d, 0x103
mov rdx, rsi
mov rcx, rbp
mov word [rsi], di
call qword [sym.imp.KERNEL32.dll_FindNextVolumeW]
cmp eax, edi
jne 0x140006335
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindVolumeClose]
mov rdi, r12
lea rcx, [rsp + 0x58]
call fcn.14005041c
mov rax, rdi
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret