Function at 0x1000ae790
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, [0x10001e260]
mov qword [rsp + 0x30], r15
lea r14, [0x100021a90]
mov qword [rsp + 0x38], r14
lea rdi, [0x10001e240]
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.1000e842c
nop
lea rcx, [rsp + 0x158]
mov rax, qword [0x100021ae8]
mov qword [rcx], rax
movzx eax, word [0x100021af0]
mov word [rcx + 8], ax
cmp rsi, rbx
jne 0x1000ae91c
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, [0x100021af8]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e9608
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8a60
nop
lea rcx, [rsp + 0xe0]
call fcn.1000e8518
xor al, al
jmp 0x1000aedc9
mov r8d, AtlModuleInit
lea rdx, [0x100005408]
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
jne 0x1000aeafa
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, [0x100021b20]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e9608
mov rdx, r12
shr rdx, 1
mov edi, ebx
je 0x1000ae9b8
cmp rdx, 0x7fffffff
jbe 0x1000ae9bd
mov edi, 0x80070057
cmp edi, ebx
jl 0x1000aea0a
mov rcx, rbp
mov edi, ebx
cmp rdx, rbx
je 0x1000ae9fe
mov r8d, 0x7ffffffe
sub r8, rdx
mov r9, rsi
sub r9, rbp
lea rax, [r8 + rdx]
cmp rax, rbx
je 0x1000ae9f9
movzx eax, word [r9 + rcx]
cmp ax, bx
je 0x1000ae9f9
mov word [rcx], ax
add rcx, 2
sub rdx, r13
jne 0x1000ae9da
cmp rdx, rbx
jne 0x1000aea07
sub rcx, 2
mov edi, 0x8007007a
mov word [rcx], bx
mov dword [rsp + 0xe8], edi
cmp edi, ebx
jge 0x1000aeac4
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
lea rax, [0x10001e240]
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, [0x100021b48]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000eb470
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8a60
nop
jmp 0x1000aedba
lea rax, [0x100008430]
mov qword [rsp + 0x20], rax
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8a60
nop
mov bl, r13b
jmp 0x1000aedba
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 0x1000aebd8
mov qword [rsp + 0x30], r15
lea r14, [0x100021a90]
mov qword [rsp + 0x38], r14
lea rax, [0x10001e240]
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, [0x100021b78]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e9608
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8a60
nop
jmp 0x1000aedba
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, [0x100021a90]
mov qword [rsp + 0x38], r14
lea rsi, [0x10001e240]
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, [0x100021bb0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e9608
mov r8d, r12d
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp eax, ebx
jne 0x1000aed22
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, [0x100021bd0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e9608
lea rdx, [0x100008440]
mov qword [rsp + 0x20], rdx
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8a60
nop
jmp 0x1000aedba
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, [0x100021b20]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.1000e9608
lea rax, [0x100008430]
mov qword [rsp + 0x20], rax
lea r9, [0x100008450]
mov r8d, 0xaa
lea rdx, [0x100008420]
lea rcx, [rsp + 0xe0]
call fcn.1000e8a60
nop
mov bl, r13b
lea rcx, [rsp + 0xe0]
call fcn.1000e8518
mov al, bl
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.100130df0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret