Function at 0x140029450
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x410]
sub rsp, 0x510
mov rax, qword [0x1401c6780]
xor rax, rsp
mov qword [rbp + 0x400], rax
mov rbx, rcx
mov qword [rsp + 0x50], rcx
xor esi, esi
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1401cb6a8], eax
jle 0x14002950d
lea rcx, [0x1401cb6a8]
call fcn.1401221ac
cmp dword [0x1401cb6a8], 0xffffffff
jne 0x14002950d
mov qword [0x1401cb6b0], rsi
mov qword [0x1401cb6b8], rsi
lfence
lea ecx, [rsi + 0x60]
call fcn.1401219f8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1401cb6b0], rax
lea rcx, [0x14016f6c0]
call fcn.140121c94
nop
lea rcx, [0x1401cb6a8]
call fcn.140122140
mov rdi, 0xffffffffffffffff
cmp qword [0x1401cb6b8], 0
jne 0x140029807
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x20]
call fcn.140152f80
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1f0]
call fcn.140152f80
lea r8, [0x140190b38]
mov edx, 0x104
lea rcx, [rbp - 0x20]
call fcn.140129ccc
mov r12d, 0x41
mov word [rbp - 0x20], r12w
mov r8d, 0x104
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x1400297f3
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
lea rax, [rbp + 0x1f0]
mov r8, rdi
inc r8
cmp word [rax + r8*2], 0
jne 0x1400295a2
lea rdx, [rbp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.14000c0c0
nop
mov r13, qword [0x1401cb6b0]
mov qword [rsp + 0x60], r13
mov r10, qword [r13 + 8]
mov qword [rsp + 0x70], r10
mov dword [rsp + 0x78], esi
mov rdi, r13
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
cmp byte [r10 + 0x19], 0
jne 0x14002969e
mov r13, 0xffffffffffffffff
nop dword [rax]
mov qword [rsp + 0x70], r10
lea rdx, [r10 + 0x20]
lea rax, [rsp + 0x30]
cmp r14, 7
cmova rax, r15
mov r11, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x140029624
mov rdx, qword [rdx]
mov rcx, r11
cmp rbx, r11
cmovb rcx, rbx
test rcx, rcx
je 0x140029655
sub rdx, rax
nop word [rax + rax]
movzx r8d, word [rdx + rax]
cmp r8w, word [rax]
jne 0x14002965f
add rax, 2
sub rcx, 1
jne 0x140029640
cmp r11, rbx
jae 0x14002966a
mov eax, r13d
jmp 0x14002966f
mov eax, 1
cmovb eax, r13d
jmp 0x14002966f
mov eax, esi
seta al
shr eax, 0x1f
test al, al
je 0x140029680
mov dword [rsp + 0x78], esi
mov r10, qword [r10 + 0x10]
jmp 0x14002968e
mov dword [rsp + 0x78], 1
mov rdi, r10
mov r10, qword [r10]
cmp byte [r10 + 0x19], 0
je 0x140029600
mov r13, qword [rsp + 0x60]
cmp byte [rdi + 0x19], 0
jne 0x140029718
lea rax, [rdi + 0x20]
mov r10, qword [rax + 0x10]
cmp qword [rax + 0x18], 7
jbe 0x1400296b6
mov rax, qword [rax]
lea r9, [rsp + 0x30]
cmp r14, 7
cmova r9, r15
mov rcx, rbx
cmp r10, rbx
cmovb rcx, r10
test rcx, rcx
je 0x1400296e9
sub r9, rax
movzx edx, word [r9 + rax]
cmp dx, word [rax]
jne 0x1400296f7
add rax, 2
sub rcx, 1
jne 0x1400296d5
cmp rbx, r10
jae 0x140029708
mov rax, 0xffffffffffffffff
jmp 0x14002970d
mov eax, 1
mov rcx, 0xffffffffffffffff
cmovb eax, ecx
jmp 0x14002970d
mov eax, esi
seta al
shr eax, 0x1f
test al, al
je 0x1400297c2
movabs rax, 0x2aaaaaaaaaaaaaa
cmp qword [0x1401cb6b8], rax
je 0x140029b5e
lea rbx, [0x1401cb6b0]
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rsi
lfence
mov ecx, 0x60
call fcn.1401219f8
nop
mov qword [rax + 0x30], rsi
mov qword [rax + 0x38], rsi
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rax + 0x30], xmm1
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
xorps xmm0, xmm0
movups xmmword [rax + 0x40], xmm0
mov qword [rax + 0x50], rsi
mov qword [rax + 0x58], 7
mov word [rax + 0x40], si
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
mov word [rax + 0x18], 0
mov qword [rbp - 0x70], rsi
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x60], xmm0
mov r8, rax
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.14001fa70
mov rdi, rax
lea rcx, [rdi + 0x40]
lea rax, [rbp - 0x20]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp word [rax + r8*2], 0
jne 0x1400297d4
lea rdx, [rbp - 0x20]
call fcn.14000a690
nop
lea rcx, [rsp + 0x30]
call fcn.140009810
inc r12w
cmp r12w, 0x5a
jb 0x140029562
mov rbx, qword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140029820
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.14000c0c0
nop
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 7
cmova rcx, qword [rbp - 0x68]
mov qword [rsp + 0x20], 8
lea r9, str.Device_
xor r8d, r8d
mov rdx, qword [rbp - 0x58]
call fcn.1400275f0
test rax, rax
jne 0x140029b23
mov rbx, qword [rbp - 0x50]
cmp rbx, 7
seta r11b
lea r8, [rbp - 0x68]
mov r10, qword [rbp - 0x68]
cmova r8, r10
mov r9, qword [rbp - 0x58]
test r9, r9
je 0x1400298c3
mov rax, r9
mov rcx, r8
mov rdx, rsi
cmp word [r8], 0x5c
je 0x1400298b3
nop dword [rax]
cmp rax, 1
je 0x1400298b6
dec rax
add rcx, 2
cmp word [rcx], 0x5c
jne 0x1400298a0
mov rdx, rcx
test rdx, rdx
je 0x1400298c3
sub rdx, r8
sar rdx, 1
jmp 0x1400298c6
mov rdx, rdi
inc rdx
lea r8, [rbp - 0x68]
test r11b, r11b
cmovne r8, r10
cmp rdx, r9
jae 0x140029913
mov rax, r9
sub rax, rdx
lea rcx, [r8 + rdx*2]
mov rdx, rsi
je 0x140029906
cmp word [rcx], 0x5c
je 0x140029903
nop
cmp rax, 1
je 0x140029906
dec rax
add rcx, 2
cmp word [rcx], 0x5c
jne 0x1400298f0
mov rdx, rcx
test rdx, rdx
je 0x140029913
sub rdx, r8
sar rdx, 1
jmp 0x140029916
mov rdx, rdi
inc rdx
lea r8, [rbp - 0x68]
test r11b, r11b
cmovne r8, r10
cmp rdx, r9
jae 0x140029963
mov rax, r9
sub rax, rdx
lea rcx, [r8 + rdx*2]
mov rdx, rsi
je 0x140029956
cmp word [rcx], 0x5c
je 0x140029953
nop
cmp rax, 1
je 0x140029956
dec rax
add rcx, 2
cmp word [rcx], 0x5c
jne 0x140029940
mov rdx, rcx
test rdx, rdx
je 0x140029963
sub rdx, r8
sar rdx, 1
jmp 0x140029966
mov rdx, rdi
lea r12, [rdx + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], rsi
mov r8, r12
cmp r9, r12
cmovb r8, r9
lea rdx, [rbp - 0x68]
cmp rbx, 7
cmova rdx, r10
lea rcx, [rbp - 0x48]
call fcn.14000c0c0
nop
mov r13, qword [0x1401cb6b0]
mov r10, qword [r13 + 8]
mov rdi, r13
mov r14, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x38]
mov r15, qword [rbp - 0x48]
cmp byte [r10 + 0x19], 0
jne 0x140029a50
mov r13, 0xffffffffffffffff
nop word [rax + rax]
lea rdx, [r10 + 0x20]
lea rax, [rbp - 0x48]
cmp r14, 7
cmova rax, r15
mov r11, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x1400299ee
mov rdx, qword [rdx]
mov rcx, r11
cmp rbx, r11
cmovb rcx, rbx
test rcx, rcx
je 0x140029a15
sub rdx, rax
movzx r8d, word [rdx + rax]
cmp r8w, word [rax]
jne 0x140029a1f
add rax, 2
sub rcx, 1
jne 0x140029a00
cmp r11, rbx
jae 0x140029a2a
mov eax, r13d
jmp 0x140029a2f
mov eax, 1
cmovb eax, r13d
jmp 0x140029a2f
mov eax, esi
seta al
shr eax, 0x1f
test al, al
je 0x140029a3c
mov r10, qword [r10 + 0x10]
jmp 0x140029a42
mov rdi, r10
mov r10, qword [r10]
cmp byte [r10 + 0x19], 0
je 0x1400299d0
mov r13, qword [0x1401cb6b0]
cmp byte [rdi + 0x19], 0
jne 0x140029b19
lea rax, [rdi + 0x20]
mov r10, qword [rax + 0x10]
cmp qword [rax + 0x18], 7
jbe 0x140029a6c
mov rax, qword [rax]
lea r9, [rbp - 0x48]
cmp r14, 7
cmova r9, r15
mov rcx, rbx
cmp r10, rbx
cmovb rcx, r10
test rcx, rcx
je 0x140029aa4
sub r9, rax
nop word [rax + rax]
movzx edx, word [r9 + rax]
cmp dx, word [rax]
jne 0x140029ab2
add rax, 2
sub rcx, 1
jne 0x140029a90
cmp rbx, r10
jae 0x140029ac3
mov rax, 0xffffffffffffffff
jmp 0x140029ac8
mov eax, 1
mov rcx, 0xffffffffffffffff
cmovb eax, ecx
jmp 0x140029ac8
mov eax, esi
seta al
shr eax, 0x1f
test al, al
jne 0x140029b19
cmp rdi, r13
je 0x140029b19
lea r9, [rdi + 0x40]
mov rax, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 7
jbe 0x140029ae6
mov r9, qword [r9]
mov qword [rsp + 0x20], rax
mov r8, r12
lea rcx, [rbp - 0x68]
call fcn.14002f230
lea r8, [rbp - 0x68]
cmp qword [rbp - 0x50], 7
cmova r8, qword [rbp - 0x68]
mov edx, 0x104
mov rcx, qword [rsp + 0x50]
call fcn.140129ccc
mov esi, 1
lea rcx, [rbp - 0x48]
call fcn.140009810
nop
lea rcx, [rbp - 0x68]
call fcn.140009810
mov eax, esi
mov rcx, qword [rbp + 0x400]
xor rcx, rsp
call fcn.1401219d0
lea r11, [rsp + 0x510]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001fe20
nop
int3