Function at 0x1000ae5c4
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x170
mov qword [rsp + 0x150], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov r12d, r9d
mov rbp, r8
mov rsi, rdx
lea r15, [0x10001e270]
mov qword [rsp + 0x30], r15
lea r14, [0x100021aa0]
mov qword [rsp + 0x38], r14
lea rdi, [0x10001e250]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0xbb2
mov r13d, 1
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
xor ebx, ebx
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [r11 - 0xd5], r13b
xor edx, edx
lea r8d, [r13 + 0x77]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8000
nop
lea rcx, [rsp + 0x158]
mov rax, qword [0x100021af8]
mov qword [rcx], rax
movzx eax, word [0x100021b00]
mov word [rcx + 8], ax
cmp rsi, rbx
jne 0x1000ae750
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0xbc0
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [r13 + 0x77]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
xor r9d, r9d
lea r8, [0x100021b08]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e91dc
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8634
nop
lea rcx, [rsp + 0xe0]
call fcn.1000e80ec
xor al, al
jmp 0x1000aebfd
mov r8d, 0xe
lea rdx, [0x100005408]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x1000ae92e
add rsi, 0x1c
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0xbc9
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
mov r9, rsi
lea r8, [0x100021b30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e91dc
mov rdx, r12
shr rdx, 1
mov edi, ebx
je 0x1000ae7ec
cmp rdx, 0x7fffffff
jbe 0x1000ae7f1
mov edi, 0x80070057
cmp edi, ebx
jl 0x1000ae83e
mov rcx, rbp
mov edi, ebx
cmp rdx, rbx
je 0x1000ae832
mov r8d, 0x7ffffffe
sub r8, rdx
mov r9, rsi
sub r9, rbp
lea rax, [r8 + rdx]
cmp rax, rbx
je 0x1000ae82d
movzx eax, word [r9 + rcx]
cmp ax, bx
je 0x1000ae82d
mov word [rcx], ax
add rcx, 2
sub rdx, r13
jne 0x1000ae80e
cmp rdx, rbx
jne 0x1000ae83b
sub rcx, 2
mov edi, 0x8007007a
mov word [rcx], bx
mov dword [rsp + 0xe8], edi
cmp edi, ebx
jge 0x1000ae8f8
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
lea rax, [0x10001e250]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0xbce
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
mov r9, rbp
lea r8, [0x100021b58]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000eb044
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8634
nop
jmp 0x1000aebee
lea rax, [0x100008430]
mov qword [rsp + 0x20], rax
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8634
nop
mov bl, r13b
jmp 0x1000aebee
xor eax, eax
or r14, 0xffffffffffffffff
mov rcx, r14
lea rdi, [rsp + 0x158]
repne scasw ax, word [rdi]
not rcx
sub rcx, r13
mov r8, rcx
lea rdx, [rsp + 0x158]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_wcsncmp]
cmp eax, ebx
je 0x1000aea0c
mov qword [rsp + 0x30], r15
lea r14, [0x100021aa0]
mov qword [rsp + 0x38], r14
lea rax, [0x10001e250]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0xbdb
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
mov r9, rsi
lea r8, [0x100021b88]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e91dc
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8634
nop
jmp 0x1000aebee
xor eax, eax
mov rcx, r14
lea rdi, [rsp + 0x158]
repne scasw ax, word [rdi]
not rcx
sub rcx, r13
lea rdi, [rsi + rcx*2]
mov qword [rsp + 0x30], r15
lea r14, [0x100021aa0]
mov qword [rsp + 0x38], r14
lea rsi, [0x10001e250]
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], 0xbe2
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [rax + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
mov r9, rdi
lea r8, [0x100021bc0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e91dc
mov r8d, r12d
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp eax, ebx
jne 0x1000aeb56
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], 0xbe8
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9, rdi
lea r8, [0x100021be0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e91dc
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8634
nop
jmp 0x1000aebee
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], 0xbee
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], 0xff
mov word [rsp + 0xd0], bx
mov byte [rsp + 0xd2], bl
mov byte [rsp + 0xd3], r13b
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
mov r9, rbp
lea r8, [0x100021b30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e91dc
lea rax, [0x100008430]
mov qword [rsp + 0x20], rax
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8634
nop
mov bl, r13b
lea rcx, [rsp + 0xe0]
call fcn.1000e80ec
mov al, bl
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.100130830
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret