Function at 0x1400d4f30
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x1140
call fcn.140199d40
sub rsp, rax
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x1130], rax
xor esi, esi
mov r15d, ecx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x4c], ecx
xor ecx, ecx
mov qword [rsp + 0x1178], r14
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], esi
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ecx, eax
mov dword [rsp + 0x54], eax
or ecx, 1
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
lea rcx, [rsp + 0x60]
call fcn.1401617b0
lea rcx, [rsp + 0x4d0]
call fcn.1401617b0
lea rcx, [rsp + 0x180]
call fcn.1401617b0
mov r14, qword [0x1401f36a8]
test r14, r14
je 0x1400d514b
nop
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x4d0]
call fcn.140163a20
mov rdx, qword [r14 + 8]
cmp byte [rdx], 0
je 0x1400d5009
lea rcx, [rsp + 0x180]
call fcn.140163a20
mov rbx, qword [rsp + 0x188]
mov qword [rsp + 0x4c0], rbx
jmp 0x1400d5080
lea rcx, [rsp + 0x2a0]
call fcn.1401617b0
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x2a0]
call fcn.1401686f0
mov rcx, qword [rsp + 0x2a8]
lea rdx, [rsp + 0xd10]
mov r8d, 0x104
call qword [fcn.1400c7c70]
test eax, eax
je 0x1400d5068
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x60]
call fcn.140162880
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x4c0], rbx
jmp 0x1400d5073
mov rbx, rsi
mov qword [rsp + 0x4c0], rbx
lea rcx, [rsp + 0x2a0]
call fcn.140001150
test rbx, rbx
je 0x1400d513a
movsx r13d, byte [r14 + 0x29]
movsx r12d, byte [r14 + 0x2a]
mov rbp, qword [r14 + 0x20]
movsx esi, byte [r14 + 0x28]
mov rdi, qword [r14 + 0x18]
mov rbx, qword [rsp + 0x4d8]
mov ecx, 0x40
call fcn.1400be650
mov rcx, qword [rsp + 0x4c0]
mov r15, rax
call fcn.140160d00
mov rcx, rbx
mov qword [r15 + 8], rax
call fcn.140160d00
mov rcx, rdi
mov qword [r15 + 0x10], rax
call fcn.140158580
mov rcx, qword [rsp + 0x4c0]
mov qword [r15 + 0x18], rax
call fcn.1400cb370
mov rcx, rbp
test eax, eax
mov byte [r15 + 0x38], sil
setne al
mov byte [r15 + 0x20], al
call fcn.140158580
xor esi, esi
cmp qword [rsp + 0x38], rsi
mov byte [r15 + 0x30], r12b
mov dword [r15 + 0x34], r13d
mov qword [r15 + 0x28], rax
mov dword [r15 + 0x3c], esi
mov byte [r15 + 0x39], 1
je 0x1400d5128
mov rax, qword [rsp + 0x40]
mov qword [rax], r15
jmp 0x1400d512d
mov qword [rsp + 0x38], r15
add dword [rsp + 0x48], 1
mov qword [r15], rsi
mov qword [rsp + 0x40], r15
mov r14, qword [r14]
test r14, r14
jne 0x1400d4fd0
mov r15d, dword [rsp + 0x30]
lea rcx, [rsp + 0x180]
call fcn.140001150
lea rcx, [rsp + 0x4d0]
call fcn.140001150
lea rcx, [rsp + 0x60]
call fcn.140001150
lea rcx, [rsp + 0xb00]
mov edx, 0x104
call qword [0x1401e9118]
mov r14, qword [rsp + 0x1178]
cmp rax, 0xffffffffffffffff
mov r13, rax
je 0x1400d54ee
lea rcx, [rsp + 0x60]
call fcn.1401617b0
lea rcx, [rsp + 0x4d0]
call fcn.1401617b0
lea rbp, [0x14019aef2]
mov r12d, 0x41
jmp 0x1400d51c2
xor esi, esi
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x60]
call fcn.140162880
mov rcx, qword [rsp + 0x68]
call fcn.1400c6eb0
cmp eax, 3
mov edi, eax
je 0x1400d51f3
cmp eax, 2
je 0x1400d51f3
cmp eax, 6
jne 0x1400d54aa
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0xb00]
xor r8d, r8d
xor edx, edx
call fcn.1400c65d0
test eax, eax
jne 0x1400d54aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x1400d52c1
mov eax, dword [rsp + 0x30]
lea ecx, [rax + rax]
call fcn.1400be650
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x50]
lea rcx, [rsp + 0xb00]
mov rdx, rax
mov rsi, rax
call fcn.1400c65d0
test eax, eax
je 0x1400d52b4
cmp word [rsi], 0
mov rbx, rsi
je 0x1400d52b4
nop
nop
lea rcx, [rsp + 0x4d0]
mov rdx, rbx
call fcn.140162880
mov r9, qword [rsp + 0x4d8]
mov r8, qword [rsp + 0x68]
lea rcx, [rsp + 0x38]
mov edx, edi
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
cmp word [rbx], 0
je 0x1400d52aa
nop
add rbx, 2
cmp word [rbx], 0
jne 0x1400d52a0
add rbx, 2
cmp word [rbx], 0
jne 0x1400d5260
mov rcx, rsi
call fcn.1400be6d0
jmp 0x1400d54aa
lea rcx, [rsp + 0x180]
call fcn.1401617b0
mov ebx, r12d
nop
nop
nop
nop
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x4c0]
mov r8d, 0x104
mov word [rsp + 0x4c0], bx
mov word [rsp + 0x4c2], 0x3a
mov word [rsp + 0x4c4], 0x5c
mov word [rsp + 0x4c6], 0
call qword [fcn.1400c7c70]
test eax, eax
je 0x1400d5351
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x180]
call fcn.140162880
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x68]
call fcn.1401597b0
test eax, eax
je 0x1400d535e
add ebx, 1
cmp ebx, 0x5a
jle 0x1400d52e0
jmp 0x1400d549d
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x4d0]
call fcn.140162880
mov r9, qword [rsp + 0x4d8]
mov r8, qword [rsp + 0x188]
lea rcx, [rsp + 0x38]
mov edx, edi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
cmp edi, 2
mov word [rsp + 0x8f0], bx
mov word [rsp + 0x8f2], 0x3a
mov word [rsp + 0x8f4], 0x5c
jne 0x1400d53c6
cmp byte [0x1401f3406], 0
je 0x1400d549d
lea rdx, [rsp + 0x8f6]
lea rcx, [rsp + 0xb00]
mov r8d, 0x101
call qword [str.__f_]
cmp rax, 0xffffffffffffffff
mov rbx, rax
je 0x1400d549d
nop
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x4d0]
call fcn.140162880
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x8f0]
mov r8d, 0x104
call qword [fcn.1400c7c70]
test eax, eax
je 0x1400d5475
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x60]
call fcn.140162880
mov rcx, qword [rsp + 0x4d8]
call fcn.1400c6eb0
cmp eax, 3
je 0x1400d5453
cmp eax, 2
je 0x1400d5453
cmp eax, 6
jne 0x1400d5475
mov r9, qword [rsp + 0x4d8]
mov r8, qword [rsp + 0x68]
lea rcx, [rsp + 0x38]
mov edx, eax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
lea rdx, [rsp + 0x8f6]
mov r8d, 0x101
mov rcx, rbx
call qword [fcn.1400c7c70]
test eax, eax
jne 0x1400d53f0
mov rcx, rbx
call qword [fcn.1400c7c70]
lea rcx, [rsp + 0x180]
call fcn.140001150
lea rdx, [rsp + 0xb00]
mov r8d, 0x104
mov rcx, r13
call qword [fcn.1400c7c70]
test eax, eax
jne 0x1400d51c0
lea rcx, [rsp + 0x4d0]
call fcn.140001150
lea rcx, [rsp + 0x60]
call fcn.140001150
mov rcx, r13
call qword [fcn.1400c7c70]
jmp 0x1400d5588
mov r12d, 0x41
lea rbp, [0x14019aef2]
mov ebx, r12d
nop
lea rcx, [rsp + 0x60]
mov byte [rsp + 0x4d0], bl
mov byte [rsp + 0x4d1], 0x3a
mov byte [rsp + 0x4d2], 0x5c
mov byte [rsp + 0x4d3], 0
mov byte [rsp + 0x60], 0x5c
mov byte [rsp + 0x61], 0x5c
mov byte [rsp + 0x62], 0x2e
mov byte [rsp + 0x63], 0x5c
mov byte [rsp + 0x64], bl
mov byte [rsp + 0x65], 0x3a
mov byte [rsp + 0x66], 0
call fcn.1400c6eb0
cmp eax, 3
je 0x1400d555a
cmp eax, 2
je 0x1400d555a
cmp eax, 6
jne 0x1400d557c
lea r9, [rsp + 0x4d0]
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0x38]
mov edx, eax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
add ebx, 1
cmp ebx, 0x5a
jle 0x1400d5500
cmp byte [0x1401e2c87], 0
je 0x1400d593c
lea rcx, [rsp + 0x180]
call fcn.1401617b0
lea rcx, [rsp + 0x2a0]
call fcn.1401617b0
lea rcx, [rsp + 0x8f0]
call fcn.1401617b0
lea rcx, [rsp + 0xb00]
call fcn.1401617b0
mov byte [rsp + 0x31], 0x3a
mov byte [rsp + 0x32], 0
lea rdi, [0x140000000]
nop
nop
lea rcx, [rsp + 0x30]
mov byte [rsp + 0x30], r12b
call fcn.1400c6eb0
cmp eax, 3
mov ebx, eax
je 0x1400d5604
cmp eax, 2
je 0x1400d5604
cmp eax, 6
jne 0x1400d58fa
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2a0]
call fcn.140168810
mov rcx, qword [rsp + 0x2a8]
lea rdx, [rsp + 0xf20]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x1400d58fa
mov eax, eax
lea rdx, [rsp + 0xf20]
lea rcx, [rsp + 0x8f0]
mov word [rsp + rax*2 + 0xf20], 0
call fcn.140162930
mov r11, qword [rsp + 0x8f8]
mov r8, r11
mov rax, r11
mov cl, 0x5c
neg r8
lea rdx, [r8 + rdi + 0x1b712c]
cmp byte [rax], cl
jne 0x1400d57a5
movzx ecx, byte [rdx + rax + 1]
add rax, 1
test cl, cl
jne 0x1400d5676
mov rax, qword [rsp + 0x2a8]
lea r9, [rsp + 0xd10]
lea rdx, [rsp + 0xf20]
movzx ecx, word [rax]
mov r8d, 0x104
mov dword [rsp + 0x20], 0x104
call fcn.1400cabc0
test eax, eax
je 0x1400d571a
lea rdx, [rsp + 0xf20]
lea rcx, [rsp + 0x180]
call fcn.140162880
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0xb00]
call fcn.140162580
mov rax, qword [rsp + 0xb08]
mov r8, qword [rsp + 0x188]
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0x38]
mov edx, ebx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.1400d4bc0
jmp 0x1400d58fa
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x6e0]
mov r8d, 0x104
mov word [rsp + 0x6e0], r12w
mov word [rsp + 0x6e2], 0x3a
mov word [rsp + 0x6e4], 0x5c
mov word [rsp + 0x6e6], 0
call qword [fcn.1400c7c70]
test eax, eax
je 0x1400d58fa
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x180]
call fcn.140162880
mov r8, qword [rsp + 0x188]
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0x38]
mov edx, ebx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
jmp 0x1400d58fa
mov al, 0x5c
lea rcx, [r8 + rdi + 0x1b7138]
nop
cmp byte [r11], al
jne 0x1400d57c8
movzx eax, byte [r11 + rcx + 1]
add r11, 1
test al, al
jne 0x1400d57b0
jmp 0x1400d58fa
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x6e0]
mov r8d, 0x104
mov word [rsp + 0x6e0], r12w
mov word [rsp + 0x6e2], 0x3a
mov word [rsp + 0x6e4], 0x5c
mov word [rsp + 0x6e6], 0
call qword [fcn.1400c7c70]
test eax, eax
je 0x1400d587c
lea r8, [rsp + 0xd10]
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_GetVolumeNameForVolumeMountPoint__S_n
call fcn.1400b1c70
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x180]
call fcn.140162880
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_is_refs_n
call fcn.1400b1c70
mov r8, qword [rsp + 0x188]
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0x38]
mov edx, ebx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
jmp 0x1400d58fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_GetVolumeNameForVolumeMountPoint_FAILED__d_n
mov r8d, eax
call fcn.1400b1c70
lea r9, [rsp + 0x4d0]
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0x38]
mov edx, ebx
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x4d0], r12b
mov byte [rsp + 0x4d1], 0x3a
mov byte [rsp + 0x4d2], 0
mov byte [rsp + 0x60], 0x5c
mov byte [rsp + 0x61], 0x5c
mov byte [rsp + 0x62], 0x2e
mov byte [rsp + 0x63], 0x5c
mov byte [rsp + 0x64], r12b
mov byte [rsp + 0x65], 0x3a
mov byte [rsp + 0x66], 0
mov qword [rsp + 0x20], rbp
call fcn.1400d4bc0
add r12d, 1
cmp r12d, 0x5a
jle 0x1400d55e0
lea rcx, [rsp + 0xb00]
call fcn.140001150
lea rcx, [rsp + 0x8f0]
call fcn.140001150
lea rcx, [rsp + 0x2a0]
call fcn.140001150
lea rcx, [rsp + 0x180]
call fcn.140001150
movsxd rax, dword [rsp + 0x48]
test eax, eax
je 0x1400d5b0e
mov rcx, rax
shl rcx, 3
call fcn.1400be650
cmp byte [0x1401e2c86], 0
mov rbx, qword [rsp + 0x38]
mov r13, rax
je 0x1400d5a27
test rbx, rbx
mov r9, rbx
je 0x1400d5a27
nop
nop
nop
cmp byte [r9 + 0x20], 0
jne 0x1400d5a15
mov rcx, qword [r9 + 0x10]
cmp byte [rcx], 0
je 0x1400d5a15
cmp byte [rcx + 1], 0x3a
jne 0x1400d5a15
cmp byte [rcx + 2], 0
jne 0x1400d5a15
mov r8, rbx
cmp r8, r9
je 0x1400d5a0d
cmp byte [r8 + 0x20], 0
je 0x1400d5a0d
mov rcx, qword [r9 + 8]
mov rax, qword [r8 + 8]
movzx edx, byte [rcx]
cmp dl, byte [rax]
jne 0x1400d59d5
test dl, dl
je 0x1400d59df
mov dl, byte [rcx + 1]
add rcx, 1
add rax, 1
cmp dl, byte [rax]
je 0x1400d59c2
movzx eax, byte [rax]
movzx ecx, byte [rcx]
cmp ecx, eax
jne 0x1400d5a0d
mov rcx, qword [r9 + 0x18]
mov rax, qword [r8 + 0x18]
movzx edx, byte [rcx]
cmp dl, byte [rax]
jne 0x1400d5a03
nop
test dl, dl
je 0x1400d5a45
mov dl, byte [rcx + 1]
add rcx, 1
add rax, 1
cmp dl, byte [rax]
je 0x1400d59f0
movzx eax, byte [rax]
movzx ecx, byte [rcx]
sub ecx, eax
je 0x1400d5a45
mov r8, qword [r8]
test r8, r8
jne 0x1400d59a7
xor eax, eax
mov byte [r9 + 0x21], al
mov r9, qword [r9]
test r9, r9
jne 0x1400d5980
xor ebp, ebp
test rbx, rbx
je 0x1400d5ac1
mov rdi, r13
test r15d, r15d
mov rsi, qword [rbx]
je 0x1400d5a4c
cmp byte [rbx + 0x38], 0
je 0x1400d5a7d
jmp 0x1400d5a52
mov eax, 1
jmp 0x1400d5a17
cmp byte [rbx + 0x38], 0
je 0x1400d5aab
cmp byte [0x1401e2c86], 0
je 0x1400d5a61
cmp byte [rbx + 0x21], 0
jne 0x1400d5a7d
cmp byte [0x1401e2c85], 0
je 0x1400d5aab
cmp byte [rbx + 0x20], 0
jne 0x1400d5aab
mov rcx, qword [rbx + 8]
call fcn.1400cb370
test eax, eax
jne 0x1400d5aab
mov rcx, qword [rbx + 0x28]
call fcn.1400be6d0
mov rcx, qword [rbx + 0x18]
call fcn.1400be6d0
mov rcx, qword [rbx + 0x10]
call fcn.1400be6d0
mov rcx, qword [rbx + 8]
call fcn.1400be6d0
mov rcx, rbx
call fcn.1400be6d0
jmp 0x1400d5ab5
mov qword [rdi], rbx
add ebp, 1
add rdi, 8
test rsi, rsi
mov rbx, rsi
jne 0x1400d5a35
lea r8, [0x1400d4e40]
mov edx, ebp
mov rcx, r13
call fcn.1400d1bc0
xor ebx, ebx
xor edx, edx
test ebp, ebp
jle 0x1400d5b04
mov rcx, r13
mov r8d, ebp
test rbx, rbx
je 0x1400d5aed
mov rax, qword [rcx]
mov qword [rdx], rax
jmp 0x1400d5af0
mov rbx, qword [rcx]
mov rdx, qword [rcx]
add rcx, 8
sub r8, 1
mov qword [rdx], 0
jne 0x1400d5ae0
mov rcx, r13
call fcn.1400be6d0
jmp 0x1400d5b13
mov rbx, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov rax, rbx
mov rcx, qword [rsp + 0x1130]
xor rcx, rsp
call fcn.1401931f0
lea r11, [rsp + 0x1140]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret