Function at 0x140011384
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
jmp 0x140012710
push rbp
push rsi
push rdi
sub rsp, 0xab0
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x1dc
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140020008]
xor rax, rbp
mov qword [rbp + 0xa60], rax
lea rcx, [0x1400260f5]
call fcn.1400114ec
lea rdx, str.Injecting_dll.._Please_wait
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011091
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [0x140020440], rax
cmp qword [0x140020440], 0
jne 0x140012789
mov eax, 1
jmp 0x140012ece
mov ecx, 0x989680
call fcn.14001121c
mov qword [rbp + 0x9e8], rax
mov rax, qword [rbp + 0x9e8]
mov qword [rbp + 8], rax
mov qword [rbp + 0x48], 0
lea rax, [rbp + 0x90]
mov rdi, rax
xor eax, eax
mov ecx, 0x128
rep stosb byte [rdi], al
mov qword [rbp + 0x1d8], 0xffffffffffffffff
mov qword [rbp + 0x428], 0
mov qword [rbp + 0x448], 0
mov dword [rbp + 0x4a4], 0
mov dword [rbp + 0x4c4], 0
mov byte [rbp + 0x4e4], 0
mov dword [rbp + 0x504], 0
mov qword [rbp + 0x528], 0
mov ecx, 0xf4240
call fcn.14001121c
mov qword [rbp + 0xa08], rax
mov rax, qword [rbp + 0xa08]
mov qword [rbp + 0x588], rax
mov ecx, 0x186a0
call fcn.14001121c
mov qword [rbp + 0xa28], rax
mov rax, qword [rbp + 0xa28]
mov qword [rbp + 0x5a8], rax
lea rdx, str.LdrQueryProcessModuleInformation
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r8, [rbp + 0x528]
xor edx, edx
xor ecx, ecx
call rax
mov rcx, qword [rbp + 0x528]
call fcn.14001121c
mov qword [rbp + 0xa48], rax
mov rax, qword [rbp + 0xa48]
mov qword [rbp + 0x428], rax
lea rdx, str.LdrQueryProcessModuleInformation
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
mov rdx, qword [rbp + 0x528]
mov rcx, qword [rbp + 0x428]
call rax
test eax, eax
je 0x1400128c6
jmp 0x140012e7a
mov dword [rbp + 0x4a4], 0
mov rax, qword [rbp + 0x428]
mov eax, dword [rax]
cmp dword [rbp + 0x4a4], eax
jae 0x14001297e
movsxd rax, dword [rbp + 0x4a4]
imul rax, rax, 0x128
lea rcx, [fcn.140011384]
mov rdx, qword [rbp + 0x428]
sub rcx, qword [rdx + rax + 0x18]
mov rax, rcx
movsxd rcx, dword [rbp + 0x4a4]
imul rcx, rcx, 0x128
mov rdx, qword [rbp + 0x428]
mov ecx, dword [rdx + rcx + 0x20]
cmp rax, rcx
jae 0x14001296b
movsxd rax, dword [rbp + 0x4a4]
imul rax, rax, 0x128
lea rcx, [rbp + 0x90]
mov rdx, qword [rbp + 0x428]
mov rdi, rcx
lea rsi, [rdx + rax + 8]
mov ecx, 0x128
rep movsb byte [rdi], byte [rsi]
mov r8d, 0x104
lea rdx, [rbp + 0x200]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
jmp 0x140012988
mov eax, dword [rbp + 0x4a4]
inc eax
mov dword [rbp + 0x4a4], eax
jmp 0x1400128d0
jmp 0x140012e7a
xor eax, eax
cmp eax, 1
je 0x140012a2f
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
mov r8d, 0x989680
mov rdx, qword [rbp + 8]
mov ecx, 5
call rax
test eax, eax
je 0x1400129c9
jmp 0x140012e7a
mov dword [rbp + 0x4c4], 0
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x28]
cmp dword [rax], 0
je 0x140012a2a
mov rax, qword [rbp + 0x28]
cmp qword [rax + 0x40], 0
je 0x140012a14
lea rdx, str.RobloxPlayerBeta.exe
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.ucrtbased.dll_wcscmp]
test eax, eax
jne 0x140012a14
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x48], rax
jmp 0x140012a2f
mov rax, qword [rbp + 0x28]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x28], rax
jmp 0x1400129db
jmp 0x140012988
mov rax, qword [rbp + 0x48]
mov r8d, dword [rax + 0x50]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbp + 0x68], rax
lea rdx, str.NtQueryInformationProcess
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], 0
mov r9d, 0xf4240
mov r8, qword [rbp + 0x588]
mov edx, 0x33
mov rcx, qword [rbp + 0x68]
call rax
mov dword [rbp + 0x484], 0
mov eax, dword [rbp + 0x484]
mov rcx, qword [rbp + 0x588]
cmp rax, qword [rcx]
jae 0x140012bba
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [rbp + 0x484]
imul rcx, rcx, 0x28
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000000
lea r9, [rbp + 0x548]
mov r8, rax
mov rax, qword [rbp + 0x588]
mov rdx, qword [rax + rcx + 0x10]
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
lea rdx, str.NtQueryObject
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], 0
mov r9d, 0x186a0
mov r8, qword [rbp + 0x5a8]
mov edx, 2
mov rcx, qword [rbp + 0x548]
call rax
mov rax, qword [rbp + 0x5a8]
mov rdx, qword [rax + 8]
lea rcx, str.IoCompletion
call qword [sym.imp.ucrtbased.dll_wcscmp]
test eax, eax
jne 0x140012b9a
mov eax, dword [rbp + 0x484]
imul rax, rax, 0x28
mov qword [rbp + 0xa58], rax
lea rdx, str.IoCompletion_handle_found:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011091
mov rcx, qword [rbp + 0x588]
mov rdx, qword [rbp + 0xa58]
mov rdx, qword [rcx + rdx + 0x10]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, [0x14001d068]
mov rcx, rax
call fcn.140011091
mov rax, qword [rbp + 0x548]
mov qword [rbp + 0x568], rax
jmp 0x140012bc4
mov rcx, qword [rbp + 0x548]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp + 0x484]
inc eax
mov dword [rbp + 0x484], eax
jmp 0x140012a87
jmp 0x140012e7a
mov eax, dword [rbp + 0xa8]
mov qword [rbp + 0x528], rax
mov qword [rbp + 0x448], 0
lea rdx, str.NtAllocateVirtualMemory
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
lea r9, [rbp + 0x528]
xor r8d, r8d
lea rdx, [rbp + 0x448]
mov rcx, qword [rbp + 0x68]
call rax
mov dword [rbp + 0x464], eax
lea rdx, str.addr___
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011091
lea rdx, [0x1400114a6]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [rbp + 0x448]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, [0x14001d068]
mov rcx, rax
call fcn.140011091
cmp dword [rbp + 0x464], 0
je 0x140012ca9
lea rdx, str.NtAllocateVirtualMemory:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011091
lea rdx, [0x1400114a6]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov edx, dword [rbp + 0x464]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x14001d068]
mov rcx, rax
call fcn.140011091
mov dword [rbp + 0x504], 0
mov eax, dword [rbp + 0xa8]
cmp dword [rbp + 0x504], eax
jae 0x140012d19
mov eax, dword [rbp + 0x504]
mov rcx, qword [rbp + 0xa0]
add rcx, rax
mov rax, rcx
mov ecx, dword [rbp + 0x504]
mov rdx, qword [rbp + 0x448]
add rdx, rcx
mov rcx, rdx
mov qword [rsp + 0x20], 0
mov r9d, 0x1000
mov r8, rax
mov rdx, rcx
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov eax, dword [rbp + 0x504]
add eax, 0x1000
mov dword [rbp + 0x504], eax
jmp 0x140012cb3
lea rax, [0x140011483]
sub rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x448]
add rcx, rax
mov rax, rcx
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateThreadpoolWait]
mov qword [rbp + 0x6a8], rax
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8d, 0x1d8
xor edx, edx
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x668], rax
mov qword [rsp + 0x20], 0
mov r9d, 0x1d8
mov r8, qword [rbp + 0x6a8]
mov rdx, qword [rbp + 0x668]
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8d, 0x48
xor edx, edx
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x688], rax
mov rax, qword [rbp + 0x6a8]
add rax, 0x188
mov qword [rsp + 0x20], 0
mov r9d, 0x48
mov r8, rax
mov rdx, qword [rbp + 0x688]
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea r9, str.PoolPartyEvent
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbp + 0x6c8], rax
lea rdx, str.ZwAssociateWaitCompletionPacket
mov rcx, qword [0x140020440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov rcx, qword [rbp + 0x668]
mov qword [rsp + 0x20], rcx
mov r9, qword [rbp + 0x688]
mov r8, qword [rbp + 0x6c8]
mov rdx, qword [rbp + 0x568]
mov rcx, qword [rbp + 0x6a8]
mov rcx, qword [rcx + 0x170]
call rax
mov rcx, qword [rbp + 0x6c8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
xor eax, eax
jmp 0x140012ece
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0xa54], eax
lea rdx, str.An_error_occurred:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011091
lea rdx, [0x1400114a6]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov ecx, dword [rbp + 0xa54]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
lea rdx, [0x14001d068]
mov rcx, rax
call fcn.140011091
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001ce10]
call fcn.14001144c
mov rax, rdi
mov rcx, qword [rbp + 0xa60]
xor rcx, rbp
call fcn.140011267
lea rsp, [rbp + 0xa70]
pop rdi
pop rsi
pop rbp
ret