Function at 0x1800076f0
Capabilities:
Get disk information
Get disk information via ioctl

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x9e0]
sub rsp, 0xae0
mov rax, qword [0x180038010]
xor rax, rsp
mov qword [rbp + 0x9d0], rax
mov r13d, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
xor esi, esi
lea rcx, str.NTDLL.DLL
mov edi, eax
mov dword [rsp + 0x40], eax
mov r15d, esi
mov r12d, esi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
jne 0x180007756
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1800077c1
lea rdx, str.ZwOpenSymbolicLinkObject
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ZwQuerySymbolicLinkObject
mov rcx, rbx
mov qword [0x180039f68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ZwClose
mov rcx, rbx
mov qword [0x180039f70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x180039f68], rsi
mov qword [0x180039f60], rax
je 0x1800077b2
cmp qword [0x180039f70], rsi
je 0x1800077b2
test rax, rax
jne 0x1800077b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, 3
mov qword [rsp + 0xb18], r14
nop
bt edi, ebx
jae 0x1800078c7
mov eax, dword [0x180030518]
lea ecx, [rbx + 0x41]
movsd xmm0, qword [str..A:]
xor r9d, r9d
mov dword [rsp + 0x58], eax
mov edx, 0xc0000000
movzx eax, word [0x18003051c]
mov edi, esi
mov word [rsp + 0x5c], ax
xor eax, eax
mov word [rsp + 0x58], cx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x20000000
lea r8d, [rax + 3]
movsd qword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x1800078a8
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 0xc
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x2d1080
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x180007895
mov r15d, dword [rsp + 0x64]
mov rcx, r14
mov r12d, dword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1800078b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r14
mov edi, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1800078b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x1800078c3
cmp r13d, r15d
jne 0x1800078c3
cmp r12d, 4
je 0x1800079cb
mov edi, dword [rsp + 0x40]
inc ebx
cmp ebx, 0x1a
jb 0x1800077d0
mov r9d, 4
lea rdx, str.DeviceHarddisk_dPartition_d
mov r8d, r13d
lea rcx, [rbp + 0x5b0]
call fcn.180004410
lea rax, [rbp + 0x5b0]
mov qword [rsp + 0x48], rsi
mov rdi, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
mov rax, rdi
lea rcx, [rbp + 0x5b0]
inc rax
cmp word [rcx + rax*2], si
jne 0x180007910
add ax, ax
mov dword [rsp + 0x70], 0x30
mov word [rsp + 0x60], ax
lea r8, [rsp + 0x70]
add ax, 2
mov qword [rsp + 0x78], rsi
mov word [rsp + 0x62], ax
lea rcx, [rsp + 0x48]
lea rax, [rsp + 0x60]
mov dword [rbp - 0x78], 0x40
xorps xmm0, xmm0
mov qword [rbp - 0x80], rax
mov edx, 0x80000000
movdqu xmmword [rbp - 0x70], xmm0
call qword [0x180039f68]
mov ebx, eax
test eax, eax
jne 0x1800079b2
mov rcx, qword [rsp + 0x48]
lea rax, [rbp + 0x3a0]
xor r8d, r8d
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x1000000
call qword [0x180039f70]
mov rcx, qword [rsp + 0x48]
mov ebx, eax
call qword [0x180039f60]
test ebx, ebx
jne 0x1800079b6
movzx ecx, word [rsp + 0x50]
shr rcx, 1
mov word [rbp + rcx*2 + 0x3a0], si
test ebx, ebx
je 0x1800079d2
mov edx, ebx
lea rcx, str.QuerySymbolicLink_failed:_0x_x_n
call fcn.180003280
mov eax, ebx
jmp 0x180007b6a
mov eax, edi
jmp 0x180007b6a
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dl, 3
nop word [rax + rax]
movzx ecx, dl
bt eax, ecx
jae 0x1800079f3
inc dl
cmp dl, 0x1a
jb 0x1800079e0
xor dl, dl
jmp 0x1800079f6
add dl, 0x41
movsx ebx, dl
lea rcx, [rbp - 0x60]
xor edx, edx
mov r8d, 0x400
call fcn.1800115d0
movzx r14d, bx
lea rdx, str.DosDevices_C:
mov r8d, r14d
lea rcx, [rbp + 0x7c0]
call fcn.180004410
mov rcx, rsi
nop word [rax + rax]
movzx eax, word [rbp + rcx + 0x7c0]
mov word [rbp + rcx - 0x58], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180007a30
mov eax, 8
lea rcx, [rbp - 0x58]
mov word [rbp - 0x60], ax
mov rax, rdi
inc rax
cmp word [rcx + rax*2], si
jne 0x180007a56
add ax, ax
lea rdx, [rbp + 0x3a0]
mov word [rbp - 0x5e], ax
lea rcx, [rbp + 0x3a0]
add ax, 8
movzx eax, ax
mov word [rbp - 0x5c], ax
sub rax, rdx
lea rdx, [rbp - 0x60]
add rdx, rax
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180007a90
movzx eax, word [rbp - 0x5c]
lea rcx, [rbp - 0x60]
add rcx, rax
nop dword [rax + rax]
inc rdi
cmp word [rcx + rdi*2], si
jne 0x180007ab0
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add di, di
mov dword [rsp + 0x28], esi
mov edx, 0x10000000
mov word [rbp - 0x5a], di
lea rcx, str..MountPointManager
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x180007b4e
movzx ecx, word [rbp - 0x5c]
lea rax, [rsp + 0x48]
movzx r9d, word [rbp - 0x5a]
lea r8, [rbp - 0x60]
mov qword [rsp + 0x38], rsi
add r9d, ecx
mov qword [rsp + 0x30], rax
mov rcx, rbx
mov dword [rsp + 0x28], esi
mov edx, 0x6dc000
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x180007b43
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.DeviceIoControl_IOCTL_MOUNTMGR_CREATE_POINT__failed:__d_n
mov esi, eax
call fcn.180003280
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180007b56
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov r8d, esi
lea rcx, str.INTER_CreateMountPoint__C__result:_0x_x_n
mov edx, r14d
call fcn.180003280
mov eax, esi
mov r14, qword [rsp + 0xb18]
mov rcx, qword [rbp + 0x9d0]
xor rcx, rsp
call fcn.18000ed70
lea r11, [rsp + 0xae0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret