Function at 0x1400112b7
Capabilities:
Allocate or change rwx memory
Create thread
Execute command
Spawn thread to rwx shellcode

Disassembly:
jmp 0x140012390
push rbp
push rdi
sub rsp, 0x4c8
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0xc2
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1401825c0]
xor rax, rbp
mov qword [rbp + 0x470], rax
lea rcx, [0x1401880f3]
call fcn.1400113cf
nop
xor edx, edx
lea rcx, str.YYGameMakerYY
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [0x140182770], rax
lea rdx, [rbp + 4]
mov rcx, qword [0x140182770]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
nop
mov r8d, dword [rbp + 4]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [0x140182778], rax
call fcn.140011343
mov eax, eax
mov ecx, eax
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x14001242f
xor eax, eax
jmp 0x140012990
call fcn.140011343
mov eax, eax
mov r8d, eax
xor edx, edx
mov rcx, qword [rbp + 0x28]
call fcn.14001130c
nop
call fcn.140011343
mov eax, eax
mov qword [rbp + 0x468], rax
call fcn.14001131b
mov rcx, qword [rbp + 0x468]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0x28]
call fcn.1400111e5
nop
mov qword [rbp + 0x48], 0
jmp 0x140012484
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
call fcn.140011343
mov eax, eax
cmp qword [rbp + 0x48], rax
jae 0x1400124dc
xor edx, edx
mov rax, qword [rbp + 0x48]
mov ecx, 0xa
div rcx
mov rax, rdx
mov qword [rbp + 0x68], rax
lea rax, [0x140147200]
mov rcx, qword [rbp + 0x68]
movzx eax, byte [rax + rcx]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x28]
add rdx, rcx
mov rcx, rdx
movzx ecx, byte [rcx]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x28]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
jmp 0x140012479
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rbp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax + 0x50]
mov qword [rbp + 0xc8], rax
mov rcx, qword [rbp + 0xc8]
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0xe8], rax
cmp qword [rbp + 0xe8], 0
jne 0x140012539
xor eax, eax
jmp 0x140012990
mov r8, qword [rbp + 0xc8]
xor edx, edx
mov rcx, qword [rbp + 0xe8]
call fcn.14001130c
nop
mov dword [rsp + 0x20], 0x40
mov r9d, 0x1000
mov r8, qword [rbp + 0xc8]
xor edx, edx
mov rcx, qword [0x140182778]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x108], rax
cmp qword [rbp + 0x108], 0
jne 0x14001258b
xor eax, eax
jmp 0x140012990
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax + 0x54]
mov r8d, eax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xe8]
call fcn.1400111e5
nop
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax + 0x54]
mov r8d, eax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x108]
call fcn.1400112a8
nop
mov rax, qword [rbp + 0xa8]
movzx eax, word [rax + 6]
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0xa8]
movzx eax, word [rax + 0x14]
mov rcx, qword [rbp + 0xa8]
lea rax, [rcx + rax + 0x18]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x168], 0
jmp 0x140012615
mov rax, qword [rbp + 0x168]
inc rax
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x128]
cmp qword [rbp + 0x168], rax
jae 0x1400126f0
imul rax, qword [rbp + 0x168], 0x28
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + rax + 0xc]
mov rcx, qword [rbp + 0xe8]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x188], rax
imul rax, qword [rbp + 0x168], 0x28
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + rax + 0xc]
mov rcx, qword [rbp + 0x108]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x1a8], rax
imul rax, qword [rbp + 0x168], 0x28
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + rax + 0x14]
mov rcx, qword [rbp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x1c8], rax
imul rax, qword [rbp + 0x168], 0x28
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + rax + 0x10]
mov qword [rbp + 0x1e8], rax
mov r8, qword [rbp + 0x1e8]
mov rdx, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x188]
call fcn.1400111e5
nop
mov r8, qword [rbp + 0x1e8]
mov rdx, qword [rbp + 0x188]
mov rcx, qword [rbp + 0x1a8]
call fcn.1400112a8
nop
jmp 0x140012604
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.ucrtbased.dll_free]
nop
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xe8]
call fcn.140011014
nop
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xe8]
call fcn.14001117c
nop
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x208], rax
mov rax, qword [rbp + 0x208]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rbp + 0xe8]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x228], rax
mov rax, qword [rbp + 0x228]
mov eax, dword [rax + 0x28]
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x248]
mov rcx, qword [rbp + 0x108]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x268], rax
mov byte [rbp + 0x288], 0x48
mov byte [rbp + 0x289], 0x83
mov byte [rbp + 0x28a], 0xec
mov byte [rbp + 0x28b], 0x28
mov byte [rbp + 0x28c], 0x48
mov byte [rbp + 0x28d], 0xb9
mov byte [rbp + 0x28e], 0
mov byte [rbp + 0x28f], 0
mov byte [rbp + 0x290], 0
mov byte [rbp + 0x291], 0
mov byte [rbp + 0x292], 0
mov byte [rbp + 0x293], 0
mov byte [rbp + 0x294], 0
mov byte [rbp + 0x295], 0
mov byte [rbp + 0x296], 0x48
mov byte [rbp + 0x297], 0xba
mov byte [rbp + 0x298], 0
mov byte [rbp + 0x299], 0
mov byte [rbp + 0x29a], 0
mov byte [rbp + 0x29b], 0
mov byte [rbp + 0x29c], 0
mov byte [rbp + 0x29d], 0
mov byte [rbp + 0x29e], 0
mov byte [rbp + 0x29f], 0
mov byte [rbp + 0x2a0], 0x49
mov byte [rbp + 0x2a1], 0xb8
mov byte [rbp + 0x2a2], 0
mov byte [rbp + 0x2a3], 0
mov byte [rbp + 0x2a4], 0
mov byte [rbp + 0x2a5], 0
mov byte [rbp + 0x2a6], 0
mov byte [rbp + 0x2a7], 0
mov byte [rbp + 0x2a8], 0
mov byte [rbp + 0x2a9], 0
mov byte [rbp + 0x2aa], 0x48
mov byte [rbp + 0x2ab], 0xb8
mov byte [rbp + 0x2ac], 0
mov byte [rbp + 0x2ad], 0
mov byte [rbp + 0x2ae], 0
mov byte [rbp + 0x2af], 0
mov byte [rbp + 0x2b0], 0
mov byte [rbp + 0x2b1], 0
mov byte [rbp + 0x2b2], 0
mov byte [rbp + 0x2b3], 0
mov byte [rbp + 0x2b4], 0xff
mov byte [rbp + 0x2b5], 0xd0
mov byte [rbp + 0x2b6], 0x48
mov byte [rbp + 0x2b7], 0x83
mov byte [rbp + 0x2b8], 0xc4
mov byte [rbp + 0x2b9], 0x28
mov byte [rbp + 0x2ba], 0xc3
mov dword [rsp + 0x20], 0x40
mov r9d, 0x1000
mov r8d, 0x33
xor edx, edx
mov rcx, qword [0x140182778]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x2d8], rax
mov r8d, 0x33
lea rdx, [rbp + 0x288]
mov rcx, qword [rbp + 0x2d8]
call fcn.1400112a8
nop
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x28e], rax
mov qword [rbp + 0x298], 1
mov rax, qword [rbp + 0x268]
mov qword [rbp + 0x2ac], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rbp + 0x2d8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x140182778]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
nop
lea rcx, str.pause
call qword [sym.imp.ucrtbased.dll_system]
nop
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001be90]
call fcn.14001136b
mov rax, rdi
mov rcx, qword [rbp + 0x470]
xor rcx, rbp
call fcn.1400111e0
lea rsp, [rbp + 0x488]
pop rdi
pop rbp
ret