Function at 0x1001132d4
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, 0x500
mov rax, qword [0x100176150]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
mov r12d, ecx
mov dword [rsp + 0x40], ecx
xor r14d, r14d
lea rcx, [0x100041ca0]
mov rdi, r8
mov qword [rsp + 0x98], r8
mov r13, rdx
mov qword [rsp + 0x60], rdx
mov esi, r14d
lea ebx, [r14 + 1]
call fcn.10011c978
mov ebp, 0x206
lea rcx, [rsp + 0xd2]
xor edx, edx
mov r8, rbp
mov qword [rsp + 0x70], r14
mov word [rsp + 0xd0], r14w
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x2e2]
mov r8, rbp
xor edx, edx
mov word [rsp + 0x2e0], r14w
call sub.msvcrt.dll_memset
lea r8d, [r14 + 0x26]
lea rcx, [rsp + 0xa2]
xor edx, edx
mov word [rsp + 0xa0], r14w
call sub.msvcrt.dll_memset
or qword [rsp + 0x90], 0xffffffffffffffff
xor ecx, ecx
or eax, 0xffffffff
or r15, 0xffffffffffffffff
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x58], eax
cmp rdi, rcx
je 0x1001133c4
mov qword [rdi], rcx
cmp r13, rcx
jne 0x10011341a
mov r9d, 0x57
mov ebx, ecx
mov esi, r9d
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x100113df1
test byte [rcx + 0x1c], 8
je 0x100113df1
lea edx, [r9 - 0x3b]
lea rax, [0x100041cd8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x100113df1
cmp rdi, rcx
jne 0x100113458
mov r9d, 0x57
mov ebx, ecx
mov esi, r9d
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x100113df1
test byte [rcx + 0x1c], 8
je 0x100113df1
lea edx, [r9 - 0x3a]
lea rax, [0x100041ce8]
jmp 0x100113400
cmp dword [r13 + 4], ecx
je 0x100113df1
lea rax, [rsp + 0x68]
mov qword [rsp + 0x68], rcx
lea rdx, [0x1000418e0]
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x68]
xor edx, edx
cmp eax, edx
mov edi, edx
sete dil
cmp rcx, rdx
je 0x1001134b0
cmp rcx, 0xffffffffffffffff
je 0x1001134b0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edx, edx
cmp edi, edx
je 0x1001134f0
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x1001134e9
mov r13d, 2
test byte [rcx + 0x1c], r13b
je 0x1001134e9
mov rcx, qword [rcx + 0x10]
lea edx, [r13 + 0x1c]
lea r8, [0x1000039c0]
call fcn.100106724
xor edx, edx
mov esi, edx
jmp 0x100113df1
call fcn.100117680
xor edi, edi
movsxd rbp, eax
cmp ebp, edi
jne 0x10011353a
mov ebx, edi
mov esi, 0x65e
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x100113df1
test byte [rcx + 0x1c], 8
je 0x100113df1
mov edx, 0x1f
lea rax, [0x100041d00]
mov r9d, esi
jmp 0x100113400
cmp ebp, ebx
jne 0x100113598
lea rcx, [rsp + 0x78]
call fcn.100112cb8
cmp eax, edi
jne 0x100113598
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
lea rdi, [0x100177368]
cmp rax, rdi
je 0x100113df1
test byte [rax + 0x1c], 8
je 0x100113df1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov r9d, eax
lea rax, [0x100041d18]
mov rcx, qword [0x100177368]
jmp 0x100113400
lea rcx, [rsp + 0x2e0]
mov edx, 0x104
call fcn.100112e8c
cmp eax, edi
jne 0x1001135f0
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
lea rdi, [0x100177368]
cmp rax, rdi
je 0x100113df1
test byte [rax + 0x1c], 8
je 0x100113df1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x21
mov r9d, eax
lea rax, [0x100041d50]
jmp 0x10011358c
mov eax, 3
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2e0]
xor r9d, r9d
mov edx, 0x80000000
mov r8d, eax
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x90], rax
cmp rax, rdi
je 0x100113db2
cmp rax, 0xffffffffffffffff
je 0x100113db2
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x28], rdi
xor r9d, r9d
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov edx, 0x560000
mov rcx, rax
call fcn.10011d558
cmp eax, edi
jne 0x1001136a8
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
lea rdi, [0x100177368]
cmp rax, rdi
je 0x100113df1
test byte [rax + 0x1c], 8
je 0x100113df1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x23
mov r9d, eax
lea rax, [0x100041db0]
jmp 0x10011358c
lea rcx, [rsp + 0x48]
call fcn.10011fd94
cmp eax, edi
jne 0x100113714
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
lea rdi, [0x100177368]
cmp rax, rdi
je 0x10011370a
test byte [rax + 0x1c], 8
je 0x10011370a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x24
mov r9d, eax
lea rax, [0x100041e28]
mov rcx, qword [0x100177368]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r14, qword [rsp + 0x48]
jmp 0x100113df1
mov r10, qword [rsp + 0x48]
cmp word [r10], di
je 0x100113742
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r10
repne scasw ax, word [rdi]
xor edi, edi
not rcx
sub rcx, rbx
cmp word [r10 + rcx*2 - 2], 0x5c
jne 0x100113742
mov word [r10 + rcx*2 - 2], di
mov r8d, 3
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov edx, 0x80000000
mov rcx, r10
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
mov qword [rsp + 0x50], rax
cmp rax, rdi
je 0x100113d66
cmp rax, 0xffffffffffffffff
je 0x100113d66
lea rax, [rsp + 0x88]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x560000
mov rcx, r15
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.10011d558
cmp eax, edi
jne 0x1001137f4
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
lea rdi, [0x100177368]
cmp rax, rdi
je 0x10011370a
test byte [rax + 0x1c], 8
je 0x10011370a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x26
mov r9d, eax
lea rax, [0x100041e70]
jmp 0x1001136ee
mov eax, dword [r13 + 4]
lea ecx, [rax + rax*2]
shl ecx, 3
call fcn.10011ce34
xor r11d, r11d
mov rcx, rax
mov qword [rsp + 0x70], rax
cmp rax, r11
jne 0x10011384d
mov ebx, r11d
lea esi, [r11 + 0xe]
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x10011370a
test byte [rcx + 0x1c], 8
je 0x10011370a
lea edx, [rsi + 0x19]
lea rax, [0x100041ee0]
mov r9d, esi
jmp 0x1001136f5
mov r15d, r11d
mov r9, rbp
mov qword [rsp + 0x68], rbp
cmp dword [r13 + 4], r11d
jbe 0x100113bea
lea r14, [rax + 0xc]
mov rax, qword [rsp + 0x60]
lea rbp, [r13 + 0x50]
mov r13d, 2
lea rdi, [0x100177368]
lea rcx, [0x100000000]
mov dword [r14 - 4], r15d
cmp dword [rbp - 8], r11d
je 0x100113bcd
cmp dword [rbp - 0x20], r11d
jne 0x1001138b3
mov al, byte [rbp]
cmp al, r11b
je 0x100113bc8
cmp al, 5
je 0x100113bc8
cmp al, 0xf
je 0x100113bc8
cmp dword [rbp - 0x20], ebx
jne 0x1001138e5
mov rdx, qword [rbp]
lea rcx, [rcx + 0x35880]
cmp rdx, qword [rcx]
jne 0x1001138d7
mov rdx, qword [rbp + 8]
cmp rdx, qword [rcx + 8]
jne 0x1001138d7
mov eax, r11d
jmp 0x1001138dc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, r11d
je 0x100113bc1
mov rcx, qword [rsp + 0x80]
mov edx, r11d
mov r8d, dword [rcx]
cmp r8d, r11d
jbe 0x10011394e
add rcx, 0x10
cmp dword [rcx - 8], r12d
jne 0x10011390b
mov rax, qword [rbp - 0x18]
cmp qword [rcx], rax
je 0x100113918
add edx, ebx
add rcx, 0x18
cmp edx, r8d
jae 0x10011394e
jmp 0x1001138fc
movzx eax, word [r14]
or ax, r13w
mov word [r14], ax
cmp r9, rbx
jne 0x100113930
cmp dword [rsp + 0x78], r12d
je 0x100113935
cmp r9, r13
jne 0x10011394e
or ax, 4
mov word [r14], ax
cmp r9, r13
jne 0x10011394e
mov eax, dword [rbp - 8]
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x58], eax
mov rcx, qword [rsp + 0x88]
mov edx, r11d
mov r8d, dword [rcx]
cmp r8d, r11d
jbe 0x100113985
add rcx, 0x10
cmp dword [rcx - 8], r12d
jne 0x100113974
mov rax, qword [rbp - 0x18]
cmp qword [rcx], rax
je 0x100113981
add edx, ebx
add rcx, 0x18
cmp edx, r8d
jae 0x100113985
jmp 0x100113965
or word [r14], bx
mov edx, dword [rbp - 8]
lea r9, [rsp + 0xd0]
xor r8d, r8d
mov ecx, r12d
mov dword [rsp + 0x20], 0x104
call fcn.10011e084
xor r12d, r12d
cmp eax, r12d
je 0x100113d09
mov eax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x70]
lea r12, [rax + rcx*8]
lea rcx, [rsp + 0xd0]
mov rdx, r12
call fcn.100120c58
xor r11d, r11d
cmp eax, r11d
jne 0x100113a08
mov r10, qword [0x100177368]
cmp r10, rdi
je 0x100113a0f
test byte [r10 + 0x1c], r13b
je 0x100113a0f
mov rcx, qword [r10 + 0x10]
lea edx, [r11 + 0x29]
lea r9, [rsp + 0xd0]
lea r8, [0x1000039c0]
call fcn.10010683c
xor r11d, r11d
mov r10, qword [0x100177368]
mov r9, qword [rsp + 0x68]
cmp r9, r13
jne 0x100113bbc
cmp dword [rbp - 0x20], ebx
jne 0x100113a52
mov rdx, qword [rbp]
lea rcx, [0x100000000]
lea rcx, [rcx + 0x35890]
cmp rdx, qword [rcx]
jne 0x100113a48
mov rdx, qword [rbp + 8]
cmp rdx, qword [rcx + 8]
jne 0x100113a48
mov eax, r11d
jmp 0x100113a4d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, r11d
je 0x100113a6f
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x5c]
cmp ecx, eax
jne 0x100113a67
mov edx, dword [rsp + 0x58]
cmp dword [rbp - 8], edx
je 0x100113a7b
mov r12d, ecx
jmp 0x100113bc1
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
cmp ecx, eax
jne 0x100113a84
cmp dword [rbp - 8], edx
je 0x100113ab3
cmp r10, rdi
je 0x100113ab3
test byte [r10 + 0x1c], 4
je 0x100113ab3
mov eax, dword [rbp - 8]
mov r9d, ecx
mov rcx, qword [r10 + 0x10]
lea r8, [0x1000039c0]
mov edx, 0x2a
mov dword [rsp + 0x20], eax
call fcn.1001068bc
mov ecx, dword [rsp + 0x40]
mov eax, dword [rbp - 8]
lea r9, [0x100041f68]
lea r8, [0x100041f90]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0xd0]
mov edx, 0x104
call fcn.1000526f0
xor ecx, ecx
cmp eax, ecx
jl 0x100113c8d
mov dword [rsp + 0x38], 0x14
mov byte [r14 + 2], cl
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov word [rsp + 0xa0], cx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xd0]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
xor r11d, r11d
cmp eax, r11d
jne 0x100113b99
mov rax, qword [0x100177368]
cmp rax, rdi
je 0x100113b7d
test byte [rax + 0x1c], 4
je 0x100113b7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
mov r12d, dword [rsp + 0x40]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 8]
lea r8, [0x1000039c0]
mov edx, 0x2c
mov r9d, r12d
mov dword [rsp + 0x20], eax
call fcn.100112b68
xor r11d, r11d
jmp 0x100113b82
mov r12d, dword [rsp + 0x40]
cmp r12d, dword [rsp + 0x5c]
jne 0x100113b92
mov eax, dword [rsp + 0x58]
cmp dword [rbp - 8], eax
je 0x100113bfc
mov r9, qword [rsp + 0x68]
jmp 0x100113bc1
lea rdx, [r12 + 0xe]
lea rcx, [rsp + 0xa0]
call fcn.10012ed9c
xor r11d, r11d
cmp eax, r11d
je 0x100113c59
mov r9, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x40]
lea rcx, [0x100000000]
mov rax, qword [rsp + 0x60]
add r15d, ebx
add rbp, 0x90
add r14, 0x18
cmp r15d, dword [rax + 4]
jb 0x100113883
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], r11
mov qword [rax], rcx
jmp 0x100113c4a
mov ebx, r11d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
cmp rax, rdi
je 0x100113c4a
test byte [rax + 0x1c], 8
je 0x100113c4a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x2d
mov r9d, eax
lea rax, [0x10003f708]
mov rcx, qword [0x100177368]
lea r8, [0x1000039c0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx + 0x10]
call fcn.100106904
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
jmp 0x100113df1
mov ebx, r11d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
cmp rax, rdi
je 0x100113c4a
test byte [rax + 0x1c], 8
je 0x100113c4a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x2e
mov r9d, eax
lea rax, [0x100042090]
jmp 0x100113c2e
mov ebx, ecx
mov ecx, eax
call fcn.10011ca20
mov esi, eax
mov rax, qword [0x100177368]
cmp rax, rdi
je 0x100113c4a
test byte [rax + 0x1c], 8
je 0x100113c4a
mov eax, dword [rbp - 8]
lea r9, [0x100041f68]
lea r8, [0x100041f90]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0xd0]
mov edx, 0x104
mov dword [rsp + 0x20], eax
call fcn.1000526f0
mov rcx, qword [0x100177368]
lea r8, [0x1000039c0]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x100041fe0]
mov edx, 0x2b
mov qword [rsp + 0x20], rax
call fcn.100106904
jmp 0x100113c4a
mov ebx, r12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [0x100177368]
cmp rax, rdi
je 0x100113d57
test byte [rax + 0x1c], 8
je 0x100113d57
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x100177368]
lea r8, [0x1000039c0]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
lea rax, [0x100041ef0]
mov edx, 0x28
mov qword [rsp + 0x20], rax
call fcn.100106904
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
jmp 0x100113df4
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x10011370a
test byte [rcx + 0x1c], 8
je 0x10011370a
mov rcx, qword [rcx + 0x10]
lea r9, [0x100041e58]
lea r8, [0x1000039c0]
mov edx, 0x25
call fcn.100109c98
jmp 0x10011370a
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [0x100177368]
lea rdi, [0x100177368]
cmp rcx, rdi
je 0x100113df1
test byte [rcx + 0x1c], 8
je 0x100113df1
mov rcx, qword [rcx + 0x10]
lea r9, [0x100041da0]
lea r8, [0x1000039c0]
mov edx, 0x22
call fcn.100109c98
xor r12d, r12d
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, qword [rsp + 0x90]
cmp rax, r12
je 0x100113e40
cmp rax, 0xffffffffffffffff
je 0x100113e40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r15, r12
je 0x100113e54
cmp r15, 0xffffffffffffffff
je 0x100113e54
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x100041ca0]
call fcn.10011c9b8
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.100130830
mov rbx, qword [rsp + 0x558]
add rsp, 0x500
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret