Function at 0x14011aaa8
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r12, rdx
mov rdi, rcx
mov rcx, qword [0x1401782b0]
lea r14, [0x1401782b0]
cmp rcx, r14
je 0x14011aaf7
test byte [rcx + 0x1c], 1
je 0x14011aaf7
cmp byte [rcx + 0x19], 4
jb 0x14011aaf7
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
mov edx, 0x97
call fcn.140004c6c
xor esi, esi
test rdi, rdi
jne 0x14011ab16
lea r8, str.wszVHDVolumeDevicePath
mov edx, 0xb4b
lea rcx, str.base_stor_blbengine_blbengutils_blbvhdhelper.cpp
call fcn.14008624c
test r12, r12
jne 0x14011ab33
lea r8, str.pbCompactionRequired
mov edx, 0xb4c
lea rcx, str.base_stor_blbengine_blbengutils_blbvhdhelper.cpp
call fcn.14008624c
lea r9, [rbp + 0x50]
mov dword [rbp + 0x40], esi
lea r8, [rbp + 0x58]
mov dword [rbp + 0x48], esi
lea rdx, [rbp + 0x48]
mov dword [rbp + 0x58], esi
lea rcx, [rbp + 0x40]
mov dword [rbp + 0x50], esi
mov dword [rbp - 0x20], esi
mov r15b, sil
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x30], rsi
mov byte [r12], sil
call fcn.14012d67c
mov ebx, eax
test eax, eax
jns 0x14011abad
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14011af0b
test byte [rcx + 0x1c], 1
je 0x14011aee5
cmp byte [rcx + 0x19], 2
jb 0x14011aee5
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
mov edx, 0x98
mov r9d, eax
call fcn.140004c90
jmp 0x14011aede
cmp dword [rbp + 0x40], esi
je 0x14011abf0
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14011af0b
test byte [rcx + 0x1c], 1
je 0x14011aee5
cmp byte [rcx + 0x19], 4
jb 0x14011aee5
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
mov edx, 0x99
call fcn.140004c6c
jmp 0x14011aede
cmp dword [rbp + 0x48], esi
je 0x14011ac33
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14011ac29
test byte [rcx + 0x1c], 1
je 0x14011ac29
cmp byte [rcx + 0x19], 4
jb 0x14011ac29
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
mov edx, 0x9a
call fcn.140004c6c
mov rcx, qword [0x1401782b0]
mov byte [r12], 1
jmp 0x14011aee5
lea r8, [rbp - 0x30]
mov rcx, rdi
lea rdx, [0x14014d7b8]
call fcn.140087120
mov ebx, eax
test eax, eax
jns 0x14011ac7a
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14011aece
test byte [rcx + 0x1c], 1
je 0x14011aece
cmp byte [rcx + 0x19], 2
jb 0x14011aece
mov edx, 0x9b
jmp 0x14011ad39
mov rcx, qword [rbp - 0x30]
lea r9, [rbp - 8]
lea r8, [rbp - 0x18]
mov qword [rbp + 0x48], rsi
lea rdx, [rbp - 0x10]
mov qword [rbp + 0x40], rsi
mov r14, rsi
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x14011acac
mov rcx, qword [rbp - 0x30]
call fcn.140133a1c
mov ebx, eax
jmp 0x14011acbe
mov r14, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x40], rax
mov ebx, esi
test ebx, ebx
jns 0x14011acf7
mov rcx, qword [0x1401782b0]
lea r14, [0x1401782b0]
cmp rcx, r14
je 0x14011aece
test byte [rcx + 0x1c], 1
je 0x14011aece
cmp byte [rcx + 0x19], 2
jb 0x14011aece
mov edx, 0x9c
mov r9d, ebx
jmp 0x14011ad3c
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14011af28
mov ebx, eax
test eax, eax
jns 0x14011ad58
mov rcx, qword [0x1401782b0]
lea r14, [0x1401782b0]
cmp rcx, r14
je 0x14011aece
test byte [rcx + 0x1c], 1
je 0x14011aece
cmp byte [rcx + 0x19], 2
jb 0x14011aece
mov edx, LoadRegTypeLib
mov r9d, eax
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
call fcn.140004c90
mov rcx, qword [0x1401782b0]
jmp 0x14011aece
mov rcx, qword [0x1401782b0]
lea r8, [0x1401782b0]
mov rsi, qword [rbp - 0x28]
cmp rcx, r8
je 0x14011ada1
test byte [rcx + 0x1c], 1
je 0x14011ada1
cmp byte [rcx + 0x19], 4
jb 0x14011ada1
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
mov edx, LoadRegTypeLib
mov r9, rsi
call fcn.140010678
mov rcx, qword [0x1401782b0]
lea r8, [0x1401782b0]
mov rdx, qword [rbp + 0x40]
sub r14, rdx
cmp rsi, r14
jb 0x14011aec5
mov eax, dword [rbp + 0x50]
mov rdi, rsi
sub rdi, r14
shl rax, 0x1e
cmp rdi, rax
jb 0x14011ade7
cmp rcx, r8
je 0x14011ae63
test byte [rcx + 0x1c], 1
je 0x14011ae63
cmp byte [rcx + 0x19], 4
jb 0x14011ae63
mov edx, LoadRegTypeLib
jmp 0x14011ae41
movsd xmm2, qword [0x1401638b8]
xorps xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x14011ae00
addsd xmm0, xmm2
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
test rsi, rsi
jns 0x14011ae11
addsd xmm1, xmm2
divsd xmm0, xmm1
mulsd xmm0, qword [0x1401638a8]
cvttsd2si rax, xmm0
mov qword [rbp - 0x20], rax
cmp eax, dword [rbp + 0x58]
jb 0x14011ae66
cmp rcx, r8
je 0x14011ae63
test byte [rcx + 0x1c], 1
je 0x14011ae63
cmp byte [rcx + 0x19], 4
jb 0x14011ae63
mov edx, LoadRegTypeLib
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
call fcn.140004c6c
mov rcx, qword [0x1401782b0]
lea r8, [0x1401782b0]
mov rdx, qword [rbp + 0x40]
mov r15b, 1
cmp rcx, r8
je 0x14011aec1
test byte [rcx + 0x1c], 1
je 0x14011aec1
cmp byte [rcx + 0x19], 4
jb 0x14011aec1
mov rcx, qword [rcx + 0x10]
lea rax, str.TRUE
test r15b, r15b
lea r9, str.FALSE
cmovne r9, rax
mov rax, qword [rbp - 0x20]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call fcn.1401164d4
mov rcx, qword [0x1401782b0]
mov byte [r12], r15b
lea r14, [0x1401782b0]
xor esi, esi
cmp qword [rbp - 0x30], rsi
je 0x14011aee5
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14011af0b
test byte [rcx + 0x1c], 1
je 0x14011af0b
cmp byte [rcx + 0x19], 4
jb 0x14011af0b
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015fe50]
mov edx, QueryPathOfRegTypeLib
call fcn.140004c6c
mov eax, ebx
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret