Function at 0x1400e6160
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.1401afa00
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.14017d460
lea rcx, [rsp + 0x4d0]
call fcn.14017d460
lea rcx, [rsp + 0x180]
call fcn.14017d460
mov r14, qword [0x14020e0a0]
test r14, r14
je 0x1400e637b
nop
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x4d0]
call fcn.1401794c0
mov rdx, qword [r14 + 8]
cmp byte [rdx], 0
je 0x1400e6239
lea rcx, [rsp + 0x180]
call fcn.1401794c0
mov rbx, qword [rsp + 0x188]
mov qword [rsp + 0x4c0], rbx
jmp 0x1400e62b0
lea rcx, [rsp + 0x2a0]
call fcn.14017d460
mov rdx, qword [r14 + 0x10]
lea rcx, [rsp + 0x2a0]
call fcn.14017e3d0
mov rcx, qword [rsp + 0x2a8]
lea rdx, [rsp + 0xd10]
mov r8d, 0x104
call qword [fcn.1400b5030]
test eax, eax
je 0x1400e6298
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x60]
call fcn.140178270
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x4c0], rbx
jmp 0x1400e62a3
mov rbx, rsi
mov qword [rsp + 0x4c0], rbx
lea rcx, [rsp + 0x2a0]
call fcn.1400012c0
test rbx, rbx
je 0x1400e636a
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.140176740
mov rcx, rbx
mov qword [r15 + 8], rax
call fcn.140176740
mov rcx, rdi
mov qword [r15 + 0x10], rax
call fcn.14016dcc0
mov rcx, qword [rsp + 0x4c0]
mov qword [r15 + 0x18], rax
call fcn.1400dc5a0
mov rcx, rbp
test eax, eax
mov byte [r15 + 0x38], sil
setne al
mov byte [r15 + 0x20], al
call fcn.14016dcc0
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 0x1400e6358
mov rax, qword [rsp + 0x40]
mov qword [rax], r15
jmp 0x1400e635d
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 0x1400e6200
mov r15d, dword [rsp + 0x30]
lea rcx, [rsp + 0x180]
call fcn.1400012c0
lea rcx, [rsp + 0x4d0]
call fcn.1400012c0
lea rcx, [rsp + 0x60]
call fcn.1400012c0
lea rcx, [rsp + 0xb00]
mov edx, 0x104
call qword [0x140203aa8]
mov r14, qword [rsp + 0x1178]
cmp rax, 0xffffffffffffffff
mov r13, rax
je 0x1400e671e
lea rcx, [rsp + 0x60]
call fcn.14017d460
lea rcx, [rsp + 0x4d0]
call fcn.14017d460
lea rbp, [0x1401b0f62]
mov r12d, 0x41
jmp 0x1400e63f2
xor esi, esi
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x60]
call fcn.140178270
mov rcx, qword [rsp + 0x68]
call fcn.1400d7f40
cmp eax, 3
mov edi, eax
je 0x1400e6423
cmp eax, 2
je 0x1400e6423
cmp eax, 6
jne 0x1400e66da
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0xb00]
xor r8d, r8d
xor edx, edx
call fcn.1400d7660
test eax, eax
jne 0x1400e66da
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x1400e64f1
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.1400d7660
test eax, eax
je 0x1400e64e4
cmp word [rsi], 0
mov rbx, rsi
je 0x1400e64e4
nop
nop
lea rcx, [rsp + 0x4d0]
mov rdx, rbx
call fcn.140178270
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.1400e5df0
cmp word [rbx], 0
je 0x1400e64da
nop
add rbx, 2
cmp word [rbx], 0
jne 0x1400e64d0
add rbx, 2
cmp word [rbx], 0
jne 0x1400e6490
mov rcx, rsi
call fcn.1400cf780
jmp 0x1400e66da
lea rcx, [rsp + 0x180]
call fcn.14017d460
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.1400b5030]
test eax, eax
je 0x1400e6581
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x180]
call fcn.140178270
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x68]
call fcn.14016eef0
test eax, eax
je 0x1400e658e
add ebx, 1
cmp ebx, 0x5a
jle 0x1400e6510
jmp 0x1400e66cd
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x4d0]
call fcn.140178270
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.1400e5df0
cmp edi, 2
mov word [rsp + 0x8f0], bx
mov word [rsp + 0x8f2], 0x3a
mov word [rsp + 0x8f4], 0x5c
jne 0x1400e65f6
cmp byte [0x14020dd86], 0
je 0x1400e66cd
lea rdx, [rsp + 0x8f6]
lea rcx, [rsp + 0xb00]
mov r8d, 0x101
call qword [0x140203ac8]
cmp rax, 0xffffffffffffffff
mov rbx, rax
je 0x1400e66cd
nop
lea rdx, [rsp + 0x8f0]
lea rcx, [rsp + 0x4d0]
call fcn.140178270
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x8f0]
mov r8d, 0x104
call qword [fcn.1400b5030]
test eax, eax
je 0x1400e66a5
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x60]
call fcn.140178270
mov rcx, qword [rsp + 0x4d8]
call fcn.1400d7f40
cmp eax, 3
je 0x1400e6683
cmp eax, 2
je 0x1400e6683
cmp eax, 6
jne 0x1400e66a5
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.1400e5df0
lea rdx, [rsp + 0x8f6]
mov r8d, 0x101
mov rcx, rbx
call qword [fcn.1400b5030]
test eax, eax
jne 0x1400e6620
mov rcx, rbx
call qword [fcn.1400b5030]
lea rcx, [rsp + 0x180]
call fcn.1400012c0
lea rdx, [rsp + 0xb00]
mov r8d, 0x104
mov rcx, r13
call qword [fcn.1400b5030]
test eax, eax
jne 0x1400e63f0
lea rcx, [rsp + 0x4d0]
call fcn.1400012c0
lea rcx, [rsp + 0x60]
call fcn.1400012c0
mov rcx, r13
call qword [fcn.1400b5030]
jmp 0x1400e67b8
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.1400d7f40
cmp eax, 3
je 0x1400e678a
cmp eax, 2
je 0x1400e678a
cmp eax, 6
jne 0x1400e67ac
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.1400e5df0
add ebx, 1
cmp ebx, 0x5a
jle 0x1400e6730
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400e6b6c
lea rcx, [rsp + 0x180]
call fcn.14017d460
lea rcx, [rsp + 0x2a0]
call fcn.14017d460
lea rcx, [rsp + 0x8f0]
call fcn.14017d460
lea rcx, [rsp + 0xb00]
call fcn.14017d460
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.1400d7f40
cmp eax, 3
mov ebx, eax
je 0x1400e6834
cmp eax, 2
je 0x1400e6834
cmp eax, 6
jne 0x1400e6b2a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2a0]
call fcn.14017e4f0
mov rcx, qword [rsp + 0x2a8]
lea rdx, [rsp + 0xf20]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x1400e6b2a
mov eax, eax
lea rdx, [rsp + 0xf20]
lea rcx, [rsp + 0x8f0]
mov word [rsp + rax*2 + 0xf20], 0
call fcn.140178320
mov r11, qword [rsp + 0x8f8]
mov r8, r11
mov rax, r11
mov cl, 0x5c
neg r8
lea rdx, [r8 + rdi + 0x1cfffc]
cmp byte [rax], cl
jne 0x1400e69d5
movzx ecx, byte [rdx + rax + 1]
add rax, 1
test cl, cl
jne 0x1400e68a6
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.1400dbdf0
test eax, eax
je 0x1400e694a
lea rdx, [rsp + 0xf20]
lea rcx, [rsp + 0x180]
call fcn.140178270
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0xb00]
call fcn.140177f70
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.1400e5df0
jmp 0x1400e6b2a
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.1400b5030]
test eax, eax
je 0x1400e6b2a
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x180]
call fcn.140178270
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.1400e5df0
jmp 0x1400e6b2a
mov al, 0x5c
lea rcx, [r8 + rdi + 0x1d0008]
nop
cmp byte [r11], al
jne 0x1400e69f8
movzx eax, byte [r11 + rcx + 1]
add r11, 1
test al, al
jne 0x1400e69e0
jmp 0x1400e6b2a
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.1400b5030]
test eax, eax
je 0x1400e6aac
lea r8, [rsp + 0xd10]
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_GetVolumeNameForVolumeMountPoint__S_n
call fcn.1400b3fe0
lea rdx, [rsp + 0xd10]
lea rcx, [rsp + 0x180]
call fcn.140178270
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_is_refs_n
call fcn.1400b3fe0
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.1400e5df0
jmp 0x1400e6b2a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x6e0]
lea rcx, str._S_GetVolumeNameForVolumeMountPoint_FAILED__d_n
mov r8d, eax
call fcn.1400b3fe0
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.1400e5df0
add r12d, 1
cmp r12d, 0x5a
jle 0x1400e6810
lea rcx, [rsp + 0xb00]
call fcn.1400012c0
lea rcx, [rsp + 0x8f0]
call fcn.1400012c0
lea rcx, [rsp + 0x2a0]
call fcn.1400012c0
lea rcx, [rsp + 0x180]
call fcn.1400012c0
movsxd rax, dword [rsp + 0x48]
test eax, eax
je 0x1400e6d3e
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 0x1400e6c57
test rbx, rbx
mov r9, rbx
je 0x1400e6c57
nop
nop
nop
cmp byte [r9 + 0x20], 0
jne 0x1400e6c45
mov rcx, qword [r9 + 0x10]
cmp byte [rcx], 0
je 0x1400e6c45
cmp byte [rcx + 1], 0x3a
jne 0x1400e6c45
cmp byte [rcx + 2], 0
jne 0x1400e6c45
mov r8, rbx
cmp r8, r9
je 0x1400e6c3d
cmp byte [r8 + 0x20], 0
je 0x1400e6c3d
mov rcx, qword [r9 + 8]
mov rax, qword [r8 + 8]
movzx edx, byte [rcx]
cmp dl, byte [rax]
jne 0x1400e6c05
test dl, dl
je 0x1400e6c0f
mov dl, byte [rcx + 1]
add rcx, 1
add rax, 1
cmp dl, byte [rax]
je 0x1400e6bf2
movzx eax, byte [rax]
movzx ecx, byte [rcx]
cmp ecx, eax
jne 0x1400e6c3d
mov rcx, qword [r9 + 0x18]
mov rax, qword [r8 + 0x18]
movzx edx, byte [rcx]
cmp dl, byte [rax]
jne 0x1400e6c33
nop
test dl, dl
je 0x1400e6c75
mov dl, byte [rcx + 1]
add rcx, 1
add rax, 1
cmp dl, byte [rax]
je 0x1400e6c20
movzx eax, byte [rax]
movzx ecx, byte [rcx]
sub ecx, eax
je 0x1400e6c75
mov r8, qword [r8]
test r8, r8
jne 0x1400e6bd7
xor eax, eax
mov byte [r9 + 0x21], al
mov r9, qword [r9]
test r9, r9
jne 0x1400e6bb0
xor ebp, ebp
test rbx, rbx
je 0x1400e6cf1
mov rdi, r13
test r15d, r15d
mov rsi, qword [rbx]
je 0x1400e6c7c
cmp byte [rbx + 0x38], 0
je 0x1400e6cad
jmp 0x1400e6c82
mov eax, 1
jmp 0x1400e6c47
cmp byte [rbx + 0x38], 0
je 0x1400e6cdb
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400e6c91
cmp byte [rbx + 0x21], 0
jne 0x1400e6cad
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400e6cdb
cmp byte [rbx + 0x20], 0
jne 0x1400e6cdb
mov rcx, qword [rbx + 8]
call fcn.1400dc5a0
test eax, eax
jne 0x1400e6cdb
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 0x1400e6ce5
mov qword [rdi], rbx
add ebp, 1
add rdi, 8
test rsi, rsi
mov rbx, rsi
jne 0x1400e6c65
lea r8, [0x1400e6070]
mov edx, ebp
mov rcx, r13
call fcn.1400e2df0
xor ebx, ebx
xor edx, edx
test ebp, ebp
jle 0x1400e6d34
mov rcx, r13
mov r8d, ebp
test rbx, rbx
je 0x1400e6d1d
mov rax, qword [rcx]
mov qword [rdx], rax
jmp 0x1400e6d20
mov rbx, qword [rcx]
mov rdx, qword [rcx]
add rcx, 8
sub r8, 1
mov qword [rdx], 0
jne 0x1400e6d10
mov rcx, r13
call fcn.1400cf780
jmp 0x1400e6d43
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.1401a8ec0
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