Function at 0x14010f7dc
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r12, r8
mov r14, rdx
mov rsi, rcx
mov rcx, qword [0x1401720a0]
lea rax, [0x1401720a0]
cmp rcx, rax
je 0x14010f835
test byte [rcx + 0x1c], 1
je 0x14010f835
cmp byte [rcx + 0x19], 4
jb 0x14010f835
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x62
call fcn.140004b74
xor r15d, r15d
mov dil, 1
mov qword [rbp - 0x20], r15
mov r13d, r15d
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r15
mov byte [rbp + 0x40], dil
mov dword [rbp + 0x50], r15d
test rsi, rsi
jne 0x14010f877
lea r8, str.wszTargetVolume
mov edx, 0xd44
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
test r12, r12
jne 0x14010f894
lea r8, str.rgVolumeMountedVhdPaths
mov edx, 0xd46
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
mov rbx, qword [rbp + 0x60]
test rbx, rbx
jne 0x14010f8b5
lea r8, str.pImpersonator
mov edx, 0xd47
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
mov r15, qword [rbp + 0x68]
test r15, r15
jne 0x14010f8d6
lea r8, str.pullSizeToReclaim
mov edx, 0xd48
lea rcx, str.base_stor_blbengine_blbengutils_blbbackuptargetutils.cpp
call fcn.14008410c
and qword [r15], r13
lea r8, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.14010ed30
mov ebx, eax
test eax, eax
js 0x14010fd67
cmp dword [rbp + 0x50], 4
jne 0x14010f92f
xor dil, dil
mov rcx, qword [0x1401720a0]
lea rax, [0x1401720a0]
cmp rcx, rax
je 0x14010f92f
test byte [rcx + 0x1c], 1
je 0x14010f92f
cmp byte [rcx + 0x19], 5
jb 0x14010f92f
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x63
call fcn.140004b74
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.140084cd4
mov ebx, eax
test eax, eax
js 0x14010fd67
mov r15, qword [rbp - 0x20]
test dil, dil
je 0x14010fac4
lea r9, [rbp - 0x18]
mov byte [rsp + 0x20], 1
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140121708
mov ebx, eax
test eax, eax
js 0x14010fd67
mov rax, qword [rbp - 0x18]
cmp r14, 0xffffffffffffffff
je 0x14010f9c7
cmp rax, 0xffffffffffffffff
je 0x14010f9c7
mov rcx, qword [0x1401720a0]
lea rsi, [0x1401720a0]
cmp rcx, rsi
je 0x14010f9c2
test byte [rcx + 0x1c], 1
je 0x14010f9c2
cmp byte [rcx + 0x19], 4
jb 0x14010f9c2
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x64
mov r9, rax
call fcn.140010244
mov rcx, qword [0x1401720a0]
xor dil, dil
jmp 0x14010fa16
mov rcx, qword [0x1401720a0]
lea rdx, [0x1401720a0]
cmp rcx, rdx
je 0x14010fa0f
test byte [rcx + 0x1c], 1
je 0x14010fa0f
cmp byte [rcx + 0x19], 4
jb 0x14010fa0f
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov qword [rsp + 0x28], rax
mov edx, 0x65
mov r9, rsi
mov qword [rsp + 0x20], r14
call fcn.140010bd8
mov rcx, qword [0x1401720a0]
lea rsi, [0x1401720a0]
mov r13, qword [rbp - 0x10]
test r13, r13
jne 0x14010fa4a
cmp rcx, rsi
je 0x14010fa47
test byte [rcx + 0x1c], 1
je 0x14010fa47
cmp byte [rcx + 0x19], 5
jb 0x14010fa47
mov rcx, qword [rcx + 0x10]
lea edx, [r13 + 0x66]
xor r9d, r9d
lea r8, [0x140159630]
call fcn.140010244
xor dil, dil
test dil, dil
je 0x14010fac4
mov rcx, qword [rbp + 0x60]
xor edx, edx
call fcn.1400f83ec
mov ebx, eax
test eax, eax
js 0x14010fd67
lea rdx, [rbp - 0x28]
mov rcx, r15
call fcn.1401222a8
mov ebx, eax
test eax, eax
js 0x14010fd67
mov rcx, qword [rbp + 0x60]
call fcn.1400f8580
mov rax, qword [rbp - 0x28]
cmp r13, rax
ja 0x14010fac4
mov rcx, qword [0x1401720a0]
cmp rcx, rsi
je 0x14010fac1
test byte [rcx + 0x1c], 1
je 0x14010fac1
cmp byte [rcx + 0x19], 5
jb 0x14010fac1
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x67
mov qword [rsp + 0x20], rax
mov r9, r13
call fcn.140004cfc
xor dil, dil
mov edx, dword [rbp + 0x58]
mov rcx, r12
call fcn.1401115e0
mov ebx, eax
test eax, eax
jns 0x14010fb1d
mov rcx, qword [0x1401720a0]
lea rsi, [0x1401720a0]
cmp rcx, rsi
je 0x14010fd6e
test byte [rcx + 0x1c], 1
je 0x14010fd6e
cmp byte [rcx + 0x19], 2
jb 0x14010fd6e
mov edx, 0x68
mov r9d, eax
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
call fcn.140004b98
jmp 0x14010fd6e
mov rcx, qword [rbp + 0x60]
xor edx, edx
call fcn.1400f83ec
mov ebx, eax
test eax, eax
js 0x14010fd67
lea r9, [rbp - 0x18]
mov rcx, r15
lea r8, [rbp + 0x50]
xor esi, esi
lea rdx, [rbp - 0x10]
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x14010fb5c
mov rcx, r15
call fcn.14012ebe0
mov ebx, eax
jmp 0x14010fb66
mov rsi, qword [rbp + 0x50]
mov r14, qword [rbp - 0x10]
xor ebx, ebx
test ebx, ebx
js 0x14010fd67
mov rcx, qword [rbp + 0x60]
call fcn.1400f8580
call fcn.140110ce4
cmp rsi, rax
mov r15, rax
cmovb r15, rsi
call fcn.14010f70c
mov r12, rax
lea rcx, [rax + r15]
cmp r14, rcx
jbe 0x14010fbe6
mov rcx, qword [0x1401720a0]
lea rax, [0x1401720a0]
cmp rcx, rax
je 0x14010fbdf
test byte [rcx + 0x1c], 1
je 0x14010fbdf
cmp byte [rcx + 0x19], 4
jb 0x14010fbdf
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x69
mov qword [rsp + 0x28], r12
mov r9, r14
mov qword [rsp + 0x20], r15
call fcn.1400c518c
mov rcx, qword [0x1401720a0]
xor al, al
mov byte [rbp + 0x40], al
jmp 0x14010fbf0
mov rcx, qword [0x1401720a0]
mov al, byte [rbp + 0x40]
test dil, dil
je 0x14010fce8
xor edx, edx
mov qword [rbp - 0x30], rdx
test al, al
je 0x14010fc10
mov rdx, r12
sub rdx, r14
add rdx, r15
mov qword [rbp - 0x30], rdx
mov r8, qword [rbp - 0x28]
mov rax, r13
sub rax, r8
cmp r8, r13
sbb rsi, rsi
and rsi, rax
lea rax, [0x1401720a0]
cmp rcx, rax
je 0x14010fca2
test byte [rcx + 0x1c], 1
je 0x14010fc68
cmp byte [rcx + 0x19], 5
jb 0x14010fc68
mov rcx, qword [rcx + 0x10]
mov r9, rdx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
call fcn.14010b99c
mov r8, qword [rbp - 0x28]
lea rax, [0x1401720a0]
mov rcx, qword [0x1401720a0]
cmp rcx, rax
je 0x14010fca2
test byte [rcx + 0x1c], 1
je 0x14010fca2
cmp byte [rcx + 0x19], 5
jb 0x14010fca2
mov rcx, qword [rcx + 0x10]
mov edx, 0x6b
mov qword [rsp + 0x28], r8
mov r9, rsi
lea r8, [0x140159630]
mov qword [rsp + 0x20], r13
call fcn.1400c518c
mov rcx, qword [0x1401720a0]
mov r8, qword [rbp - 0x30]
cmp r8, rsi
jbe 0x14010fcec
xor dil, dil
lea rsi, [0x1401720a0]
cmp rcx, rsi
je 0x14010fcf3
test byte [rcx + 0x1c], 1
je 0x14010fcf3
cmp byte [rcx + 0x19], 4
jb 0x14010fcf3
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x6c
call fcn.140004b74
mov rcx, qword [0x1401720a0]
mov r8, qword [rbp - 0x30]
jmp 0x14010fcf3
mov r8, qword [rbp - 0x30]
lea rsi, [0x1401720a0]
mov al, byte [rbp + 0x40]
test al, al
je 0x14010fd25
test dil, dil
jne 0x14010fd2a
mov ebx, 0x8078015e
cmp rcx, rsi
je 0x14010fd6e
test byte [rcx + 0x1c], 1
je 0x14010fd6e
cmp byte [rcx + 0x19], 2
jb 0x14010fd6e
mov edx, 0x6d
mov r9d, 0x8078015e
jmp 0x14010fb08
test dil, dil
je 0x14010fd33
test al, al
je 0x14010fd33
mov rax, r8
jmp 0x14010fd35
xor eax, eax
mov rdx, qword [rbp + 0x68]
mov qword [rdx], rax
cmp rcx, rsi
je 0x14010fd6e
test byte [rcx + 0x1c], 1
je 0x14010fd6e
cmp byte [rcx + 0x19], 4
jb 0x14010fd6e
mov rcx, qword [rcx + 0x10]
mov r9, r8
lea r8, [0x140159630]
mov edx, 0x6e
call fcn.140010244
jmp 0x14010fd6e
lea rsi, [0x1401720a0]
mov rcx, qword [rbp + 0x60]
call fcn.1400f8580
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14010fd86
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1401720a0]
cmp rcx, rsi
je 0x14010fdb3
test byte [rcx + 0x1c], 1
je 0x14010fdb3
cmp byte [rcx + 0x19], 4
jb 0x14010fdb3
mov rcx, qword [rcx + 0x10]
lea r8, [0x140159630]
mov edx, 0x6f
call fcn.140004b74
mov eax, ebx
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret