Function at 0x1000ae204
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 [0x100175150]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov r12d, r9d
mov rbp, r8
mov rsi, rdx
lea r15, [0x10001e120]
mov qword [rsp + 0x30], r15
lea r14, [0x100021950]
mov qword [rsp + 0x38], r14
lea rdi, [0x10001e100]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0xbab
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.1000e7c38
nop
lea rcx, [rsp + 0x158]
mov rax, qword [0x1000219a8]
mov qword [rcx], rax
movzx eax, word [0x1000219b0]
mov word [rcx + 8], ax
cmp rsi, rbx
jne 0x1000ae390
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0xbb9
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, [0x1000219b8]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8e14
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e826c
nop
lea rcx, [rsp + 0xe0]
call fcn.1000e7d24
xor al, al
jmp 0x1000ae83d
mov r8d, 0xe
lea rdx, [0x100005408]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x1000ae56e
add rsi, 0x1c
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0xbc2
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, [0x1000219e0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8e14
mov rdx, r12
shr rdx, 1
mov edi, ebx
je 0x1000ae42c
cmp rdx, 0x7fffffff
jbe 0x1000ae431
mov edi, 0x80070057
cmp edi, ebx
jl 0x1000ae47e
mov rcx, rbp
mov edi, ebx
cmp rdx, rbx
je 0x1000ae472
mov r8d, 0x7ffffffe
sub r8, rdx
mov r9, rsi
sub r9, rbp
lea rax, [r8 + rdx]
cmp rax, rbx
je 0x1000ae46d
movzx eax, word [r9 + rcx]
cmp ax, bx
je 0x1000ae46d
mov word [rcx], ax
add rcx, 2
sub rdx, r13
jne 0x1000ae44e
cmp rdx, rbx
jne 0x1000ae47b
sub rcx, 2
mov edi, 0x8007007a
mov word [rcx], bx
mov dword [rsp + 0xe8], edi
cmp edi, ebx
jge 0x1000ae538
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
lea rax, [0x10001e100]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0xbc7
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, [0x100021a08]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000eac7c
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e826c
nop
jmp 0x1000ae82e
lea rax, [0x100008430]
mov qword [rsp + 0x20], rax
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e826c
nop
mov bl, r13b
jmp 0x1000ae82e
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 0x1000ae64c
mov qword [rsp + 0x30], r15
lea r14, [0x100021950]
mov qword [rsp + 0x38], r14
lea rax, [0x10001e100]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0xbd4
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, [0x100021a38]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8e14
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e826c
nop
jmp 0x1000ae82e
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, [0x100021950]
mov qword [rsp + 0x38], r14
lea rsi, [0x10001e100]
mov qword [rsp + 0x40], rsi
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, [rax + 0x78]
lea rcx, [rsp + 0x58]
call sub.msvcrt.dll_memset
mov r9, rdi
lea r8, [0x100021a70]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8e14
mov r8d, r12d
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp eax, ebx
jne 0x1000ae796
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], 0xbe1
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, [0x100021a90]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8e14
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e826c
nop
jmp 0x1000ae82e
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], 0xbe7
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, [0x1000219e0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e8e14
lea rax, [0x100008430]
mov qword [rsp + 0x20], rax
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e826c
nop
mov bl, r13b
lea rcx, [rsp + 0xe0]
call fcn.1000e7d24
mov al, bl
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.1001303c0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret