Function at 0x14002aec0
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov rdi, rcx
mov rcx, qword [rcx + 0x38]
mov r15d, edx
xor r13d, r13d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov r14d, r13d
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rdi + 0x3b8]
mov dword [rdi + 0x3c8], ecx
add ecx, eax
mov rsi, rax
mov qword [rsp + 0x38], rax
jne 0x14002af60
movsxd r8, dword [rdi + 0x354]
mov rcx, qword [rdi + 0x40]
lea r9d, [r13 + 1]
mov edx, 0x80ca
cmp dword [rdi + 0xa00], r13d
jne 0x14002af4e
mov edx, 0x80c9
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rdi + 0x2f0], r13d
jmp 0x14002b388
cmp dword [rdi + 0xa00], r13d
jne 0x14002af82
movsxd r8, dword [rdi + 0x354]
mov rcx, qword [rdi + 0x40]
xor r9d, r9d
mov edx, 0x80c9
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, dword [rdi + 0x3c8]
mov rcx, qword [rdi + 0x38]
xor r9d, r9d
add r8d, esi
mov edx, 0x102f
call qword [sym.imp.USER32.dll_SendMessageW]
test r15d, r15d
mov eax, 0x107
mov r11d, 7
mov dword [rsp + 0x48], r13d
cmovne r11d, eax
mov dword [rsp + 0x40], r11d
cmp dword [rdi + 0x32c], r13d
je 0x14002aff2
mov rbx, qword [rdi + 0x38]
mov edx, 0xfffffff0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
bt rax, 8
jae 0x14002afe1
btr rax, 8
mov r8, rax
mov edx, 0xfffffff0
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rax, qword [rdi + 0x3b0]
mov qword [rsp + 0x338], r12
mov rbx, qword [rax]
cmp rbx, rax
je 0x14002b221
nop dword [rax]
mov edx, dword [rbx + 0x14]
mov rcx, rdi
call fcn.14007ca80
test eax, eax
jne 0x14002b1bf
mov eax, dword [rbx + 0x10]
mov rcx, rdi
mov dword [rsp + 0x44], eax
mov edx, dword [rbx + 0x14]
call fcn.14007c540
mov dword [rsp + 0x64], 0xffffffff
mov qword [rsp + 0x58], rax
movsxd rax, dword [rbx + 0x14]
mov qword [rsp + 0x68], rax
test r15d, r15d
je 0x14002b05f
mov edx, dword [rbx + 0x14]
mov rcx, rdi
call fcn.140077880
mov dword [rsp + 0x74], eax
mov rcx, qword [rdi + 0x38]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov edx, 0x104d
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rbx + 0x18], 0
mov r12, rax
je 0x14002b0e2
cmp dword [rdi + 0x2c4], 4
je 0x14002b0e2
movsxd rcx, dword [rbx + 0x1c]
cmp ecx, 0xffffffff
je 0x14002b0b3
mov r8, rcx
mov rcx, qword [rdi + 0x38]
lea r9, [rsp + 0x20]
mov edx, 0x1010
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11d, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
jmp 0x14002b0c2
mov eax, r13d
mov r11d, r13d
mov dword [rsp + 0x24], r13d
mov dword [rsp + 0x20], eax
mov rcx, qword [rdi + 0x38]
lea r9, [rsp + 0x28]
movsxd r8, r12d
mov edx, 0x1031
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r11d
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rdi + 0x2c4], 5
jne 0x14002b0fa
mov r8d, dword [rbx + 0x14]
mov edx, r12d
mov rcx, rdi
call fcn.140088450
cmp dword [rdi + 0x3cc], 0
je 0x14002b156
movsxd rax, dword [rbx + 0x14]
mov rdx, qword [rdi + 0x60]
mov rcx, qword [rdi + 0x88]
imul rax, rax, 0x238
mov rdx, qword [rax + rdx]
call qword [sym.imp.SHELL32.dll_ILCombine]
mov rdx, qword [rdi + 0x3d0]
mov rcx, rax
mov r13, rax
call fcn.140092a30
test eax, eax
je 0x14002b143
mov dword [rdi + 0x3cc], 0
mov rcx, r13
mov dword [rdi + 0x3d8], r12d
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor r13d, r13d
movsxd rcx, dword [rbx + 0x14]
mov rax, qword [rdi + 0x58]
imul rcx, rcx, 0x250
test byte [rcx + rax], 2
je 0x14002b18f
mov rcx, qword [rdi + 0x38]
lea r9, [rbp - 0x70]
movsxd r8, r12d
mov edx, 0x102b
mov dword [rbp - 0x60], 4
mov dword [rbp - 0x64], 4
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rdx, dword [rbx + 0x14]
mov rcx, qword [rdi + 0x58]
imul rdx, rdx, 0x250
mov eax, dword [rdx + rcx + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rdx + rcx + 0x1c]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x30]
add qword [rdi + 0x2a8], rax
inc r14d
jmp 0x14002b20c
mov r12, qword [rdi + 0x5e8]
lea r8, [rbx + 0x14]
mov rdx, qword [r12 + 8]
mov rcx, r12
call fcn.14000abf0
mov rdx, qword [rdi + 0x5f0]
movabs rcx, 0x3ffffffffffffffe
sub rcx, rdx
cmp rcx, 1
jb 0x14002b2c4
lea rcx, [rdx + 1]
mov qword [rdi + 0x5f0], rcx
mov qword [r12 + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
mov rbx, qword [rbx]
cmp rbx, qword [rdi + 0x3b0]
jne 0x14002b010
mov rsi, qword [rsp + 0x38]
cmp dword [rdi + 0x32c], 0
je 0x14002b259
mov rbx, qword [rdi + 0x38]
mov edx, 0xfffffff0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
bt rax, 8
jb 0x14002b248
bts rax, 8
mov r8, rax
mov edx, 0xfffffff0
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
cmp dword [rdi + 0x2c4], 4
lea eax, [rsi + r14]
mov dword [rdi + 0x2f0], eax
jne 0x14002b335
mov rdx, qword [rdi + 0x70]
lea rcx, [0x1400819e0]
mov r8, rdi
mov ebx, r13d
call qword [sym.imp.KERNEL32.dll_QueueUserAPC]
lea r11, [rdi + 0xa0]
lea rax, [rbp - 0x20]
mov edx, 0x104
lea rcx, [rbp - 0x20]
sub r11, rax
nop
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14002b2d1
movzx eax, word [rcx + r11]
test ax, ax
je 0x14002b2d1
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x14002b2a0
jmp 0x14002b2d6
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
test rdx, rdx
jne 0x14002b2da
sub rcx, 2
mov word [rcx], r13w
lea rcx, [rbp - 0x20]
call qword [sym.imp.SHLWAPI.dll_PathStripToRootW]
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 2
je 0x14002b306
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
jne 0x14002b30b
mov ebx, 1
cmp dword [rdi + 0x2dc], 0
je 0x14002b335
cmp dword [rdi + 0x2e0], 0
je 0x14002b321
test ebx, ebx
jne 0x14002b335
mov rdx, qword [rdi + 0x78]
lea rcx, [0x140080020]
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_QueueUserAPC]
mov rcx, rdi
call fcn.140083180
mov r11, qword [rdi + 0x3b0]
mov rcx, qword [r11]
mov qword [r11], r11
mov rax, qword [rdi + 0x3b0]
mov qword [rax + 8], rax
mov qword [rdi + 0x3b8], r13
cmp rcx, qword [rdi + 0x3b0]
je 0x14002b379
mov rbx, qword [rcx]
call fcn.14004b088
mov rcx, rbx
cmp rbx, qword [rdi + 0x3b0]
jne 0x14002b365
mov r12, qword [rsp + 0x338]
mov dword [rdi + 0x3c8], r13d
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.14004ae00
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret