Function at 0x180011240
Capabilities:
Get disk information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x890
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x8e0], rbx
mov rax, qword [0x180071060]
xor rax, rsp
mov qword [rsp + 0x880], rax
mov r12, rdx
mov rbp, rcx
mov qword [rsp + 0x28], rcx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov qword [rcx + 0x20], 7
mov qword [rcx + 0x18], r14
mov word [rcx + 8], r14w
mov dword [rsp + 0x20], 1
mov rsi, r14
mov rcx, qword [rdx + 0x20]
sub rcx, qword [rdx + 0x18]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180011598
mov r13, r14
or r15, 0xffffffffffffffff
movabs rcx, 0x7ffffffffffffffe
nop
cmp rsi, rdx
jb 0x1800112f4
call fcn.18003ce6c
movabs rcx, 0x7ffffffffffffffe
mov rax, qword [r12 + 0x18]
lea rdi, [r13 + rax]
mov qword [rsp + 0x58], 7
mov r8, r14
mov qword [rsp + 0x50], r14
mov word [rsp + 0x40], r14w
mov rbx, qword [rdi + 0x18]
cmp rbx, 0xffffffffffffffff
cmova rbx, r15
lea rax, [rsp + 0x38]
cmp rax, rdi
jne 0x18001134f
mov r8, r15
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.180007060
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.180007060
jmp 0x1800113e9
cmp rbx, rcx
jbe 0x18001135e
call fcn.18003c5a8
mov r8, qword [rsp + 0x50]
cmp qword [rsp + 0x58], rbx
jae 0x180011374
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.180008090
jmp 0x180011395
test rbx, rbx
jne 0x180011395
mov qword [rsp + 0x50], r14
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rax, qword [rsp + 0x40]
mov word [rax], r14w
jmp 0x1800113e9
test rbx, rbx
je 0x1800113e9
cmp qword [rdi + 0x20], 8
jb 0x1800113a7
mov r8, qword [rdi + 8]
jmp 0x1800113ab
lea r8, [rdi + 8]
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x40]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
call fcn.18003cecc
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rax, qword [rsp + 0x40]
mov word [rdi + rax], r14w
mov word [rsp + 0x70], r14w
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rsp + 0x72]
call fcn.18003e200
mov rcx, qword [rsp + 0x40]
cmp qword [rsp + 0x58], 8
jb 0x18001141c
mov rdi, rcx
test rcx, rcx
je 0x18001149a
jmp 0x180011421
lea rdi, [rsp + 0x40]
cmp word [rdi + 2], 0x3a
jne 0x18001149a
movzx eax, word [rdi]
mov word [rsp + 0x60], ax
mov eax, 0x3a
mov word [rsp + 0x62], ax
xor eax, eax
mov dword [rsp + 0x64], eax
mov r8d, 0x208
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x180011495
lea rdx, [rdi + 4]
mov r8d, 0x208
lea rcx, [rsp + 0x470]
call qword [sym.imp.SHLWAPI.dll_StrNCatW]
mov r8d, 0x200
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov rcx, qword [rsp + 0x40]
jmp 0x18001149a
mov rcx, qword [rsp + 0x40]
cmp word [rsp + 0x70], 0
jne 0x1800114c2
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, rcx
mov r8d, 0x200
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ebx, r14d
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x18001150b
lea rdi, [rsp + 0x70]
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x41
jb 0x1800114f6
cmp ax, 0x5a
ja 0x1800114f6
add ax, 0x20
mov word [rdi], ax
inc ebx
add rdi, 2
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp ebx, eax
jl 0x1800114e0
xor eax, eax
mov rcx, r15
lea rdi, [rsp + 0x70]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x70]
mov rcx, rbp
call fcn.1800135c0
mov r8d, 1
lea rdx, [0x18005cc70]
mov rcx, rbp
call fcn.1800135c0
nop
cmp qword [rsp + 0x58], 8
jb 0x180011554
mov rcx, qword [rsp + 0x40]
call fcn.18003cec4
inc rsi
add r13, 0x28
mov rcx, qword [r12 + 0x20]
sub rcx, qword [r12 + 0x18]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
cmp rsi, rdx
movabs rcx, 0x7ffffffffffffffe
jb 0x1800112e0
mov rax, rbp
jmp 0x18001159b
mov rax, rbp
mov rcx, qword [rsp + 0x880]
xor rcx, rsp
call fcn.18003c6c0
mov rbx, qword [rsp + 0x8e0]
add rsp, 0x890
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret