Function at 0x14000c0fc
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x20], r9d
mov dword [rax + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xe0
xor r14d, r14d
mov r13d, r9d
mov r12d, edx
mov r15d, ecx
mov esi, r14d
cmp ecx, 0x28
jb 0x14000c14b
mov r8d, ecx
lea rdx, str.___Pprovider_with_id__lu_is_not_supported__will_be_using_default_provider__0__r_n
lea ecx, [r14 + 2]
call fcn.14000f8a0
mov r15d, r14d
xor eax, eax
mov dword [rbp + 0x5f], r14d
lea rdi, [rbp - 0x51]
lea r9, [rbp + 0x5f]
lea edx, [rax + 0x70]
mov ecx, edx
mov r8d, edx
rep stosb byte [rdi], al
mov ecx, 0x9f
lea rdx, [rbp - 0x51]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x14000c1c1
mov r8d, 0xc
lea rdx, [rbp - 0x4d]
lea rcx, str.Microsoft_Hv
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
cmp rax, 0xc
jne 0x14000c1a7
lea rdx, str.___MSFT_hypervisor_present_r_n
lea ecx, [rax - 0xa]
call fcn.14000f8a0
jmp 0x14000c228
movsd xmm0, qword [rbp - 0x4d]
lea rdi, [rsp + 0x30]
xor eax, eax
lea ecx, [rax + 0x20]
rep stosb byte [rdi], al
mov eax, dword [rbp - 0x45]
mov dword [rsp + 0x38], eax
jmp 0x14000c20c
or eax, 0xffffffff
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov eax, 1
cpuid
sar ecx, 0x1f
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
test cl, 1
je 0x14000c228
xor ecx, ecx
lea rdi, [rsp + 0x30]
mov eax, 0x40000000
cpuid
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
xor eax, eax
mov dword [rsp + 0x24], ebx
movsd xmm0, qword [rsp + 0x24]
lea ecx, [rax + 0x20]
rep stosb byte [rdi], al
mov dword [rsp + 0x38], edx
lea r8, [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
lea rdx, str.___The___s__hypervisor_present_r_n
mov ecx, 2
call fcn.14000f8a0
call fcn.14000c068
mov qword [rbp - 0x61], rax
test rax, rax
je 0x14000c276
mov rdx, qword [0x140041868]
test rdx, rdx
je 0x14000c265
mov ebx, dword [rdx]
mov ecx, r14d
test ebx, ebx
je 0x14000c265
mov rdx, qword [rdx + 8]
mov r14d, ecx
shl r14, 6
add r14, rdx
cmp dword [r14 + 0xc], r15d
je 0x14000c294
inc ecx
cmp ecx, ebx
jb 0x14000c24f
lea rdx, str.____Requested_provider_data_was_not_found_in_database__abort_r_n
mov ecx, 1
call fcn.14000f8a0
mov rbx, qword [rsp + 0x128]
mov rax, rsi
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r14, r14
je 0x14000c265
mov ebx, r15d
lea rax, [0x14003efb0]
shl rbx, 7
add rbx, rax
mov qword [rbx], r14
test r13d, r13d
je 0x14000c30f
mov eax, r13d
sub eax, 1
je 0x14000c2e4
sub eax, 1
je 0x14000c2dd
sub eax, 1
je 0x14000c2d6
cmp eax, 1
je 0x14000c2cf
lea rdx, [r14 + 0x1c]
jmp 0x14000c2f3
mov ecx, 8
jmp 0x14000c2e9
mov ecx, 4
jmp 0x14000c2e9
mov ecx, 2
jmp 0x14000c2e9
mov ecx, 1
lea rdx, [r14 + 0x1c]
test dword [r14 + 0x1c], ecx
ja 0x14000c30f
mov r9d, dword [rdx]
mov r8d, r13d
lea rdx, str.____Selected_shellcode__lu_is_not_supported_by_this_provider__supported_mask:_0x_08x___abort_r_n
mov ecx, 1
call fcn.14000f8a0
jmp 0x14000c276
xor eax, eax
lea rdi, [rsp + 0x30]
xor r13d, r13d
lea r9, [rbp + 0x5f]
lea rdx, [rsp + 0x30]
mov dword [rbp + 0x5f], r13d
lea r15d, [r13 + 0x20]
mov ecx, r15d
mov r8d, r15d
rep stosb byte [rdi], al
lea ecx, [rax + 0x5a]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x14000c37a
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x14000c363
sub ecx, 1
je 0x14000c35a
cmp ecx, 1
jne 0x14000c363
lea r8, str.FirmwareTypeUefi
jmp 0x14000c36a
lea r8, str.FirmwareTypeBios
jmp 0x14000c36a
lea r8, str.FirmwareTypeUnknown
lea rdx, str.___Firmware_type___s__r_n
xor ecx, ecx
call fcn.14000f8a0
jmp 0x14000c388
mov edx, eax
lea rcx, str.____Failed_to_query_firmware_type
call fcn.140010740
mov r9, qword [r14 + 0x28]
lea rdx, str.___Provider:___ws___Name___ws__r_n
mov r8, qword [r14 + 0x20]
mov ecx, 2
call fcn.14000f8a0
test r12d, r12d
je 0x14000c3b9
test byte [r14 + 0x18], 1
jne 0x14000c3b9
lea rdx, str.____Abort:_selected_provider_does_not_support_HVCI_r_n
jmp 0x14000c26c
mov r12d, dword [rbp + 0x6f]
cmp r12d, dword [r14]
jae 0x14000c3ce
lea rdx, str.____Abort:_selected_provider_require_newer_Windows_NT_version_r_n
jmp 0x14000c26c
cmp dword [r14 + 4], 0xffffffff
je 0x14000c3ec
cmp r12d, dword [r14 + 4]
jbe 0x14000c3ec
lea rdx, str.____Warning:_selected_provider_may_not_work_on_this_Windows_NT_version_r_n
mov ecx, 1
call fcn.14000f8a0
mov ecx, dword [rbp + 0x7f]
mov r8d, 1
mov edi, r8d
mov edx, ecx
test ecx, ecx
je 0x14000c408
sub edx, r8d
je 0x14000c408
cmp edx, r8d
jne 0x14000c465
mov rax, qword [rbx]
mov edx, dword [rax + 0x18]
test r15b, dl
je 0x14000c428
cmp qword [rbx + 0x58], r13
jne 0x14000c428
lea rdx, str.____Abort:_selected_provider_does_not_support_memory_translation_or_r_n_tKDU_interface_is_not_implemented_for_these_methods._r_n
mov ecx, r8d
jmp 0x14000c271
test edx, 0x180
je 0x14000c465
mov eax, r8d
mov edx, r8d
cmp qword [rbx + 0x68], r13
je 0x14000c442
cmp qword [rbx + 0x70], r13
jne 0x14000c445
mov eax, r13d
cmp qword [rbx + 0x48], r13
je 0x14000c451
cmp qword [rbx + 0x50], r13
jne 0x14000c454
mov edx, r13d
test eax, eax
jne 0x14000c465
test edx, edx
jne 0x14000c465
lea rdx, str.____Abort:_selected_provider_does_not_support_arbitrary_kernel_read_write_or_r_n_tKDU_interface_is_not_implemented_for_these_methods._r_n
jmp 0x14000c420
mov r15, r14
test ecx, ecx
je 0x14000c4b2
sub ecx, r8d
je 0x14000c485
cmp ecx, r8d
jne 0x14000c4ca
cmp qword [rbx + 0x40], r13
jne 0x14000c4ca
lea rdx, str.____Abort:_selected_provider_does_not_support_changing_DSE_values_or_r_n_tKDU_interface_is_not_implemented_for_this_method._r_n
jmp 0x14000c4bf
mov rax, qword [rbx]
test dword [rax + 0x18], 0x100
je 0x14000c4a6
cmp qword [rbx + 0x68], r13
je 0x14000c49d
cmp qword [rbx + 0x70], r13
jne 0x14000c4ca
lea rdx, str.____Abort:_selected_provider_does_not_support_arbitrary_kernel_read_write_or_r_n_tKDU_interface_is_not_implemented_for_these_methods._r_n
jmp 0x14000c4bf
cmp qword [rbx + 0x48], r13
je 0x14000c49d
cmp qword [rbx + 0x50], r13
jmp 0x14000c49b
cmp qword [rbx + 0x38], r13
jne 0x14000c4ca
lea rdx, str.____Abort:_selected_provider_does_not_support_driver_mapping_or_r_n_tKDU_interface_is_not_implemented_for_these_methods._r_n
mov ecx, r8d
call fcn.14000f8a0
mov edi, r13d
test edi, edi
je 0x14000c276
mov dl, 1
mov ecx, 0x14
call fcn.14000180c
mov dl, 1
mov ecx, 0xa
call fcn.14000180c
lea rdi, [r15 + 0x18]
test dword [rdi], 0x800
mov qword [rsp + 0x20], rdi
je 0x14000c508
call fcn.140011dac
test eax, eax
je 0x14000c276
mov rax, qword gs:[0x30]
mov edx, 8
mov r8d, 0x478
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rsi, rax
test rax, rax
jne 0x14000c53e
lea rdx, str.____Abort:_could_not_allocate_provider_context_r_n
jmp 0x14000c26c
mov qword [rax + 0x40], rbx
mov rax, qword [rbx + 0x78]
test rax, rax
je 0x14000c57f
mov rcx, rsi
call rax
test eax, eax
jne 0x14000c57f
mov rax, qword gs:[0x30]
mov r8, rsi
xor edx, edx
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
lea rdx, str.____Abort:_provider_prerequisites_are_not_meet_r_n
mov rsi, r13
jmp 0x14000c26c
test byte [rdi], 0x40
je 0x14000c589
mov rax, r13
jmp 0x14000c5b1
mov rax, qword [rbx]
cmp dword [rax + 0x10], 2
jb 0x14000c599
mov dword [rax + 0x10], 1
mov rax, qword [rbx]
mov ecx, dword [rax + 0x10]
lea rax, [rcx + rcx*4]
shl rax, 4
lea rcx, str.PROCEXP152
add rax, rcx
mov qword [rsi + 0x48], rax
xor ebx, ebx
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov r13, qword [rcx + 0x20]
mov rcx, qword [r14 + 0x28]
mov rax, rcx
test rcx, rcx
jne 0x14000c5dc
mov ecx, ebx
jmp 0x14000c5e7
add rcx, 2
cmp word [rcx], bx
jne 0x14000c5d8
sub rcx, rax
sar rcx, 1
movzx eax, word [r13 + 0x38]
lea rcx, [rcx + 0x20]
mov edx, 8
lea r8, [rax + rcx*2]
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [rsi + 0x30], rax
test rax, rax
je 0x14000c7d3
mov eax, dword [rbp + 0x77]
mov dword [rsi + 8], eax
mov rax, qword [rbp - 0x61]
mov qword [rsi + 0x10], rax
mov dword [rsi + 4], r12d
call fcn.14000f2cc
mov qword [rsi + 0x18], rax
lea rdi, [rbp - 0x51]
xor eax, eax
mov dword [rbp + 0x5f], ebx
lea r9, [rbp + 0x5f]
lea edx, [rax + 0x40]
mov ecx, edx
mov r8d, edx
rep stosb byte [rdi], al
xor ecx, ecx
lea rdx, [rbp - 0x51]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x14000c665
mov rax, qword [rbp - 0x29]
jmp 0x14000c681
xor eax, eax
lea rdi, [rsp + 0x30]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [rsp + 0x40]
mov ecx, 0x16
mov qword [rsi + 0x38], rax
mov r12d, 0x20206f49
call fcn.1400019cc
mov r8, rax
test rax, rax
je 0x14000c6e7
mov rcx, rbx
cmp dword [rax], ebx
jbe 0x14000c6ce
mov ebx, dword [r8]
add rax, 8
mov rdx, qword [rax + 0x20]
mov rdi, rcx
cmp rdx, rcx
jbe 0x14000c6ba
mov r12d, dword [rax]
add rax, 0x28
mov rcx, rdx
cmp rdx, rdi
cmovbe rcx, rdi
sub rbx, 1
jne 0x14000c6ab
mov rax, qword gs:[0x30]
xor edx, edx
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rcx, qword [rsi + 0x30]
mov dword [rsi + 0xc], r12d
movzx edx, word [r13 + 0x38]
mov r8, qword [r13 + 0x40]
shr rdx, 1
mov r9, rdx
call fcn.140001498
mov rcx, qword [rsi + 0x30]
lea rdx, [0x14003558c]
call fcn.1400013f4
mov rdx, qword [r14 + 0x28]
mov rcx, qword [rsi + 0x30]
call fcn.1400013f4
mov rcx, qword [rsi + 0x30]
lea rdx, str..sys
call fcn.1400013f4
mov rax, qword [rsi + 0x40]
mov rcx, rsi
call qword [rax + 8]
test eax, eax
je 0x14000c7b6
mov rax, qword [rsi + 0x40]
mov dword [rsi + 0x50], 1
mov rax, qword [rax + 0x18]
test rax, rax
je 0x14000c276
mov rcx, qword [rsp + 0x20]
mov rdx, rsi
test byte [rcx], 0x40
jne 0x14000c767
mov edx, dword [r15 + 8]
mov rcx, qword [rsi + 0x28]
call rax
test eax, eax
jne 0x14000c276
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Cannot_register_provider_driver
call fcn.14001080c
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x14000c798
call qword [sym.imp.ntdll.dll_NtClose]
mov rax, qword [rsi + 0x40]
mov rcx, rsi
call qword [rax + 0x10]
mov r8, qword [rsi + 0x30]
test r8, r8
je 0x14000c7d3
mov rax, qword gs:[0x30]
jmp 0x14000c7c3
mov rax, qword gs:[0x30]
mov r8, qword [rsi + 0x30]
mov rcx, qword [rax + 0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rax, qword gs:[0x30]
mov r8, rsi
xor edx, edx
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rsi, rbx
jmp 0x14000c276