Function at 0x140013400
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x760
mov qword [r11 - 0x4f0], 0xfffffffffffffffe
mov rax, qword [0x14007c478]
xor rax, rsp
mov qword [rsp + 0x758], rax
mov rbx, r8
mov r12, rdx
mov r15, rcx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x80], rdx
mov qword [r11 - 0x6f8], rbx
lea rax, str.base_stor_vss_tools_vssagent_vsdoc.cpp
mov qword [r11 - 0x5c8], rax
lea rax, str.CVssXmlDiagDocument::GetVolsnapInfo
mov qword [r11 - 0x5c0], rax
lea r13, str.TST__
mov qword [r11 - 0x5b8], r13
mov dword [rsp + 0x1e8], 0x82f
mov r14d, 9
mov dword [r11 - 0x5ac], r14d
mov dword [rsp + 0x1f0], 0xdc
xor edi, edi
mov dword [rsp + 0x270], 0x1000000
xor edx, edx
lea r8d, [r14 + 0x6f]
lea rcx, [r11 - 0x5a0]
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x160]
call fcn.14004058c
nop
mov qword [rsp + 0x1d0], rdi
mov word [rsp + 0x1f8], di
mov qword [rsp + 0x1fc], rdi
mov qword [rsp + 0x208], rdi
mov qword [rsp + 0x210], rdi
mov dword [rsp + 0x218], edi
mov qword [rsp + 0x220], rdi
mov word [rsp + 0x228], di
mov qword [rsp + 0x238], rdi
lea rax, vtable.CVssAutoString_class_CVssAutoCOMPtr_unsigned_short_int____ptr64__.0
mov qword [rsp + 0x230], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x1d8], xmm0
movups xmmword [rsp + 0x1e8], xmm0
mov dword [rsp + 0x30], edi
xor r9d, r9d
mov r8, r12
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140023e60
mov esi, eax
test eax, eax
js 0x140013b01
lea rax, str.base_stor_vss_tools_vssagent_vsdoc.cpp
mov qword [rsp + 0xa8], rax
lea rax, str.CVssXmlDiagDocument::GetVolsnapInfo
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r13
mov dword [rsp + 0xc0], 0x836
mov dword [rsp + 0xc4], r14d
mov dword [rsp + 0xc8], 0xdc
mov dword [rsp + 0x148], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0xd0]
call sub.msvcrt.dll_memset
lea r9, str.objectIChannel.Open_ft__pwszObjectName__false__false__VSS_ICHANNEL_LOG_NONE__0_
lea r8, str.___OK___S_n
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x160]
call fcn.140041324
mov qword [rsp + 0x30], rdi
mov byte [rsp + 0x28], dil
mov r13d, 2
mov dword [rsp + 0x20], r13d
mov r9b, 1
mov r8d, 0x53002c
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140024474
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140021f28
lea r8, [rsp + 0x158]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140021f28
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140021f28
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov rcx, qword [rbx]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x140013694
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x1400136b0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [rsp + 0x78]
cqo
mov esi, 0xfffff
and rdx, rsi
add rax, rdx
sar rax, 0x14
mov qword [rsp + 0x20], rax
lea r14, str._I64d_Mb
mov r9, r14
lea r8, str.Volsnap.UsedSpace
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14001f4fc
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov rcx, qword [rbx]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x14001370e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x14001372a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [rsp + 0x158]
cqo
and rdx, rsi
add rax, rdx
sar rax, 0x14
mov qword [rsp + 0x20], rax
mov r9, r14
lea r8, str.Volsnap.AllocatedSpace
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14001f4fc
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov rcx, qword [rbx]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x14001377f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x14001379b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rax, qword [rsp + 0x68]
cqo
and rdx, rsi
add rax, rdx
sar rax, 0x14
mov qword [rsp + 0x20], rax
mov r9, r14
lea r8, str.Volsnap.MaxSpace
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14001f4fc
mov dword [rsp + 0x1fc], edi
mov dword [rsp + 0x210], edi
mov qword [rsp + 0x30], rdi
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], r13d
mov r9b, 1
mov r8d, 0x530024
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140024474
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140022220
lea rax, vtable.CVssAutoString_class_CVssAutoLocalPtr_unsigned_short_int____ptr64__.0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rdi
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d0]
call fcn.140023aec
mov rsi, qword [rsp + 0x70]
test rax, rax
je 0x1400139ed
mov qword [rsp + 0x20], rsi
lea r13, str._GLOBALROOT
mov r9, r13
lea r8, str._s_s_
mov r14d, 0x104
mov edx, r14d
lea rcx, [rsp + 0x320]
call fcn.140002d64
mov dword [rsp + 0x168], eax
test eax, eax
js 0x140013b97
mov r8d, r14d
lea rdx, [rsp + 0x530]
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
nop dword [rax + rax]
test eax, eax
je 0x140013c12
mov r13d, 7
mov qword [rsp + 0x2a0], r13
mov qword [rsp + 0x298], rdi
mov word [rsp + 0x288], di
or r14, 0xffffffffffffffff
mov r8, r14
inc r8
cmp word [rsi + r8*2], di
jne 0x1400138dd
mov rdx, rsi
lea rcx, [rsp + 0x280]
call fcn.140021944
lea r8, [rsp + 0x280]
lea rdx, [rsp + 0x2f0]
mov rcx, r15
call fcn.14001c440
nop
lea rdx, [rax + 8]
cmp qword [rax + 0x20], 8
jb 0x14001391e
mov rdx, qword [rdx]
mov qword [rsp + 0x2e8], r13
mov qword [rsp + 0x2e0], rdi
mov word [rsp + 0x2d0], di
inc r14
cmp word [rdx + r14*2], di
jne 0x140013936
mov r8, r14
lea rcx, [rsp + 0x2c8]
call fcn.140021944
nop
cmp qword [rsp + 0x310], 8
jb 0x140013969
mov rcx, qword [rsp + 0x2f8]
call fcn.1400434b8
mov qword [rsp + 0x310], r13
mov qword [rsp + 0x308], rdi
mov word [rsp + 0x2f8], di
mov r8, rsi
lea rdx, str.DiffArea.Device
mov rcx, rbx
call fcn.140004f4c
lea r8, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 8
cmovae r8, qword [rsp + 0x2d0]
lea rdx, str.DiffArea.DriveLetter
mov rcx, rbx
call fcn.140004f4c
lea r8, [rsp + 0x530]
lea rdx, str.DiffArea.VolumeName
mov rcx, rbx
call fcn.140004f4c
nop
cmp qword [rsp + 0x2e8], 8
jb 0x1400139ed
mov rcx, qword [rsp + 0x2d0]
call fcn.1400434b8
nop
test rsi, rsi
je 0x140013a02
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop dword [rax + rax]
nop
lea rcx, [rsp + 0x1d0]
call fcn.1400242a8
nop
jmp 0x140013a2c
cmp dword [rsp + 0x168], edi
jge 0x140013aa2
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov rcx, qword [rbx]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x140013a5a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x140013a76
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140053f18]
nop
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r12
lea r9, str.Device:__s__Error:_0x_08lx
lea r8, str.FAILURE_GetVolsnapInfo
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14001f4fc
nop
lea rcx, [rsp + 0x160]
call fcn.1400406a0
nop
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140013ac7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rbx]
test rcx, rcx
je 0x140013add
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140053f18]
nop
mov rcx, qword [rsp + 0x758]
xor rcx, rsp
call fcn.1400438c0
add rsp, 0x760
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ecx, eax
call fcn.140001f2c
mov qword [rsp + 0x20], rax
mov r9d, esi
lea r14, str.objectIChannel.Open_ft__pwszObjectName__false__false__VSS_ICHANNEL_LOG_NONE__0_
mov r8, r14
lea rdx, str.__ERROR:_Call__S_not_succeeded.__n_t__Error_Code__0x_08lx._Error_description___s_n
lea rcx, [rsp + 0x160]
call fcn.140041860
mov dword [rsp + 0x30], 0xdc
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 0x836
lea r9, str.CVssXmlDiagDocument::GetVolsnapInfo
mov r8, r13
lea rdx, str.base_stor_vss_tools_vssagent_vsdoc.cpp
lea rcx, [rsp + 0xa8]
call fcn.1400400dc
mov rbx, rax
mov ecx, esi
call fcn.140001f2c
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
lea r9, str._S__0x_08lx___s_
mov r8d, esi
mov rdx, rbx
lea rcx, [rsp + 0x160]
call fcn.140042060
nop
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 0x856
lea r9, str.CVssXmlDiagDocument::GetVolsnapInfo
lea r8, str.VHWDOCC
lea rdx, str.base_stor_vss_tools_vssagent_vsdoc.cpp
lea rcx, [rsp + 0xa8]
call fcn.1400400dc
mov r10, rax
lea rcx, [rsp + 0x68]
call fcn.140002ff8
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.1400046e0
mov r8d, eax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r13
lea r9, str.StringCchPrintfW___s__s_
mov rdx, r10
lea rcx, [rsp + 0x160]
call fcn.140042060
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 0x85e
lea r9, str.CVssXmlDiagDocument::GetVolsnapInfo
lea r8, str.VHWDOCC
lea rdx, str.base_stor_vss_tools_vssagent_vsdoc.cpp
lea rcx, [rsp + 0xa8]
call fcn.1400400dc
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r8d, ax
or r8d, 0x80070000
test eax, eax
cmovle r8d, eax
lea rax, [rsp + 0x320]
mov qword [rsp + 0x28], rax
lea rax, str.GetVolumeNameForVolumeMountPointW___s__..._
mov qword [rsp + 0x20], rax
mov r9d, 0x80042306
mov rdx, rbx
lea rcx, [rsp + 0x160]
call fcn.1400422e4
int3