Function at 0x10019370
Capabilities:
Allocate or change rwx memory
Create thread
Execute shellcode via indirect call
Link many functions at runtime
Spawn thread to rwx shellcode
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x10094400]
xor eax, ebp
mov dword [ebp - 4], eax
call fcn.100064b0
test eax, eax
jne 0x10019391
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp dword [0x10097b6c], 0
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
jne 0x100193b0
push 0x32
call edi
cmp dword [0x10097b6c], 0
je 0x100193a3
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.d3d9.dll
call ebx
test eax, eax
je 0x100193b6
push str.xx____xx____xx
push 0x100877dc
mov ecx, eax
call fcn.100044e0
add esp, 8
mov ecx, dword [eax + 2]
push 0x100877ec
push str.user32.dll
mov eax, dword [ecx + 0xa8]
mov dword [0x10095b00], eax
mov eax, dword [ecx + 0xc]
mov dword [0x10095b10], eax
mov eax, dword [ecx + 0x1c]
mov dword [0x10095b14], eax
mov eax, dword [ecx + 0xe4]
mov dword [0x10095b04], eax
mov eax, dword [ecx + 0x164]
mov dword [0x10095b08], eax
mov eax, dword [ecx + 0xc0]
mov dword [0x10095b0c], eax
mov eax, dword [ecx + 0x68]
mov dword [0x10095b1c], eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
mov dword [0x1009593c], eax
add eax, 5
push str.keybd_event
push str.user32.dll
mov dword [0x100959e4], eax
call ebx
push eax
call esi
mov dword [0x100968f0], eax
add eax, 5
push str.D3DXVec3Project
push str.d3dx9_38.dll
mov dword [0x10095868], eax
call ebx
push eax
call esi
push str.D3DXCreateFontA
push str.d3dx9_38.dll
mov dword [0x100959ec], eax
call ebx
push eax
call esi
mov dword [0x100959d4], eax
add eax, 5
push str.D3DXCreateLine
push str.d3dx9_38.dll
mov dword [0x10095b30], eax
call ebx
push eax
call esi
mov dword [0x10095bfc], eax
add eax, 5
mov dword [0x10095b50], eax
call fcn.100077a0
call fcn.100079a0
push 0
push 0
push 0
push 0x10004640
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [0x10095e70], 0
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [0x10095844]
jne 0x10019530
mov esi, dword [ecx + 0x28]
cmp esi, 0x1000
jbe 0x10019528
push 0xc
call fcn.10076338
add esp, 4
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x10]
push ecx
push 0x40
push 0xc
push eax
call ebx
mov ecx, dword [esi]
mov edx, dword [ebp - 8]
mov dword [edx], ecx
mov ax, word [esi + 4]
mov ecx, dword [0x10095844]
mov word [edx + 4], ax
mov al, byte [esi + 6]
mov byte [edx + 6], al
lea eax, [edx + 7]
sub esi, eax
mov byte [eax], 0xe9
add esi, 2
mov dword [eax + 1], esi
jmp 0x1001952a
xor edx, edx
mov dword [0x10095e70], edx
mov eax, dword [ecx]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
cmp esi, 0x1000
jbe 0x10019563
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call ebx
mov al, byte [0x10089ba0]
mov byte [esi], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call ebx
mov ecx, dword [0x10095844]
mov eax, dword [ecx + 0x5c]
push 0
push 0
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push dword [ecx + 0x34]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [0x10095844]
mov esi, dword [eax + 0x28]
cmp esi, 0x1000
jbe 0x100195ac
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call ebx
mov al, byte [0x10088c74]
mov byte [esi], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call ebx
call fcn.1000ea70
mov eax, dword [0x10097954]
cmp dword [eax], 0xffffffff
jne 0x100195dd
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push str.Point_Blank
push 0
call esi
push 0x64
mov dword [0x100979a0], eax
call edi
mov eax, dword [0x10097954]
cmp dword [eax], 0xffffffff
je 0x100195c1
mov eax, dword [0x10095844]
mov eax, dword [eax]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
cmp esi, 0x1000
jbe 0x1001960f
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call ebx
mov al, byte [0x10089ba4]
mov byte [esi], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call ebx
call fcn.10008730
push 0x3e8
call edi
mov ecx, dword [0x10097a28]
mov edx, 0x10019000
push 6
call fcn.10004590
mov ecx, dword [0x10095b04]
mov edx, 0x10095e04
push 5
call fcn.10004590
mov ecx, dword [0x10095b08]
mov edx, 0x10095de4
push 5
call fcn.10004590
mov ecx, dword [0x10095b0c]
mov edx, 0x10095da4
push 5
call fcn.10004590
mov ecx, dword [0x10095b14]
mov edx, 0x10095e44
push 5
call fcn.10004590
mov ecx, dword [0x10095b10]
mov edx, 0x10095dc4
push 5
call fcn.10004590
mov ecx, dword [0x10095b1c]
mov edx, 0x10095e24
push 5
call fcn.10004590
mov ecx, dword [ebp - 4]
add esp, 0x1c
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.10075c0b
mov esp, ebp
pop ebp
ret