Function at 0x1800011a0
Capabilities:
Allocate or change rwx memory
Create thread
Get system information on windows
Spawn thread to rwx shellcode

Disassembly:
mov r11, rsp
sub rsp, 0xb8
mov rax, qword [0x180091010]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rax, qword [0x180091df8]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
cmp byte [rax], 0
mov qword [r11 + 0x20], rdi
mov qword [r11 - 8], r13
je 0x180001226
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rax
lea rdx, [0x18005b808]
lea rcx, str.CONOUT_
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rax
lea rdx, [0x18005b808]
lea rcx, str.CONOUT_
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen]
lea rdx, str.INFO:_MK1Hook_Begin_
lea rcx, str.OnInitializeHook
call fcn.18004e370
mov ecx, dword [0x1800919b4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800a3938], ecx
jle 0x18000128b
lea rcx, [0x1800a3938]
call fcn.180059360
cmp dword [0x1800a3938], 0xffffffff
jne 0x18000128b
mov rax, qword [0x180091cf0]
lea rcx, [0x1800a3938]
mov qword [0x1800a3940], rax
call fcn.180059300
mov rcx, qword [0x1800a3940]
test rcx, rcx
je 0x1800012a7
mov eax, dword [rcx]
add rcx, 4
add rcx, rax
mov qword [0x180091ca0], rcx
mov rax, qword [0x180091df8]
mov qword [rsp + 0xa8], r14
cmp byte [rax + 5], 0
je 0x180001307
lea r14, str.xinput1_4.dll
xor edi, edi
mov rbx, r14
lea rsi, str.Setting_P_d_as__ws__Skin:__ws___Extra_Moveset:__ws_
nop
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x180091c50], rax
test rax, rax
jne 0x180001487
inc edi
add rbx, 8
cmp rbx, rsi
jl 0x1800012d0
lea rdx, str.Failed_to_initialize_XInput_
lea rcx, str.eGamepadManager::Initialize
call fcn.18004e370
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, qword [0x1800919d0]
mov r13d, 0x80000000
mov rbp, rax
mov eax, 0xffffffff
test rbx, rbx
je 0x180001352
nop dword [rax]
mov rcx, qword [rbx + 8]
sub rcx, rbp
add rcx, r13
cmp rcx, rax
ja 0x18000134a
cmp qword [rbx + 0x10], 0xe
jae 0x18000143e
mov rbx, qword [rbx]
test rbx, rbx
jne 0x180001330
lea rcx, [rsp + 0x68]
mov qword [rsp + 0xa0], r15
mov rsi, rbp
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rsp + 0x90]
lea rdx, [rsp + 0x30]
mov r15d, ecx
mov r8d, 0x30
lea r14d, [rcx - 1]
lea rdi, [rcx + 0x25]
not r14
mov rcx, rbp
and rdi, r14
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180001413
nop dword [rax]
cmp dword [rsp + 0x50], 0x10000
jne 0x1800013f2
mov rax, qword [rsp + 0x48]
cmp rax, rdi
jb 0x1800013f7
mov rcx, qword [rsp + 0x30]
mov edx, 0xffffffff
dec rcx
add rcx, r15
and rcx, r14
mov rax, rcx
sub rax, rbp
add rax, r13
cmp rax, rdx
ja 0x180001413
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x180001415
mov rax, qword [rsp + 0x48]
add rsi, rax
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x30
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
jne 0x1800013a0
xor ebx, ebx
mov rax, qword [0x1800919d0]
mov r15, qword [rsp + 0xa0]
mov qword [0x1800919d0], rbx
mov qword [rbx], rax
lea rax, [rbx + 0x18]
mov qword [rbx + 8], rax
lea rax, [rdi - 0x18]
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x10]
lea rcx, [0x180057c90]
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc8]
cmp rax, 0xe
jb 0x1800014dc
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], rax
test rdx, rdx
je 0x1800014de
add qword [rbx + 8], 0xe
add rax, 0xfffffffffffffff2
mov qword [rbx + 0x10], rax
jmp 0x1800014de
lea rdx, str.XInputGetState
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x180091c50], 0
mov qword [0x180091c48], rax
je 0x1800012f4
test rax, rax
je 0x1800012f4
test edi, edi
js 0x1800012f4
movsxd r8, edi
lea rdx, str.XInput_loaded___DLL:__s_
lea rcx, str.eGamepadManager::Initialize
mov r8, qword [r14 + r8*8]
call fcn.18004e370
jmp 0x180001307
xor edx, edx
mov dword [rdx], 0x25ff
mov word [rdx + 4], 0
mov qword [rdx + 6], rcx
mov rcx, qword [0x180091cc8]
call fcn.180001cc0
mov rax, qword [rbx + 0x10]
lea rcx, [0x180050cd0]
cmp rax, 0xe
jb 0x18000152b
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], rax
test rdx, rdx
je 0x18000152d
add qword [rbx + 8], 0xe
add rax, 0xfffffffffffffff2
mov qword [rbx + 0x10], rax
jmp 0x18000152d
xor edx, edx
mov dword [rdx], 0x25ff
mov word [rdx + 4], 0
mov qword [rdx + 6], rcx
mov rcx, qword [0x180091cd8]
call fcn.180001cc0
mov rax, qword [rbx + 0x10]
lea rcx, [0x180050c30]
cmp rax, 0xe
jb 0x180001568
mov rsi, qword [rbx + 8]
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rax
jmp 0x18000156a
xor esi, esi
test rsi, rsi
je 0x18000157c
add qword [rbx + 8], 0xe
add rax, 0xfffffffffffffff2
mov qword [rbx + 0x10], rax
mov dword [rsi], 0x25ff
lea r9, [rsp + 0x60]
mov word [rsi + 4], 0
mov edx, 5
mov rdi, qword [0x180091ce8]
mov qword [rsi + 6], rcx
mov rcx, rdi
lea r8d, [rdx + 0x3b]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsp + 0x60]
lea rax, [rdi + 1]
sub esi, eax
mov byte [rdi], 0xe9
sub esi, 4
lea r9, [rsp + 0x60]
mov edx, 5
mov dword [rax], esi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rax, qword [rbx + 0x10]
lea rcx, [0x180051890]
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xd0]
cmp rax, 0xe
jb 0x180001611
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], rax
test rdx, rdx
je 0x180001613
add qword [rbx + 8], 0xe
add rax, 0xfffffffffffffff2
mov qword [rbx + 0x10], rax
jmp 0x180001613
xor edx, edx
mov dword [rdx], 0x25ff
mov word [rdx + 4], 0
mov qword [rdx + 6], rcx
mov rcx, qword [0x180091d38]
call fcn.180001cc0
mov rax, qword [rbx + 0x10]
lea rcx, [0x180050680]
cmp rax, 0xe
jb 0x180001660
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], rax
test rdx, rdx
je 0x180001662
add qword [rbx + 8], 0xe
add rax, 0xfffffffffffffff2
mov qword [rbx + 0x10], rax
jmp 0x180001662
xor edx, edx
mov dword [rdx], 0x25ff
mov word [rdx + 4], 0
mov qword [rdx + 6], rcx
mov rcx, qword [0x180091da8]
call fcn.180001cc0
mov rcx, qword [0x180091d20]
lea r8, [0x180091c68]
lea rdx, [0x180050660]
call fcn.18004fae0
mov rcx, qword [0x180091d20]
call fcn.18004fdc0
mov rcx, qword [0x180091d70]
lea r8, [0x180091cb8]
lea rdx, [0x180051700]
call fcn.18004fae0
mov rcx, qword [0x180091d70]
call fcn.18004fdc0
mov rcx, qword [0x180091d78]
lea r8, [0x180091c70]
lea rdx, [0x180050970]
call fcn.18004fae0
mov rcx, qword [0x180091d78]
call fcn.18004fdc0
mov rax, qword [0x180091df8]
cmp byte [rax + 2], 0
je 0x18000172a
mov rcx, qword [0x180091d80]
lea r8, [0x1800a1e00]
lea rdx, [0x180001180]
call fcn.18004fae0
mov rcx, qword [0x180091d80]
call fcn.18004fdc0
mov rax, qword [0x180091df8]
cmp byte [rax + 4], 0
je 0x180001769
mov rbx, qword [0x180091d88]
lea r9, [rsp + 0x60]
mov edx, 1
mov rcx, rbx
lea r8d, [rdx + 0x3f]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsp + 0x60]
lea r9, [rsp + 0x60]
mov edx, 1
mov byte [rbx], 0xc3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov qword [rsp + 0x28], 0
lea r8, [0x1800026d0]
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, qword [rsp + 0xc0]
test rax, rax
je 0x1800017a4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.180058a80
add rsp, 0xb8
ret