Function at 0x1400e6190
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.1401afaf0
sub rsp, rax
mov rax, qword [0x14020cc58]
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.140177280
lea rcx, [rsp + 0x4d0]
call fcn.140177280
lea rcx, [rsp + 0x180]
call fcn.140177280
mov r14, qword [0x14020e0a0]
test r14, r14
je 0x1400e63ab
nop
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x4d0]
call fcn.1401795a0
mov rdx, qword [r14 + 8]
cmp byte [rdx], 0
je 0x1400e6269
lea rcx, [rsp + 0x180]
call fcn.1401795a0
mov rbx, qword [rsp + 0x188]
mov qword [rsp + 0x4c0], rbx
jmp 0x1400e62e0
lea rcx, [rsp + 0x2a0]
call fcn.140177280
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x2a0]
call fcn.14017e4c0
mov rcx, qword [rsp + 0x2a8]
lea rdx, [rsp + 0xd10]
mov r8d, 0x104
call qword [fcn.1400d8de0]
test eax, eax
je 0x1400e62c8
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x60]
call fcn.140178350
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x4c0], rbx
jmp 0x1400e62d3
mov rbx, rsi
mov qword [rsp + 0x4c0], rbx
lea rcx, [rsp + 0x2a0]
call fcn.14017d580
test rbx, rbx
je 0x1400e639a
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.1400cf700
mov rcx, qword [rsp + 0x4c0]
mov r15, rax
call fcn.1401767d0
mov rcx, rbx
mov qword [r15 + 8], rax
call fcn.1401767d0
mov rcx, rdi
mov qword [r15 + 0x10], rax
call fcn.14016dcf0
mov rcx, qword [rsp + 0x4c0]
mov qword [r15 + 0x18], rax
call fcn.1400dc5d0
mov rcx, rbp
test eax, eax
mov byte [r15 + 0x38], sil
setne al
mov byte [r15 + 0x20], al
call fcn.14016dcf0
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 0x1400e6388
mov rax, qword [rsp + 0x40]
mov qword [rax], r15
jmp 0x1400e638d
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 0x1400e6230
mov r15d, dword [rsp + 0x30]
lea rcx, [rsp + 0x180]
call fcn.14017d580
lea rcx, [rsp + 0x4d0]
call fcn.14017d580
lea rcx, [rsp + 0x60]
call fcn.14017d580
lea rcx, [rsp + 0xb00]
mov edx, 0x104
call qword [0x140203aa8]
mov r14, qword [rsp + 0x1178]
cmp rax, 0xffffffffffffffff
mov r13, rax
je 0x1400e674e
lea rcx, [rsp + 0x60]
call fcn.140177280
lea rcx, [rsp + 0x4d0]
call fcn.140177280
lea rbp, [0x1401b0f62]
mov r12d, 0x41
jmp 0x1400e6422
xor esi, esi
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x60]
call fcn.140178350
mov rcx, qword [rsp + 0x68]
call fcn.1400d7f00
cmp eax, 3
mov edi, eax
je 0x1400e6453
cmp eax, 2
je 0x1400e6453
cmp eax, 6
jne 0x1400e670a
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0xb00]
xor r8d, r8d
xor edx, edx
call fcn.1400d7690
test eax, eax
jne 0x1400e670a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x1400e6521
mov eax, dword [rsp + 0x30]
lea ecx, [rax + rax]
call fcn.1400cf700
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x50]
lea rcx, [rsp + 0xb00]
mov rdx, rax
mov rsi, rax
call fcn.1400d7690
test eax, eax
je 0x1400e6514
cmp word [rsi], 0
mov rbx, rsi
je 0x1400e6514
nop
nop
lea rcx, [rsp + 0x4d0]
mov rdx, rbx
call fcn.140178350
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.1400e5e20
cmp word [rbx], 0
je 0x1400e650a
nop
add rbx, 2
cmp word [rbx], 0
jne 0x1400e6500
add rbx, 2
cmp word [rbx], 0
jne 0x1400e64c0
mov rcx, rsi
call fcn.1400cf780
jmp 0x1400e670a
lea rcx, [rsp + 0x180]
call fcn.140177280
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.1400d8de0]
test eax, eax
je 0x1400e65b1
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x180]
call fcn.140178350
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x68]
call fcn.14016ef20
test eax, eax
je 0x1400e65be
add ebx, 1
cmp ebx, 0x5a
jle 0x1400e6540
jmp 0x1400e66fd
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x4d0]
call fcn.140178350
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.1400e5e20
cmp edi, 2
mov word [rsp + 0x8f0], bx
mov word [rsp + 0x8f2], 0x3a
mov word [rsp + 0x8f4], 0x5c
jne 0x1400e6626
cmp byte [0x14020dd86], 0
je 0x1400e66fd
lea rdx, [rsp + 0x8f6]
lea rcx, [rsp + 0xb00]
mov r8d, 0x101
call qword [0x140203ac8]
cmp rax, 0xffffffffffffffff
mov rbx, rax
je 0x1400e66fd
nop
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x4d0]
call fcn.140178350
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x8f0]
mov r8d, 0x104
call qword [fcn.1400d8de0]
test eax, eax
je 0x1400e66d5
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x60]
call fcn.140178350
mov rcx, qword [rsp + 0x4d8]
call fcn.1400d7f00
cmp eax, 3
je 0x1400e66b3
cmp eax, 2
je 0x1400e66b3
cmp eax, 6
jne 0x1400e66d5
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.1400e5e20
lea rdx, [rsp + 0x8f6]
mov r8d, 0x101
mov rcx, rbx
call qword [fcn.1400d8de0]
test eax, eax
jne 0x1400e6650
mov rcx, rbx
call qword [fcn.1400d8de0]
lea rcx, [rsp + 0x180]
call fcn.14017d580
lea rdx, [rsp + 0xb00]
mov r8d, 0x104
mov rcx, r13
call qword [fcn.1400d8de0]
test eax, eax
jne 0x1400e6420
lea rcx, [rsp + 0x4d0]
call fcn.14017d580
lea rcx, [rsp + 0x60]
call fcn.14017d580
mov rcx, r13
call qword [fcn.1400d8de0]
jmp 0x1400e67e8
mov r12d, 0x41
lea rbp, [0x1401b0f62]
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.1400d7f00
cmp eax, 3
je 0x1400e67ba
cmp eax, 2
je 0x1400e67ba
cmp eax, 6
jne 0x1400e67dc
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.1400e5e20
add ebx, 1
cmp ebx, 0x5a
jle 0x1400e6760
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400e6b9c
lea rcx, [rsp + 0x180]
call fcn.140177280
lea rcx, [rsp + 0x2a0]
call fcn.140177280
lea rcx, [rsp + 0x8f0]
call fcn.140177280
lea rcx, [rsp + 0xb00]
call fcn.140177280
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.1400d7f00
cmp eax, 3
mov ebx, eax
je 0x1400e6864
cmp eax, 2
je 0x1400e6864
cmp eax, 6
jne 0x1400e6b5a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2a0]
call fcn.14017e5e0
mov rcx, qword [rsp + 0x2a8]
lea rdx, [rsp + 0xf20]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x1400e6b5a
mov eax, eax
lea rdx, [rsp + 0xf20]
lea rcx, [rsp + 0x8f0]
mov word [rsp + rax*2 + 0xf20], 0
call fcn.140178400
mov r11, qword [rsp + 0x8f8]
mov r8, r11
mov rax, r11
mov cl, 0x5c
neg r8
lea rdx, [r8 + rdi + 0x1d000c]
cmp byte [rax], cl
jne 0x1400e6a05
movzx ecx, byte [rdx + rax + 1]
add rax, 1
test cl, cl
jne 0x1400e68d6
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.1400dbe00
test eax, eax
je 0x1400e697a
lea rdx, [rsp + 0xf20]
lea rcx, [rsp + 0x180]
call fcn.140178350
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0xb00]
call fcn.140178050
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.1400e5e20
jmp 0x1400e6b5a
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.1400d8de0]
test eax, eax
je 0x1400e6b5a
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x180]
call fcn.140178350
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.1400e5e20
jmp 0x1400e6b5a
mov al, 0x5c
lea rcx, [r8 + rdi + 0x1d0018]
nop
cmp byte [r11], al
jne 0x1400e6a28
movzx eax, byte [r11 + rcx + 1]
add r11, 1
test al, al
jne 0x1400e6a10
jmp 0x1400e6b5a
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.1400d8de0]
test eax, eax
je 0x1400e6adc
lea r8, [rsp + 0xd10]
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_GetVolumeNameForVolumeMountPoint__S_n
call fcn.1400b3fb0
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x180]
call fcn.140178350
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_is_refs_n
call fcn.1400b3fb0
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.1400e5e20
jmp 0x1400e6b5a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_GetVolumeNameForVolumeMountPoint_FAILED__d_n
mov r8d, eax
call fcn.1400b3fb0
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.1400e5e20
add r12d, 1
cmp r12d, 0x5a
jle 0x1400e6840
lea rcx, [rsp + 0xb00]
call fcn.14017d580
lea rcx, [rsp + 0x8f0]
call fcn.14017d580
lea rcx, [rsp + 0x2a0]
call fcn.14017d580
lea rcx, [rsp + 0x180]
call fcn.14017d580
movsxd rax, dword [rsp + 0x48]
test eax, eax
je 0x1400e6d6e
mov rcx, rax
shl rcx, 3
call fcn.1400cf700
cmp byte [reloc.WS2_32.dll_accept], 0
mov rbx, qword [rsp + 0x38]
mov r13, rax
je 0x1400e6c87
test rbx, rbx
mov r9, rbx
je 0x1400e6c87
nop
nop
nop
cmp byte [r9 + 0x20], 0
jne 0x1400e6c75
mov rcx, qword [r9 + 0x10]
cmp byte [rcx], 0
je 0x1400e6c75
cmp byte [rcx + 1], 0x3a
jne 0x1400e6c75
cmp byte [rcx + 2], 0
jne 0x1400e6c75
mov r8, rbx
cmp r8, r9
je 0x1400e6c6d
cmp byte [r8 + 0x20], 0
je 0x1400e6c6d
mov rcx, qword [r9 + 8]
mov rax, qword [r8 + 8]
movzx edx, byte [rcx]
cmp dl, byte [rax]
jne 0x1400e6c35
test dl, dl
je 0x1400e6c3f
mov dl, byte [rcx + 1]
add rcx, 1
add rax, 1
cmp dl, byte [rax]
je 0x1400e6c22
movzx eax, byte [rax]
movzx ecx, byte [rcx]
cmp ecx, eax
jne 0x1400e6c6d
mov rcx, qword [r9 + 0x18]
mov rax, qword [r8 + 0x18]
movzx edx, byte [rcx]
cmp dl, byte [rax]
jne 0x1400e6c63
nop
test dl, dl
je 0x1400e6ca5
mov dl, byte [rcx + 1]
add rcx, 1
add rax, 1
cmp dl, byte [rax]
je 0x1400e6c50
movzx eax, byte [rax]
movzx ecx, byte [rcx]
sub ecx, eax
je 0x1400e6ca5
mov r8, qword [r8]
test r8, r8
jne 0x1400e6c07
xor eax, eax
mov byte [r9 + 0x21], al
mov r9, qword [r9]
test r9, r9
jne 0x1400e6be0
xor ebp, ebp
test rbx, rbx
je 0x1400e6d21
mov rdi, r13
test r15d, r15d
mov rsi, qword [rbx]
je 0x1400e6cac
cmp byte [rbx + 0x38], 0
je 0x1400e6cdd
jmp 0x1400e6cb2
mov eax, 1
jmp 0x1400e6c77
cmp byte [rbx + 0x38], 0
je 0x1400e6d0b
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400e6cc1
cmp byte [rbx + 0x21], 0
jne 0x1400e6cdd
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400e6d0b
cmp byte [rbx + 0x20], 0
jne 0x1400e6d0b
mov rcx, qword [rbx + 8]
call fcn.1400dc5d0
test eax, eax
jne 0x1400e6d0b
mov rcx, qword [rbx + 0x28]
call fcn.1400cf780
mov rcx, qword [rbx + 0x18]
call fcn.1400cf780
mov rcx, qword [rbx + 0x10]
call fcn.1400cf780
mov rcx, qword [rbx + 8]
call fcn.1400cf780
mov rcx, rbx
call fcn.1400cf780
jmp 0x1400e6d15
mov qword [rdi], rbx
add ebp, 1
add rdi, 8
test rsi, rsi
mov rbx, rsi
jne 0x1400e6c95
lea r8, [0x1400e60a0]
mov edx, ebp
mov rcx, r13
call fcn.1400e2e20
xor ebx, ebx
xor edx, edx
test ebp, ebp
jle 0x1400e6d64
mov rcx, r13
mov r8d, ebp
test rbx, rbx
je 0x1400e6d4d
mov rax, qword [rcx]
mov qword [rdx], rax
jmp 0x1400e6d50
mov rbx, qword [rcx]
mov rdx, qword [rcx]
add rcx, 8
sub r8, 1
mov qword [rdx], 0
jne 0x1400e6d40
mov rcx, r13
call fcn.1400cf780
jmp 0x1400e6d73
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.1401a8fb0
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