Function at 0x1401157b8
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140178010]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r12, rdx
mov r14, rcx
test rdx, rdx
jg 0x140115815
lea r8, str.llSpaceRequired___0
mov edx, 0x10d6
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008624c
lea rax, [0x1401782b0]
mov rcx, qword [0x1401782b0]
cmp rcx, rax
je 0x140115849
test byte [rcx + 0x1c], 1
je 0x140115849
cmp byte [rcx + 0x19], 4
jb 0x140115849
mov edx, reloc.OLEAUT32.dll_DllRegisterServer
lea r8, [0x14015f210]
mov rcx, qword [rcx + 0x10]
call fcn.140004c6c
and qword [rsp + 0x30], 0
and qword [rsp + 0x38], 0
and dword [rsp + 0x40], 0
and dword [rsp + 0x78], 0
xor r15d, r15d
movups xmm0, xmmword [0x140161c08]
movdqu xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
and qword [rsp + 0x58], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x70], 0xa
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x20]
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x30]
call qword [sym.imp.VSSAPI.DLL_CreateVssBackupComponentsInternal]
mov esi, eax
test eax, eax
jns 0x1401158f7
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, 0x97
mov r9d, eax
lea r8, [0x14015f210]
mov rcx, qword [rcx + 0x10]
call fcn.140004c90
jmp 0x140115e47
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x14011591e
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008624c
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x28]
mov rcx, rdi
call qword [0x14014cce0]
xor edx, edx
mov rcx, rbx
call rdi
mov esi, eax
test eax, eax
jns 0x140115970
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, 0x98
jmp 0x1401158df
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x140115997
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008624c
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x118]
mov rcx, rdi
call qword [0x14014cce0]
or edx, 0xffffffff
mov rcx, rbx
call rdi
mov esi, eax
test eax, eax
jns 0x1401159ed
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, 0x99
jmp 0x1401158df
movups xmm0, xmmword [0x140161c08]
movdqu xmmword [rbp - 0x50], xmm0
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x140115a20
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008624c
mov rbx, qword [rsp + 0x30]
cmp qword [rsp + 0x38], 0
je 0x140115a40
lea r8, str.p0
mov edx, reloc.OLEAUT32.dll_SysAllocStringByteLen
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008624c
mov rax, qword [rbx]
mov rdi, qword [rax + 0x158]
mov rcx, rdi
call qword [0x14014cce0]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 3
lea r8d, [r9 - 2]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call rdi
mov esi, eax
test eax, eax
jns 0x140115aab
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, 0x9a
jmp 0x1401158df
lea rcx, [rbp - 0x18]
call qword [sym.imp.VSSAPI.DLL_VssFreeSnapshotPropertiesInternal]
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x20]
call sub.msvcrt.dll_memset
mov rbx, qword [rsp + 0x38]
test rbx, rbx
jne 0x140115aed
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008624c
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x18]
mov rcx, rdi
call qword [0x14014cce0]
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x20]
mov edx, 1
mov rcx, rbx
call rdi
mov esi, eax
test eax, eax
js 0x140115e17
cmp eax, 1
je 0x140115c6c
mov rdx, r14
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x140115aab
movups xmm0, xmmword [rbp - 0x18]
movdqu xmmword [rbp - 0x80], xmm0
mov r8, qword [rbp + 0x58]
mov qword [rbp - 0x70], r8
mov ecx, dword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
test ecx, ecx
jne 0x140115b61
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x48]
jmp 0x140115bd8
mov rbx, r9
xor edx, edx
test ecx, ecx
je 0x140115b9e
xor eax, eax
test rbx, rbx
setne al
test eax, eax
je 0x140115c49
mov rax, rbx
mov rbx, qword [rbx]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rax + 0x20]
movsd qword [rbp - 0x40], xmm1
cmp qword [rbp - 0x40], r8
jg 0x140115b9e
inc edx
cmp edx, ecx
jb 0x140115b6a
cmp edx, ecx
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x48]
jne 0x140115bd3
xor r9d, r9d
mov r8, qword [rsp + 0x50]
call fcn.1401160d4
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140115bc7
mov qword [rcx], rax
jmp 0x140115bcc
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
jmp 0x140115c41
test rbx, rbx
jne 0x140115bfc
xor r8d, r8d
call fcn.1401160d4
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140115bf0
mov qword [rcx + 8], rax
jmp 0x140115bf5
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
jmp 0x140115c41
mov r9, rbx
mov r8, qword [rbx + 8]
call fcn.1401160d4
mov rdi, rax
mov rax, qword [rbx + 8]
test rax, rax
je 0x140115c19
mov qword [rax], rdi
jmp 0x140115c3d
cmp rbx, qword [rsp + 0x48]
je 0x140115c38
lea r8, str.pOldNode__m_pHead
mov edx, 0x6ab
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008624c
mov qword [rsp + 0x48], rdi
mov qword [rbx + 8], rdi
inc r15d
jmp 0x140115aab
lea r8, str.__atl_condVal
mov edx, 0x520
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008624c
mov ecx, 0x80004005
call fcn.140001b20
int3
cmp dword [rsp + 0x40], 0
je 0x140115c8b
lea r8, str.ulFetched__0
mov edx, 0x111b
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008624c
cmp r15d, dword [rsp + 0x58]
je 0x140115caa
lea r8, str.dwSnapshotCount___DWORD_snapshotList.GetCount__
mov edx, 0x114a
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008624c
mov r14, qword [rsp + 0x48]
xor ebx, ebx
lea r9, [rbp - 0x28]
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x140115cd4
xor ecx, ecx
call fcn.140133a1c
mov esi, eax
jmp 0x140115cda
mov rbx, qword [rbp - 0x60]
xor esi, esi
test esi, esi
js 0x140115e40
cmp rbx, r12
jae 0x140115e40
cmp r15d, 1
jbe 0x140115de3
xor eax, eax
test r14, r14
setne al
test eax, eax
je 0x140115dc0
mov rax, r14
mov r14, qword [r14]
movups xmm0, xmmword [rax + 0x10]
movsd xmm1, qword [rax + 0x20]
movsd qword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x80], xmm0
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x140115d44
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.14008624c
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x138]
mov rcx, rdi
call qword [0x14014cce0]
lea rax, [rbp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8d, [r9 + 2]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call rdi
mov esi, eax
test eax, eax
js 0x140115d8b
dec r15d
jmp 0x140115caf
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, LoadRegTypeLib
jmp 0x1401158df
lea r8, str.__atl_condVal
mov edx, 0x520
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008624c
mov ecx, 0x80004005
call fcn.140001b20
int3
mov esi, 0x8078015e
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, 0x9c
mov r9d, 0x8078015e
jmp 0x1401158e2
mov rcx, qword [0x1401782b0]
lea rbx, [0x1401782b0]
cmp rcx, rbx
je 0x140115e47
test byte [rcx + 0x1c], 1
je 0x140115e47
cmp byte [rcx + 0x19], 2
jb 0x140115e47
mov edx, 0x9b
jmp 0x1401158df
lea rbx, [0x1401782b0]
lea rcx, [rbp - 0x18]
call qword [sym.imp.VSSAPI.DLL_VssFreeSnapshotPropertiesInternal]
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x20]
call sub.msvcrt.dll_memset
mov rcx, qword [0x1401782b0]
cmp rcx, rbx
je 0x140115e90
test byte [rcx + 0x1c], 1
je 0x140115e90
cmp byte [rcx + 0x19], 4
jb 0x140115e90
mov edx, LoadRegTypeLib
lea r8, [0x14015f210]
mov rcx, qword [rcx + 0x10]
call fcn.140004c6c
nop
lea rcx, [rsp + 0x48]
call fcn.14003ae00
cmp qword [rsp + 0x58], 0
je 0x140115ebb
lea r8, str.m_nElements__0
mov edx, 0x58b
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.14008624c
nop
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x140115edb
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [0x14014cce0]
mov rcx, rbx
call rdi
nop
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140115efa
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [0x14014cce0]
mov rcx, rbx
call rdi
mov eax, esi
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1401474d0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret