Function at 0x14009aac8
Capabilities:
Enumerate network shares
Get disk information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xdc0]
sub rsp, 0xec0
mov qword [rbp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0xf00], rbx
mov rax, qword [0x14016b400]
xor rax, rsp
mov qword [rbp + 0xdb0], rax
mov r12, r9
mov r13, r8
mov r14, rdx
mov r15, qword [rbp + 0xe20]
lea rsi, str.base_stor_vssmodulescoord_srchwdelete.cxx
mov qword [rsp + 0x60], rsi
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x3ea
mov dword [rsp + 0x7c], 1
mov dword [rbp - 0x80], 0xff
xor edi, edi
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdi + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cce0
nop
mov dword [rsp + 0x48], edi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x360]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x20], rdi
lea rax, [0x1400f83f8]
mov qword [rbp + 0x18], rax
mov r8, r14
mov edx, 0x104
lea rcx, [rbp + 0x360]
call fcn.1400109f0
mov ebx, eax
mov dword [rbp + 0x38], eax
mov qword [rsp + 0x60], rsi
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x3f5
mov dword [rsp + 0x7c], 1
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdi + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov eax, ebx
shr eax, 0x1f
test al, al
je 0x14009ac5f
cmp ebx, 0x8000ffff
jne 0x14009ac37
mov dword [rsp + 0x40], ebx
lea rdx, [0x140167770]
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xa8]
call fcn.14000aeb0
lea r9, str.StringCchCopy_fails_to_copy_volume_name
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.1400dc9fc
nop
mov esi, 0xf
cmp byte [rbp + 3], 0
je 0x14009ac8f
lea rbx, [rbp - 0x78]
mov edi, esi
mov rcx, qword [rbx]
test rcx, rcx
je 0x14009ac85
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov qword [rbx], 0
add rbx, 8
sub rdi, 1
jne 0x14009ac70
or rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [r14 + rax*2], 0
jne 0x14009ac93
cmp word [r14 + rax*2 - 2], 0x5c
je 0x14009adfd
mov ecx, 0x104
lea rax, [rbp + 0x360]
cmp word [rax], 0
je 0x14009acc8
add rax, 2
sub rcx, 1
jne 0x14009acb8
mov ebx, 0x80070057
test rcx, rcx
cmovne ebx, edi
mov eax, 0x104
sub rax, rcx
mov r8, rdi
test rcx, rcx
cmovne r8, rax
je 0x14009ad47
mov ecx, 0x104
sub rcx, r8
lea rdx, [rbp + 0x360]
lea rdx, [rdx + r8*2]
je 0x14009ad31
lea rax, [r8 + 0x7ffffefa]
add rax, rcx
lea r8, [0x1400fd76c]
sub r8, rdx
test rax, rax
je 0x14009ad31
movzx r9d, word [r8 + rdx]
test r9w, r9w
je 0x14009ad31
mov word [rdx], r9w
add rdx, 2
dec rax
sub rcx, 1
jne 0x14009ad10
lea rax, [rdx - 2]
test rcx, rcx
cmovne rax, rdx
mov word [rax], di
mov ebx, 0x8007007a
cmovne ebx, edi
mov dword [rbp + 0x38], ebx
lea r14, str.base_stor_vssmodulescoord_srchwdelete.cxx
mov qword [rsp + 0x60], r14
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x3fc
mov dword [rsp + 0x7c], 1
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov eax, ebx
shr eax, 0x1f
test al, al
je 0x14009add6
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xa8]
call fcn.14000aeb0
lea r9, str.StringCchCat_fails_to_concat_backslash
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.1400dc9fc
nop
cmp byte [rbp + 3], 0
je 0x14009ae04
lea rbx, [rbp - 0x78]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14009adf1
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov qword [rbx], rdi
add rbx, 8
sub rsi, 1
jne 0x14009ade0
jmp 0x14009ae04
lea r14, str.base_stor_vssmodulescoord_srchwdelete.cxx
lea r9, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x360]
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetVolumePathNamesForVolumeNameW]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0xea
je 0x14009aead
mov qword [rsp + 0x60], r14
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x404
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x14009ae88
movzx eax, ax
or eax, 0x80070000
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x360]
lea r8, str.GetVolumePathNamesForVolumeName__s__failed_with_0x_08lx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cc70
jmp 0x14009b3ac
mov edx, dword [rsp + 0x48]
lea rdx, [rdx*2 + 2]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov rbx, rax
mov qword [rbp + 0x20], rax
test rax, rax
jne 0x14009aee7
mov dword [rsp + 0x40], 0x8007000e
lea rdx, [0x140167770]
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll__CxxThrowException
int3
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x48]
mov rdx, rax
lea rcx, [rbp + 0x360]
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetVolumePathNamesForVolumeNameW]
lea rsi, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
test eax, eax
jne 0x14009af93
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rsi
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x411
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x14009af65
movzx eax, ax
or eax, 0x80070000
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x360]
lea r8, str.GetVolumePathNamesForVolumeName__s__failed_with_0x_08lx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cc70
lea rcx, [rbp + 0x18]
call fcn.1400275bc
mov rbx, rdi
jmp 0x14009af97
mov qword [rbp + 0x20], rdi
mov qword [r15], rbx
mov dword [rsp + 0x58], edi
mov dword [rbp + 0x28], edi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x570]
call sub.msvcrt.dll_memset
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x780]
call sub.msvcrt.dll_memset
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xba0]
call sub.msvcrt.dll_memset
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x990]
call sub.msvcrt.dll_memset
mov r8d, 0x104
lea rdx, [rbp + 0x990]
lea rcx, [rbp + 0x360]
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x14009b089
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rsi
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x427
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x14009b064
movzx eax, ax
or eax, 0x80070000
lea rcx, [rbp + 0x360]
mov qword [rsp + 0x20], rcx
lea r9, str.GetVolumeNameForVolumeMountPoint__s_
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.1400dcb7c
int3
mov qword [rbp + 0x10], rdi
lea rax, str.0_t_
mov qword [rbp + 8], rax
lea rcx, [rbp + 8]
call fcn.14005d73c
mov qword [rsp + 0x30], rdi
lea rax, [rbp + 0x28]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbp + 0x10]
mov edx, 0x1f6
xor ecx, ecx
call qword [sym.imp.srvcli.dll_NetShareEnum]
mov ebx, eax
test eax, eax
je 0x14009b134
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rsi
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x438
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
mov r9d, ebx
lea r8, str.NetShareEnum_failed_with__d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cc70
jmp 0x14009b396
mov rsi, qword [rbp + 0x10]
cmp dword [rsp + 0x58], 0
jbe 0x14009b394
lea r15, str.base_stor_vssmodulescoord_srchwdelete.cxx
mov eax, edi
lea rcx, [rax + rax*8]
lea rbx, [rsi + rcx*8]
cmp dword [rbx + 8], 0
jne 0x14009b388
mov r8d, 0x104
lea rdx, [rbp + 0x570]
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetVolumePathNameW]
test eax, eax
jne 0x14009b1f7
mov qword [rsp + 0x60], r15
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x443
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x14009b1d5
movzx eax, ax
or eax, 0x80070000
mov dword [rsp + 0x20], eax
mov r9, qword [rbx + 0x28]
lea r8, str.GetVolumePathName__s__failed_with_0x_08lx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cc70
jmp 0x14009b388
mov r8d, 0x104
lea rdx, [rbp + 0x780]
lea rcx, [rbp + 0x570]
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x14009b29a
mov qword [rsp + 0x60], r15
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x44f
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x14009b275
movzx eax, ax
or eax, 0x80070000
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x570]
lea r8, str.GetVolumeNameForVolumeMountPoint__s__fails_with_0x_08lx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cc70
jmp 0x14009b388
mov r8d, 0x104
lea rdx, [rbp + 0xba0]
lea rcx, [rbp + 0x780]
call qword [sym.imp.api_ms_win_core_file_l1_2_0.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x14009b336
mov qword [rsp + 0x60], r15
lea rax, str.CVssHardwareProviderWrapper::CollectSharesAndMountPointsOnVolume
mov qword [rsp + 0x68], rax
lea rax, str.CORHDELC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x453
mov dword [rsp + 0x7c], 6
mov dword [rbp - 0x80], 0xff
mov dword [rbp], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp - 0x78]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x14009b314
movzx eax, ax
or eax, 0x80070000
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x780]
lea r8, str.GetVolumeNameForVolumeMountPoint__s__fail_with_0x_08lx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14001cc70
jmp 0x14009b388
lea rdx, [rbp + 0x990]
lea rcx, [rbp + 0xba0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x14009b388
mov qword [rbp + 0x150], rbx
lea r8, [rbp + 0x570]
mov edx, 0x104
lea rcx, [rbp + 0x158]
call fcn.1400109f0
test eax, eax
js 0x14009b403
lea rdx, [rbp + 0x150]
mov rcx, r13
call fcn.140097d60
test eax, eax
je 0x14009b3e9
inc edi
cmp edi, dword [rsp + 0x58]
jb 0x14009b14a
xor edi, edi
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x10], rdi
mov qword [r12], rax
lea rcx, [rbp + 8]
call fcn.14005d714
nop
lea rcx, [rbp + 0x18]
call fcn.140027ab0
nop
lea rcx, [rbp + 0x30]
call fcn.14001ce00
mov rcx, qword [rbp + 0xdb0]
xor rcx, rsp
call fcn.1400321c0
mov rbx, qword [rsp + 0xf00]
add rsp, 0xec0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x40], 0x8007000e
lea rdx, [0x140167770]
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll__CxxThrowException
int3
mov dword [rsp + 0x40], eax
lea rdx, [0x140167770]
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll__CxxThrowException
int3