Function at 0x100120000
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov rax, qword [0x100175150]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rdi, rcx
xor ebx, ebx
lea rcx, [0x100044700]
mov r13, r8
mov r15, rdx
lea esi, [rbx + 1]
call fcn.10011c52c
lea rcx, [rsp + 0x42]
xor edx, edx
mov r8d, 0x206
mov r12, rbx
mov word [rsp + 0x40], bx
call sub.msvcrt.dll_memset
mov r14, rbx
cmp r15, rbx
jne 0x10012010f
lea r9d, [rbx + 0x57]
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea edx, [r14 + 0x1c]
lea rax, [0x1000433e8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.1001062ec
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rcx, [0x100044700]
call fcn.10011c56c
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1001303c0
mov rbx, qword [rsp + 0x2b8]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp rdi, rbx
jne 0x100120150
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea edx, [r9 - 0x3a]
lea rax, [0x100042750]
jmp 0x100120096
cmp r13, rbx
jne 0x100120191
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea edx, [r9 - 0x39]
lea rax, [0x100044748]
jmp 0x100120096
mov qword [r15], rbx
lea rdx, [0x1000219a8]
mov r8d, 4
mov rcx, rdi
mov qword [r13], rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
je 0x100120205
lea rcx, [0x1000219a8]
mov rdx, rdi
call fcn.10011cab8
mov r14, rax
cmp rax, rbx
jne 0x100120247
mov r9d, 0xe
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea edx, [r9 + 0x11]
lea rax, [0x100044760]
jmp 0x100120096
mov rcx, rdi
call fcn.10011ca28
mov r14, rax
cmp rax, rbx
jne 0x100120247
mov r9d, 0xe
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea edx, [r9 + 0x12]
jmp 0x1001201f9
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r14
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
lea ebp, [rcx + 2]
lea ecx, [rbp + rbp]
call fcn.10011c9e8
mov r12, rax
cmp rax, rbx
jne 0x1001202a9
mov r9d, 0xe
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea edx, [r9 + 0x13]
lea rax, [0x100044780]
jmp 0x100120096
mov r8d, ebp
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
cmp eax, ebx
jne 0x100120308
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x22
mov r9d, eax
lea rax, [0x1000447a0]
mov rcx, qword [0x100176368]
jmp 0x100120096
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
cmp word [r12 + rcx*2 - 2], 0x5c
je 0x1001203ac
lea r8, [0x1000021a0]
mov edx, ebp
mov rcx, r12
mov edi, ebp
call fcn.1000524c4
cmp eax, ebx
jge 0x1001203ac
mov ecx, eax
mov esi, ebx
call fcn.10011c5d4
mov ebx, eax
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
lea r8, [0x1000021a0]
mov rdx, rdi
mov rcx, r12
call fcn.1000524c4
mov rcx, qword [0x100176368]
lea r8, [0x100002d20]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x1000447f8]
mov edx, 0x23
mov qword [rsp + 0x20], rax
call fcn.1001062ec
jmp 0x1001200ab
lea rdx, [rsp + 0x40]
mov r8d, 0x104
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, ebx
jne 0x100120409
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001200ab
test byte [rcx + 0x1c], 8
je 0x1001200ab
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x24
mov r9d, eax
lea rax, [0x100044840]
jmp 0x1001202fc
or rbp, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
mov rcx, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
cmp word [rsp + rcx*2 + 0x3e], 0x5c
jne 0x10012042d
mov word [rsp + rcx*2 + 0x3e], bx
mov rcx, rbp
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
cmp word [r12 + rcx*2 - 2], 0x5c
jne 0x10012044b
mov word [r12 + rcx*2 - 2], bx
lea rcx, [rsp + 0x40]
call fcn.10011ca28
mov qword [rsp + 0x30], rax
cmp rax, rbx
jne 0x100120490
mov r9d, 0xe
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001204f3
test byte [rcx + 0x1c], 8
je 0x1001204f3
lea edx, [r9 + 0x17]
lea rax, [0x1000448b0]
jmp 0x1001204de
xor eax, eax
mov rcx, rbp
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
lea rcx, [r14 + rcx*2]
call fcn.10011ca28
cmp rax, rbx
jne 0x1001204fd
mov r9d, 0xe
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100176368]
lea rax, [0x100176368]
cmp rcx, rax
je 0x1001204f3
test byte [rcx + 0x1c], 8
je 0x1001204f3
lea edx, [r9 + 0x18]
lea rax, [0x1000448c0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.1001062ec
mov rcx, qword [rsp + 0x30]
jmp 0x1001200ae
mov rcx, qword [rsp + 0x30]
mov qword [r13], rax
mov qword [r15], rcx
mov rcx, rbx
jmp 0x1001200ae