Function at 0x14001aa60
Capabilities:
Get disk information
Get disk size
Get storage device properties

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x488
movdqa xmmword [rsp + 0x470], xmm7
movaps xmmword [rsp + 0x460], xmm6
mov rsi, rdx
mov r14, rcx
mov r12, qword [rsp + 0x508]
mov r15d, dword [rsp + 0x500]
mov ebx, dword [rsp + 0x4f8]
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x1a8], rax
shr rsi, 1
cmp rsi, rax
jae 0x14001b4ff
mov qword [rsp + 0x160], r14
cmp ebx, r15d
jae 0x14001b51b
mov rsi, qword [r12]
xorps xmm6, xmm6
movdqa xmm7, xmmword [0x1400dca40]
mov ebp, 8
mov qword [rsp + 0x48], 0
xor r14d, r14d
mov qword [rsp + 0x128], rsi
jmp 0x14001ab13
mov rbp, qword [rsp + 0xc0]
inc ebx
cmp ebx, r15d
je 0x14001b52c
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r12
mov eax, dword [rsi]
bt eax, ebx
jae 0x14001ab08
lea edi, [rbx + 0x41]
mov word [rsp + 0x98], di
mov dword [rsp + 0x9a], 0x5c003a
mov word [rsp + 0x9e], 0
lea rcx, [rsp + 0x98]
call sub.KERNEL32.dll_GetDriveTypeW
mov r13d, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14001ab08
mov qword [rsp + 0xc0], rbp
mov r8d, 0x20a
lea rbp, [rsp + 0x250]
mov rcx, rbp
xor edx, edx
call sub.msvcrt.dll_memset
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x38], 0x20
lea rcx, [rsp + 0x98]
mov rdx, rbp
mov r8d, 0x105
xor r9d, r9d
call sub.KERNEL32.dll_GetVolumeInformationW
test eax, eax
je 0x14001ab00
mov r8d, 2
mov eax, 0x20a
lea r15, [rsp + 0xa0]
nop dword [rax]
cmp word [rsp + r8*2 + 0x24c], 0
je 0x14001ac62
cmp word [rsp + r8*2 + 0x24e], 0
je 0x14001ac68
cmp word [rsp + r8*2 + 0x250], 0
je 0x14001ac6b
add r8, 3
add rax, 0xfffffffffffffffa
jne 0x14001ac00
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
mov r8d, 0x105
lea rsi, [rsp + 0x45a]
jmp 0x14001acac
add r8, 0xfffffffffffffffe
jmp 0x14001ac6b
dec r8
cmp r8, 0x106
jae 0x14001b70e
lea rsi, [rsp + r8*2]
add rsi, 0x250
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
test r8, r8
je 0x14001acce
mov rax, r8
shr rax, 1
sub r8, rax
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, r15
xor edx, edx
call fcn.140020de0
lea rax, [rsp + 0x250]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rsi
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.140024f40
mov rbp, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xd0], rax
cmp word [rsp + 0x50], 0
je 0x14001afa4
cmp word [rsp + 0x52], 0
lea r12, [rsp + 0x52]
je 0x14001af61
cmp word [rsp + 0x54], 0
lea r12, [rsp + 0x54]
je 0x14001af61
cmp word [rsp + 0x56], 0
lea r12, [rsp + 0x56]
je 0x14001af61
cmp word [rsp + 0x58], 0
lea r12, [rsp + 0x58]
je 0x14001af61
cmp word [rsp + 0x5a], 0
lea r12, [rsp + 0x5a]
je 0x14001af61
cmp word [rsp + 0x5c], 0
lea r12, [rsp + 0x5c]
je 0x14001af61
cmp word [rsp + 0x5e], 0
lea r12, [rsp + 0x5e]
je 0x14001af61
cmp word [rsp + 0x60], 0
lea r12, [rsp + 0x60]
je 0x14001af61
cmp word [rsp + 0x62], 0
lea r12, [rsp + 0x62]
je 0x14001af61
cmp word [rsp + 0x64], 0
lea r12, [rsp + 0x64]
je 0x14001af61
cmp word [rsp + 0x66], 0
lea r12, [rsp + 0x66]
je 0x14001af61
cmp word [rsp + 0x68], 0
lea r12, [rsp + 0x68]
je 0x14001af61
cmp word [rsp + 0x6a], 0
lea r12, [rsp + 0x6a]
je 0x14001af61
cmp word [rsp + 0x6c], 0
lea r12, [rsp + 0x6c]
je 0x14001af61
cmp word [rsp + 0x6e], 0
lea r12, [rsp + 0x6e]
je 0x14001af61
cmp word [rsp + 0x70], 0
lea r12, [rsp + 0x70]
je 0x14001af61
cmp word [rsp + 0x72], 0
lea r12, [rsp + 0x72]
je 0x14001af61
cmp word [rsp + 0x74], 0
lea r12, [rsp + 0x74]
je 0x14001af61
cmp word [rsp + 0x76], 0
lea r12, [rsp + 0x76]
je 0x14001af61
cmp word [rsp + 0x78], 0
lea r12, [rsp + 0x78]
je 0x14001af61
cmp word [rsp + 0x7a], 0
lea r12, [rsp + 0x7a]
je 0x14001af61
cmp word [rsp + 0x7c], 0
lea r12, [rsp + 0x7c]
je 0x14001af61
cmp word [rsp + 0x7e], 0
lea r12, [rsp + 0x7e]
je 0x14001af61
cmp word [rsp + 0x80], 0
lea r12, [rsp + 0x80]
je 0x14001af61
cmp word [rsp + 0x82], 0
lea r12, [rsp + 0x82]
je 0x14001af61
cmp word [rsp + 0x84], 0
lea r12, [rsp + 0x84]
je 0x14001af61
cmp word [rsp + 0x86], 0
lea r12, [rsp + 0x86]
je 0x14001af61
cmp word [rsp + 0x88], 0
lea r12, [rsp + 0x88]
je 0x14001af61
cmp word [rsp + 0x8a], 0
lea r12, [rsp + 0x8a]
je 0x14001af61
cmp word [rsp + 0x8c], 0
lea r12, [rsp + 0x8c]
je 0x14001af61
cmp word [rsp + 0x8e], 0
lea r12, [rsp + 0x90]
lea rax, [rsp + 0x8e]
cmove r12, rax
lea rax, [rsp + 0x50]
sub r12, rax
mov rsi, r12
shr rsi, 1
mov rax, qword [0x140105118]
movzx eax, byte [rax]
mov edx, 1
mov rcx, rsi
call fcn.14000b1e0
test rax, rax
je 0x14001b727
mov r15, rax
cmp r12, 0x1f
ja 0x14001afae
xor eax, eax
mov r12, qword [rsp + 0x508]
jmp 0x14001aff0
mov r15d, 1
xor esi, esi
jmp 0x14001b001
mov rax, rsi
and rax, 0xfffffffffffffff0
xor ecx, ecx
mov r12, qword [rsp + 0x508]
nop
movdqu xmm0, xmmword [rsp + rcx*2 + 0x50]
movdqu xmm1, xmmword [rsp + rcx*2 + 0x60]
pand xmm0, xmm7
pand xmm1, xmm7
packuswb xmm0, xmm1
movdqu xmmword [r15 + rcx], xmm0
add rcx, 0x10
cmp rax, rcx
jne 0x14001afc0
jmp 0x14001affc
movzx ecx, byte [rsp + rax*2 + 0x50]
mov byte [r15 + rax], cl
inc rax
cmp rsi, rax
jne 0x14001aff0
movabs rax, 0x5c002e005c005c
mov qword [rsp + 0x140], rax
mov word [rsp + 0x148], di
mov dword [rsp + 0x14a], 0x3a
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8d, 3
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileW
cmp rax, 0xffffffffffffffff
je 0x14001b240
mov rdi, rax
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0x98]
xor edx, edx
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0xe0]
call sub.KERNEL32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x14001b1ee
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x14001b1ee
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x48], rbp
mov r14, qword [rsp + 0xe0]
mov qword [rsp + 0x174], 7
mov byte [rsp + 0x17c], 0
mov dword [rsp + 0x138], 0
mov qword [rsp + 0x130], 0
mov dword [rsp + 0xcc], 0
lea rax, [rsp + 0xcc]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0xc
mov rcx, rdi
mov edx, 0x2d1400
lea r8, [rsp + 0x174]
mov r9d, 0xc
call sub.KERNEL32.dll_DeviceIoControl
xor ebp, ebp
cmp byte [rsp + 0x138], 0
sete bpl
cmp dword [rsp + 0xcc], 0xc
mov ecx, 2
cmovne rbp, rcx
test eax, eax
cmove rbp, rcx
lea rcx, [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xd0]
call fcn.14008d210
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xf0]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x240], xmm0
test rsi, rsi
mov qword [rsp + 0x150], r14
je 0x14001b253
mov rax, qword [0x140105118]
movzx eax, byte [rax]
mov edx, 1
mov rcx, rsi
call fcn.14000b1e0
test rax, rax
jne 0x14001b258
jmp 0x14001b74c
mov rcx, rdi
call fcn.1400d6e74
test rsi, rsi
je 0x14001b20c
mov r8d, 1
mov rcx, r15
mov rdx, rsi
call fcn.14000b1f0
test rbp, rbp
mov r15d, dword [rsp + 0x500]
mov rsi, qword [rsp + 0x128]
je 0x14001ab00
mov r8d, 1
mov rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.14000b1f0
jmp 0x14001ab00
mov rcx, 0xffffffffffffffff
call fcn.1400d6e74
test rsi, rsi
jne 0x14001b1fb
jmp 0x14001b20c
mov eax, 1
mov qword [rsp + 0x120], rax
mov rcx, rax
mov rdx, r15
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0x98]
mov rax, qword [0x140105118]
movzx eax, byte [rax]
mov ecx, 8
mov edx, 2
call fcn.14000b1e0
test rax, rax
je 0x14001b73b
mov r14, rax
mov qword [rax], r12
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x20], 1
mov r8d, 2
mov r9d, 1
lea r12, [rsp + 0xa0]
mov rcx, r12
xor edx, edx
call fcn.140020de0
lea rax, [rsp + 0x98]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x9e]
mov qword [rsp + 0xe8], rax
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0xe0]
mov rdx, r12
call fcn.140024f40
cmp r13d, 2
sete r13b
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, rdi
call fcn.1400d6e74
test rsi, rsi
mov r12, qword [rsp + 0x508]
je 0x14001b381
mov r8d, 1
mov rcx, r15
mov rdx, rsi
call fcn.14000b1f0
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14001b39e
mov r8d, 1
mov rcx, qword [rsp + 0xd8]
call fcn.14000b1f0
mov qword [rsp + 0x1b0], rbp
mov qword [rsp + 0x1b8], 0xffffffffffffffff
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x1c8], rax
movaps xmm0, xmmword [rsp + 0xa0]
lea rdx, [rsp + 0x1d0]
movups xmmword [rdx], xmm0
mov qword [rsp + 0x1e0], rsi
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x1e8], rax
mov qword [rsp + 0x1f0], rsi
mov qword [rsp + 0x1f8], 4
mov qword [rsp + 0x200], r14
mov qword [rsp + 0x208], 4
mov rax, qword [rsp + 0xf0]
mov qword [rdx + 0x50], rax
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rdx + 0x40], xmm0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x230], rax
mov byte [rsp + 0x238], r13b
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x53]
mov dword [rdx + 0x6c], ecx
mov dword [rdx + 0x69], eax
movdqu xmm0, xmmword [rsp + 0x180]
movdqa xmmword [rsp + 0x250], xmm0
mov r14, qword [rsp + 0x190]
mov qword [rsp + 0x260], r14
mov rcx, qword [rsp + 0x250]
mov qword [rsp + 0x48], rcx
cmp r14, rcx
mov r15d, dword [rsp + 0x500]
mov rsi, qword [rsp + 0x128]
jne 0x14001b4d1
lea rcx, [rsp + 0x250]
call fcn.140020ae0
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x48], rax
mov rbp, qword [rsp + 0x258]
lea rcx, [r14 + r14*8]
shl rcx, 4
add rcx, rbp
mov r8d, 0x90
lea rdx, [rsp + 0x1b0]
call sub.msvcrt.dll_memmove
inc r14
jmp 0x14001ab08
test r8b, r8b
je 0x14001b566
mov rdi, r9
call fcn.140035f90
mov r9, rdi
shr r9, 1
cmp rax, r9
cmova r9, rax
jmp 0x14001b572
mov ebp, 8
mov qword [rsp + 0x48], 0
xor r14d, r14d
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x258], rbp
mov qword [rsp + 0x260], r14
lea rdx, [rsp + 0x250]
mov r14, qword [rsp + 0x160]
mov rcx, r14
call fcn.14001ed40
jmp 0x14001b6e7
test r9, r9
je 0x14001aac5
shr r9, 1
mov qword [rsp + 0x1a0], r9
mov qword [rsp + 0x50], rsi
lea rcx, [rsp + 0x250]
mov edx, ebx
mov r8d, r15d
mov r9, rsi
call fcn.14002f650
mov rax, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x258]
lea rdx, [rsp + 0x168]
mov qword [rsp + 0x250], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x258], rdx
lea r8, [rsp + 0x1a0]
mov qword [rsp + 0x260], r8
mov qword [rsp + 0x268], r12
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], rdx
mov qword [rsp + 0x280], r8
mov qword [rsp + 0x288], r12
mov qword [rsp + 0x290], rax
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x250]
call fcn.140022910
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1c0]
movdqu xmm0, xmmword [rsp + 0x1c8]
movdqa xmmword [rsp + 0x100], xmm0
mov r8, qword [rsp + 0x1d8]
mov qword [rsp + 0x110], r8
test rcx, rcx
je 0x14001b695
mov r8, qword [rsp + 0x100]
mov qword [rsp + 0x100], 0
test r8, r8
je 0x14001b6cf
mov qword [rcx + 0x18], r8
mov qword [r8 + 0x20], rcx
mov rcx, qword [rsp + 0x108]
pxor xmm0, xmm0
add rax, qword [rsp + 0x110]
movdqu xmmword [rsp + 0x108], xmm0
jmp 0x14001b6cf
mov r8, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], 0
mov rdx, qword [rsp + 0x110]
mov qword [rsp + 0x110], rax
mov rax, rdx
mov rdx, r8
mov qword [r14], rdx
mov qword [r14 + 8], rcx
mov qword [r14 + 0x10], rax
lea rcx, [rsp + 0x100]
call fcn.14001fc90
mov rax, r14
movaps xmm6, xmmword [rsp + 0x460]
movaps xmm7, xmmword [rsp + 0x470]
add rsp, 0x488
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str._home_ghost_.cargo_registry_src_index.crates.io_6f17d22bba15001f_sysinfo_0.27.8_src_windows_disk.rs
mov edx, 0x105
mov rcx, r8
mov r8, rax
call fcn.1400c6de0
jmp 0x14001b759
mov qword [rsp + 0x48], rbp
mov ecx, 1
mov rdx, rsi
call fcn.1400b3800
jmp 0x14001b759
mov ecx, 2
mov edx, 8
call fcn.1400b3800
jmp 0x14001b759
mov ecx, 1
mov rdx, rsi
call fcn.1400b3800
ud2