Function at 0x140110ea4
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140172608]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r15, rdx
mov rsi, rcx
test rdx, rdx
jg 0x140110f01
lea r8, str.llSpaceRequired___0
mov edx, 0x10d6
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
lea rax, [0x1401720a0]
mov r13d, 1
mov rcx, qword [0x1401720a0]
cmp rcx, rax
je 0x140110f3b
test byte [rcx + 0x1c], r13b
je 0x140110f3b
cmp byte [rcx + 0x19], 4
jb 0x140110f3b
mov edx, reloc.OLEAUT32.dll_DllRegisterServer
lea r8, [0x140159630]
mov rcx, qword [rcx + 0x10]
call fcn.140004b74
and qword [rsp + 0x40], 0
and qword [rsp + 0x50], 0
and dword [rsp + 0x48], 0
and dword [rbp - 0x78], 0
xor r14d, r14d
movups xmm0, xmmword [0x14015b8f8]
movdqu xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
and qword [rsp + 0x68], r14
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0xa
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x10]
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x40]
call qword [sym.imp.VSSAPI.DLL_CreateVssBackupComponentsInternal]
mov ebx, eax
test eax, eax
jns 0x140110fea
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, 0x97
mov r9d, eax
lea r8, [0x140159630]
mov rcx, qword [rcx + 0x10]
call fcn.140004b98
jmp 0x140111509
lea rdi, str.sdkinc_atlmfc_atlcomcli.h
mov rcx, qword [rsp + 0x40]
test rcx, rcx
jne 0x140111014
lea r8, str.p_0
mov edx, 0x9a
mov rcx, rdi
call fcn.14008410c
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
xor edx, edx
mov rax, qword [rax + 0x28]
call qword [case.0x1400059ff.0]
mov ebx, eax
test eax, eax
jns 0x14011105e
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, 0x98
jmp 0x140110fd2
mov rcx, qword [rsp + 0x40]
test rcx, rcx
jne 0x140111081
lea r8, str.p_0
mov edx, 0x9a
mov rcx, rdi
call fcn.14008410c
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
or edx, 0xffffffff
mov rax, qword [rax + 0x118]
call qword [case.0x1400059ff.0]
mov ebx, eax
test eax, eax
jns 0x1401110cf
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, 0x99
jmp 0x140110fd2
movups xmm0, xmmword [0x14015b8f8]
movdqu xmmword [rbp - 0x40], xmm0
mov rbx, qword [rsp + 0x40]
test rbx, rbx
jne 0x1401110fe
lea r8, str.p_0
mov edx, 0x9a
mov rcx, rdi
call fcn.14008410c
mov rbx, qword [rsp + 0x40]
cmp qword [rsp + 0x50], 0
je 0x14011111a
lea r8, str.p0
mov edx, reloc.OLEAUT32.dll_SysAllocStringByteLen
mov rcx, rdi
call fcn.14008410c
mov rax, qword [rbx]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
mov r9d, 3
mov r8d, r13d
lea rdx, [rbp - 0x40]
mov rcx, rbx
mov rax, qword [rax + 0x158]
call qword [case.0x1400059ff.0]
mov ebx, eax
test eax, eax
jns 0x14011117f
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, 0x9a
jmp 0x140110fd2
lea rcx, [rbp - 8]
call qword [sym.imp.VSSAPI.DLL_VssFreeSnapshotPropertiesInternal]
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x10]
call sub.msvcrt.dll_memset
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x1401111bd
lea r8, str.p_0
mov edx, 0x9a
mov rcx, rdi
call fcn.14008410c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x10]
mov edx, r13d
mov rax, qword [rax + 0x18]
call qword [case.0x1400059ff.0]
mov ebx, eax
test eax, eax
js 0x1401114d9
cmp eax, r13d
je 0x140111336
mov rdx, rsi
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x14011117f
movups xmm0, xmmword [rbp - 8]
movdqu xmmword [rbp - 0x70], xmm0
mov r8, qword [rbp + 0x68]
mov qword [rbp - 0x60], r8
mov ecx, dword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
test ecx, ecx
jne 0x140111223
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x58]
jmp 0x14011129b
mov rbx, r9
xor edx, edx
test ecx, ecx
je 0x140111261
xor eax, eax
test rbx, rbx
setne al
test eax, eax
je 0x140111313
mov rax, rbx
mov rbx, qword [rbx]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm0
movsd xmm1, qword [rax + 0x20]
movsd qword [rbp - 0x30], xmm1
cmp qword [rbp - 0x30], r8
jg 0x140111261
add edx, r13d
cmp edx, ecx
jb 0x14011122c
cmp edx, ecx
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x58]
jne 0x140111296
xor r9d, r9d
mov r8, qword [rsp + 0x60]
call fcn.140111784
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14011128a
mov qword [rcx], rax
jmp 0x14011128f
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
jmp 0x14011130b
test rbx, rbx
jne 0x1401112bf
xor r8d, r8d
call fcn.140111784
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401112b3
mov qword [rcx + 8], rax
jmp 0x1401112b8
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
jmp 0x14011130b
mov r9, rbx
mov r8, qword [rbx + 8]
call fcn.140111784
mov rdi, rax
mov rax, qword [rbx + 8]
test rax, rax
je 0x1401112dc
mov qword [rax], rdi
jmp 0x140111300
cmp rbx, qword [rsp + 0x58]
je 0x1401112fb
lea r8, str.pOldNode__m_pHead
mov edx, 0x6ab
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008410c
mov qword [rsp + 0x58], rdi
mov qword [rbx + 8], rdi
lea rdi, str.sdkinc_atlmfc_atlcomcli.h
add r14d, r13d
jmp 0x14011117f
lea r8, str.__atl_condVal
mov edx, 0x520
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008410c
mov ecx, 0x80004005
call fcn.140001b00
int3
cmp dword [rsp + 0x48], 0
je 0x140111355
lea r8, str.ulFetched__0
mov edx, 0x111b
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
cmp r14d, dword [rsp + 0x68]
je 0x140111374
lea r8, str.dwSnapshotCount___DWORD_snapshotList.GetCount__
mov edx, 0x114a
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
mov rdi, qword [rsp + 0x58]
xor esi, esi
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x14011139e
xor ecx, ecx
call fcn.14012ebe0
mov ebx, eax
jmp 0x1401113a4
mov rsi, qword [rbp - 0x50]
xor ebx, ebx
test ebx, ebx
js 0x140111502
cmp rsi, r15
jae 0x140111502
cmp r14d, r13d
jbe 0x1401114a5
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x140111482
mov rax, rdi
mov rdi, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movsd xmm1, qword [rax + 0x20]
movsd qword [rbp - 0x60], xmm1
movups xmmword [rbp - 0x70], xmm0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
jne 0x14011140d
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008410c
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rbp + 0x80]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp - 0x78]
mov qword [rsp + 0x20], rdx
mov r9d, r13d
mov r8d, 3
lea rdx, [rbp - 0x70]
mov rax, qword [rax + 0x138]
call qword [case.0x1400059ff.0]
mov ebx, eax
test eax, eax
js 0x14011144d
dec r14d
jmp 0x140111379
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, LoadRegTypeLib
jmp 0x140110fd2
lea r8, str.__atl_condVal
mov edx, 0x520
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008410c
mov ecx, 0x80004005
call fcn.140001b00
int3
mov ebx, 0x8078015e
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, 0x9c
mov r9d, 0x8078015e
jmp 0x140110fd5
mov rcx, qword [0x1401720a0]
lea rdi, [0x1401720a0]
cmp rcx, rdi
je 0x140111509
test byte [rcx + 0x1c], r13b
je 0x140111509
cmp byte [rcx + 0x19], 2
jb 0x140111509
mov edx, 0x9b
jmp 0x140110fd2
lea rdi, [0x1401720a0]
lea rcx, [rbp - 8]
call qword [sym.imp.VSSAPI.DLL_VssFreeSnapshotPropertiesInternal]
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x10]
call sub.msvcrt.dll_memset
mov rcx, qword [0x1401720a0]
cmp rcx, rdi
je 0x140111552
test byte [rcx + 0x1c], r13b
je 0x140111552
cmp byte [rcx + 0x19], 4
jb 0x140111552
mov edx, LoadRegTypeLib
lea r8, [0x140159630]
mov rcx, qword [rcx + 0x10]
call fcn.140004b74
nop
lea rcx, [rsp + 0x58]
call fcn.14003a240
cmp qword [rsp + 0x68], 0
je 0x14011157d
lea r8, str.m_nElements__0
mov edx, 0x58b
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008410c
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140111595
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400059ff.0]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1401115ac
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400059ff.0]
mov eax, ebx
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140141cf0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret