Function at 0x511b40
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
sub rsp, 0x148
mov qword [rsp + 0xd8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r13
mov qword [rax - 0x28], r14
mov qword [rax - 0x30], r15
mov rax, qword [0x006443a8]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov r15, rdx
mov r14, rcx
cmp qword [rcx + 0x20], 8
jb 0x511b9b
mov rax, qword [rcx + 8]
jmp 0x511b9f
lea rax, [rcx + 8]
movzx eax, word [rax]
mov word [rsp + 0x48], ax
mov word [rsp + 0x4a], 0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x511bc5
xor al, al
jmp 0x512239
cmp byte [0x00647ff8], 0
jne 0x511c6e
mov eax, dword [0x00648018]
test al, 1
jne 0x511c31
or eax, 1
mov dword [0x00648018], eax
call fcn.00472500
mov r8, rax
lea rdx, str.netapi32.dll
lea rcx, [rsp + 0xa0]
call fcn.0048bd30
nop
lea rdx, [rsp + 0xa0]
lea rcx, [0x00648000]
call fcn.004fa740
nop
lea rcx, [rsp + 0xa0]
call fcn.0048bc60
lea rcx, [0x005a9e90]
call fcn.0056a510
nop
lea rdx, str.NetUseEnum
lea rcx, [0x00648000]
call fcn.004fa450
mov qword [0x00647fe8], rax
lea rdx, [0x005ce310]
lea rcx, [0x00648000]
call fcn.004fa450
mov qword [0x00647ff0], rax
mov byte [0x00647ff8], 1
jmp 0x511c75
mov rax, qword [0x00647ff0]
mov rdi, qword [0x00647fe8]
test rdi, rdi
je 0x512237
test rax, rax
je 0x512237
xor esi, esi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], rsi
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
lea r8, [rsp + 0x40]
xor edx, edx
xor ecx, ecx
call rdi
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0xa0], rbx
test eax, eax
jne 0x512220
test rbx, rbx
je 0x512220
mov r12d, esi
cmp dword [rsp + 0x4c], esi
jbe 0x51220b
mov r13, rsi
movabs r8, 0x7ffffffffffffffe
nop
nop
mov rax, qword [rsp + 0x40]
mov rbp, qword [r13 + rax]
mov edx, 7
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0xf8], rsi
mov word [rsp + 0xe8], 0
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rsi, rcx
cmp rcx, r8
jbe 0x511d54
call fcn.0053cc80
mov rdx, qword [rsp + 0x100]
cmp rdx, rsi
jae 0x511d7b
mov r8, qword [rsp + 0xf8]
mov rdx, rsi
lea rcx, [rsp + 0xe0]
call fcn.005118a0
mov rdx, qword [rsp + 0x100]
jmp 0x511daa
test rsi, rsi
jne 0x511daa
mov qword [rsp + 0xf8], rsi
lea rax, [rsp + 0xe8]
cmp rdx, 8
cmovae rax, qword [rsp + 0xe8]
mov word [rax], si
mov rdx, qword [rsp + 0x100]
jmp 0x511e0c
test rsi, rsi
je 0x511e0a
lea rcx, [rsp + 0xe8]
cmp rdx, 8
cmovae rcx, qword [rsp + 0xe8]
lea rdi, [rsi + rsi]
add rdx, rdx
mov r9, rdi
mov r8, rbp
call fcn.00568a50
mov qword [rsp + 0xf8], rsi
lea rax, [rsp + 0xe8]
cmp qword [rsp + 0x100], 8
cmovae rax, qword [rsp + 0xe8]
mov word [rax + rdi], 0
mov rdx, qword [rsp + 0x100]
xor esi, esi
jmp 0x511e0c
xor esi, esi
cmp qword [rsp + 0xf8], 0
je 0x5120d3
lea rbp, [rsp + 0xe8]
cmp rdx, 8
cmovae rbp, qword [rsp + 0xe8]
mov edx, 7
mov qword [rsp + 0x70], rdx
mov r8, rsi
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], 0
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rsi, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x511e80
call fcn.0053cc80
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
cmp rdx, rsi
jae 0x511e99
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.005118a0
mov rdx, qword [rsp + 0x70]
jmp 0x511eb7
test rsi, rsi
jne 0x511eb7
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x58]
cmp rdx, 8
cmovae rax, qword [rsp + 0x58]
mov word [rax], si
jmp 0x511ef9
test rsi, rsi
je 0x511ef9
lea rcx, [rsp + 0x58]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x58]
lea rdi, [rsi + rsi]
add rdx, rdx
mov r9, rdi
mov r8, rbp
call fcn.00568a50
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rax, qword [rsp + 0x58]
mov word [rax + rdi], 0
mov r9, qword [rsp + 0xf8]
xor r8d, r8d
lea rdx, [rsp + 0xa8]
mov rcx, r14
call fcn.0040be90
nop
cmp qword [rax + 0x20], 8
jb 0x511f22
mov rbp, qword [rax + 8]
jmp 0x511f26
lea rbp, [rax + 8]
mov edx, 7
mov qword [rsp + 0x98], rdx
xor r8d, r8d
mov qword [rsp + 0x90], r8
mov word [rsp + 0x80], r8w
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rsi, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x511f84
call fcn.0053cc80
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
cmp rdx, rsi
jae 0x511fa0
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.005118a0
mov rdx, qword [rsp + 0x98]
jmp 0x511fc7
test rsi, rsi
jne 0x511fc7
mov qword [rsp + 0x90], rsi
lea rax, [rsp + 0x80]
cmp rdx, 8
cmovae rax, qword [rsp + 0x80]
mov word [rax], si
jmp 0x512021
test rsi, rsi
je 0x51201f
lea rcx, [rsp + 0x80]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x80]
lea rdi, [rsi + rsi]
add rdx, rdx
mov r9, rdi
mov r8, rbp
call fcn.00568a50
mov qword [rsp + 0x90], rsi
lea rax, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rax, qword [rsp + 0x80]
mov word [rax + rdi], 0
xor esi, esi
jmp 0x512021
xor esi, esi
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.00511aa0
movzx edi, al
cmp qword [rsp + 0x98], 8
jb 0x51204b
mov rcx, qword [rsp + 0x80]
call fcn.00568830
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], rsi
mov word [rsp + 0x80], 0
cmp qword [rsp + 0xc8], 8
jb 0x512081
mov rcx, qword [rsp + 0xb0]
call fcn.00568830
mov qword [rsp + 0xc8], 7
mov qword [rsp + 0xc0], rsi
mov word [rsp + 0xb0], 0
cmp qword [rsp + 0x70], 8
jb 0x5120b1
mov rcx, qword [rsp + 0x58]
call fcn.00568830
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], 0
test dil, dil
jne 0x512126
mov rdx, qword [rsp + 0x100]
cmp rdx, 8
jb 0x5120e6
mov rcx, qword [rsp + 0xe8]
call fcn.00568830
mov qword [rsp + 0x100], 7
mov qword [rsp + 0xf8], rsi
mov word [rsp + 0xe8], 0
add r12d, 1
add r13, 0x10
cmp r12d, dword [rsp + 0x4c]
jae 0x51220b
movabs r8, 0x7ffffffffffffffe
jmp 0x511d00
mov ecx, r12d
add rcx, rcx
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + rcx*8 + 8]
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r15
call fcn.00404ad0
mov r9, 0xffffffffffffffff
mov r8, qword [rsp + 0xf8]
lea rdx, [rsp + 0xa8]
mov rcx, r14
call fcn.0040be90
nop
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, r15
call fcn.00404810
nop
cmp qword [rsp + 0xc8], 8
jb 0x5121a2
mov rcx, qword [rsp + 0xb0]
call fcn.00568830
mov qword [rsp + 0xc8], 7
mov qword [rsp + 0xc0], rsi
mov word [rsp + 0xb0], 0
cmp qword [rsp + 0x100], 8
jb 0x5121d8
mov rcx, qword [rsp + 0xe8]
call fcn.00568830
mov qword [rsp + 0x100], 7
mov qword [rsp + 0xf8], rsi
mov word [rsp + 0xe8], 0
mov rax, qword [0x00647ff0]
test rax, rax
je 0x512207
mov rcx, rbx
call rax
mov al, 1
jmp 0x512239
mov rax, qword [0x00647ff0]
test rax, rax
je 0x51221c
mov rcx, rbx
call rax
xor al, al
jmp 0x512239
mov rax, qword [0x00647ff0]
test rax, rax
je 0x512233
mov rcx, qword [rsp + 0x40]
call rax
xor al, al
jmp 0x512239
xor al, al
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.00568fb0
mov rbx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x138]
mov r12, qword [rsp + 0x130]
mov r13, qword [rsp + 0x128]
mov r14, qword [rsp + 0x120]
mov r15, qword [rsp + 0x118]
add rsp, 0x148
ret