Function at 0x100120a08
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 [0x100176150]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rdi, rcx
xor ebx, ebx
lea rcx, [0x1000449c0]
mov r13, r8
mov r15, rdx
lea esi, [rbx + 1]
call fcn.10011cf34
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 0x100120b17
lea r9d, [rbx + 0x57]
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea edx, [r14 + 0x1c]
lea rax, [0x1000436a8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.100106f14
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, [0x1000449c0]
call fcn.10011cf74
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.100130df0
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 0x100120b58
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea edx, [r9 - 0x3a]
lea rax, [0x100042a10]
jmp 0x100120a9e
cmp r13, rbx
jne 0x100120b99
mov r9d, 0x57
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea edx, [r9 - 0x39]
lea rax, [0x100044a08]
jmp 0x100120a9e
mov qword [r15], rbx
lea rdx, [0x100021ae8]
mov r8d, 4
mov rcx, rdi
mov qword [r13], rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
cmp eax, ebx
je 0x100120c0d
lea rcx, [0x100021ae8]
mov rdx, rdi
call fcn.10011d4c0
mov r14, rax
cmp rax, rbx
jne 0x100120c4f
mov r9d, AtlModuleInit
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea edx, [r9 + 0x11]
lea rax, [0x100044a20]
jmp 0x100120a9e
mov rcx, rdi
call fcn.10011d430
mov r14, rax
cmp rax, rbx
jne 0x100120c4f
mov r9d, AtlModuleInit
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea edx, [r9 + 0x12]
jmp 0x100120c01
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.10011d3f0
mov r12, rax
cmp rax, rbx
jne 0x100120cb1
mov r9d, AtlModuleInit
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea edx, [r9 + 0x13]
lea rax, [0x100044a40]
jmp 0x100120a9e
mov r8d, ebp
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
cmp eax, ebx
jne 0x100120d10
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x22
mov r9d, eax
lea rax, [0x100044a60]
mov rcx, qword [0x100177368]
jmp 0x100120a9e
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 0x100120db4
lea r8, [0x1000021a0]
mov edx, ebp
mov rcx, r12
mov edi, ebp
call fcn.1000527c4
cmp eax, ebx
jge 0x100120db4
mov ecx, eax
mov esi, ebx
call fcn.10011cfdc
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
lea r8, [0x1000021a0]
mov rdx, rdi
mov rcx, r12
call fcn.1000527c4
mov rcx, qword [0x100177368]
lea r8, [0x100002d20]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x100044ab8]
mov edx, 0x23
mov qword [rsp + 0x20], rax
call fcn.100106f14
jmp 0x100120ab3
lea rdx, [rsp + 0x40]
mov r8d, 0x104
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, ebx
jne 0x100120e11
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120ab3
test byte [rcx + 0x1c], 8
je 0x100120ab3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x24
mov r9d, eax
lea rax, [0x100044b00]
jmp 0x100120d04
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 0x100120e35
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 0x100120e53
mov word [r12 + rcx*2 - 2], bx
lea rcx, [rsp + 0x40]
call fcn.10011d430
mov qword [rsp + 0x30], rax
cmp rax, rbx
jne 0x100120e98
mov r9d, AtlModuleInit
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120efb
test byte [rcx + 0x1c], 8
je 0x100120efb
lea edx, [r9 + 0x17]
lea rax, [0x100044b70]
jmp 0x100120ee6
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.10011d430
cmp rax, rbx
jne 0x100120f05
mov r9d, AtlModuleInit
mov esi, ebx
mov ebx, r9d
mov rcx, qword [0x100177368]
lea rax, [0x100177368]
cmp rcx, rax
je 0x100120efb
test byte [rcx + 0x1c], 8
je 0x100120efb
lea edx, [r9 + 0x18]
lea rax, [0x100044b80]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002d20]
mov qword [rsp + 0x20], rax
call fcn.100106f14
mov rcx, qword [rsp + 0x30]
jmp 0x100120ab6
mov rcx, qword [rsp + 0x30]
mov qword [r13], rax
mov qword [r15], rcx
mov rcx, rbx
jmp 0x100120ab6