Function at 0x140097484
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x600
mov qword [r11 - 0x470], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x14015d3e0]
xor rax, rsp
mov qword [rsp + 0x5f0], rax
mov dword [rsp + 0x54], r9d
mov ebx, r8d
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x128], rdx
lea r12, str.base_stor_vssmodulescoord_srchwimport.cxx
mov qword [rsp + 0x60], r12
lea r13, str.CVssHardwareProviderWrapper::PerformTxfRecoveryOnVolumes
mov qword [rsp + 0x68], r13
lea r15, str.CORHIMPC
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x43e
mov esi, 1
mov dword [rsp + 0x7c], esi
mov r14d, 0xff
mov dword [r11 - 0x5a8], r14d
xor edi, edi
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rsi + 0x77]
lea rcx, [r11 - 0x5a0]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.1400bec34
nop
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x440
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rsi + 0x77]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
mov r8d, 0x1777
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.140002f20
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0x1d0]
call sub.msvcrt.dll_memset
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0x3e0]
call sub.msvcrt.dll_memset
test bl, 2
je 0x14009766d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x449
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rsi + 0x77]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
lea r8, str.No_auto_recovery_flag_forced_no_TxF_recovery
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.140009fb0
nop
lea rcx, [rsp + 0x140]
call fcn.140009990
mov rcx, qword [rsp + 0x5f0]
xor rcx, rsp
call fcn.1400164a0
lea r11, [rsp + 0x600]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp dword [rsp + 0x54], edi
jne 0x1400976c0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x450
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
lea r8, str.No_explicit_TxF_recovery_needed_due_to_transportable_import_or_implicit_TxF_recovery_on_autorecovery
jmp 0x14009761f
mov r14d, edi
mov dword [rsp + 0x54], r14d
mov rdx, qword [rsp + 0x128]
cmp r14d, dword [rdx]
jae 0x140097632
mov byte [rsp + 0x50], dil
mov eax, r14d
lea rcx, [rax + rax*4]
add rcx, rcx
mov rax, qword [rdx + 8]
mov rax, qword [rax + rcx*8 + 0x38]
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x140097760
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x462
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0xff
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rax + 0x78]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
mov r9d, r14d
lea r8, str.No_TxF_recovery_needed_for_volume_index__d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.140009fb0
jmp 0x140097c71
mov qword [rsp + 0x118], rdi
lea rcx, [0x1400f6248]
mov qword [rsp + 0x110], rcx
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.14003152c
mov r15, qword [rsp + 0x118]
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], di
jne 0x140097793
cmp word [r15 + rax*2 - 2], 0x5c
je 0x1400977c2
lea rdx, [0x1401035b0]
lea rcx, [rsp + 0x110]
call fcn.14003082c
mov r15, qword [rsp + 0x118]
mov dword [rsp + 0x38], 0x105
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8d, 0x105
lea rdx, [rsp + 0x3e0]
mov rcx, r15
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetVolumeInformationW]
nop dword [rax + rax]
test eax, eax
je 0x140097bfc
lea rdx, str.NTFS
lea rcx, [rsp + 0x1d0]
call sub.msvcrt.dll_wcscmp
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0xff
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x88]
test eax, eax
je 0x140097878
lea r15, str.CORHIMPC
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x47a
call sub.msvcrt.dll_memset
lea r8, str.TxF_recovery_not_supported_for_volume_index__d
jmp 0x140097c4e
lea rbx, str.CORHIMPC
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x78], 0x488
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rdx
mov r9d, r14d
lea r8, str.Performing_TxF_recovery_for_volume__ld__s
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.140009fb0
lea r8, [rsp + 0x50]
mov rdx, r15
call fcn.14008fde4
mov dword [rsp + 0x148], eax
mov ecx, eax
shr ecx, 0x1f
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0xff
mov dword [rsp + 0x100], 0x1000000
mov r8d, 0x78
test cl, cl
lea rcx, [rsp + 0x88]
je 0x140097945
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x78], 0x48e
xor edx, edx
call sub.msvcrt.dll_memset
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x20], eax
lea r9, str.CheckForActiveTxfTransactionOnVolume_call_failed_before_TxF_recovery_with__x
mov r8d, 0x800423fb
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.1400c2090
int3
lea rbx, str.Active_TxF_transaction_on_volume__s_found
lea rax, str.No_TxF_transaction_on_volume__s_found
cmp byte [rsp + 0x50], dil
cmove rbx, rax
lea rax, str.CORHIMPC
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x494
xor edx, edx
call sub.msvcrt.dll_memset
mov r9, r15
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.140009fb0
cmp byte [rsp + 0x50], dil
je 0x140097be6
mov r8b, sil
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x130]
call fcn.14008869c
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x30], dil
mov byte [rsp + 0x20], dil
mov r9b, sil
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
call fcn.14009d4e8
nop
mov qword [rsp + 0x60], rdi
and word [rsp + 0x88], 0
and qword [rsp + 0x8c], 0
mov qword [rsp + 0x98], rdi
and qword [rsp + 0xa0], 0
mov dword [rsp + 0xa8], edi
mov qword [rsp + 0xb0], rdi
mov word [rsp + 0xb8], di
mov qword [rsp + 0xc8], rdi
lea rax, [0x1400f6250]
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x40], 0x80
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], 0xc0000000
mov dword [rsp + 0x28], edi
mov byte [rsp + 0x20], dil
xor r9d, r9d
mov r8, r15
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x60]
call fcn.14003857c
mov dword [rsp + 0x148], eax
lea rcx, [rsp + 0x60]
call fcn.14002e960
nop
jmp 0x140097aa5
lea rbx, str.CORHIMPC
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x148], edi
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x130]
call fcn.14008869c
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x30], dil
mov byte [rsp + 0x20], sil
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
call fcn.14009d4e8
lea r8, [rsp + 0x50]
mov rdx, r15
call fcn.14008fde4
mov dword [rsp + 0x148], eax
mov ecx, eax
shr ecx, 0x1f
test cl, cl
je 0x140097b76
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x78], 0x4c4
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0xff
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x20], eax
lea r9, str.CheckForActiveTxfTransactionOnVolume_call_failed_after_TxF_recovery_with__x
mov r8d, 0x800423fb
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.1400c2090
int3
cmp byte [rsp + 0x50], dil
je 0x140097be6
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x78], 0x4ce
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0xff
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x20], r15
lea r9, str.TxF_recovery_failed:_transaction_flag_is_still_active_for_volume__s
mov r8d, 0x800423fb
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.1400c2090
nop
lea rcx, [rsp + 0x110]
call fcn.14002e4c8
lea r15, str.CORHIMPC
jmp 0x140097c71
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
lea r15, str.CORHIMPC
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x480
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x80], 0xff
mov dword [rsp + 0x100], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x88]
call sub.msvcrt.dll_memset
lea r8, str.GetVolumeInformation_failed_for_volume_index__d
mov r9d, r14d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x140]
call fcn.140009fb0
nop
lea rcx, [rsp + 0x110]
call fcn.14002e4c8
add r14d, esi
jmp 0x1400976c3