Function at 0x10013310
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push esi
push edi
mov edx, 0x1001b840
mov ecx, str.snapshot
call fcn.1001ba30
test al, al
je 0x100138c1
mov edx, 0x1001b840
mov ecx, str.screenshot
call fcn.1001ba30
test al, al
je 0x100138c1
mov edx, 0x1001b850
mov ecx, str.jump
call fcn.1001ba30
test al, al
je 0x100138c1
mov edx, 0x1001b910
mov ecx, str._jump
call fcn.1001ba30
test al, al
je 0x100138c1
cmp dword [0x1018d18c], 0
je 0x100138c1
mov edx, 0x100a4ce0
mov ecx, str.ResetHUD
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a48e0
mov ecx, str.BombDrop
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a5040
mov ecx, str.Battery
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a5160
mov ecx, str.Health
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a5280
mov ecx, str.DeathMsg
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a4600
mov ecx, str.SetFOV
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a4720
mov ecx, str.TeamInfo
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a4480
mov ecx, str.MOTD
call fcn.100a5720
test al, al
je 0x100138c1
mov edx, 0x100a4320
mov ecx, str.ScoreAttrib
call fcn.100a5720
test al, al
je 0x100138c1
cmp dword [0x1018cfb4], 0
je 0x100134fe
mov edx, 0x1009bd60
mov ecx, 0x39
call fcn.1009ce90
test al, al
je 0x100138c1
mov edx, 0x1009be80
mov ecx, 0x3a
call fcn.1009ce90
test al, al
je 0x100138c1
mov edx, 0x1009c270
mov ecx, 9
call fcn.1009ce90
test al, al
je 0x100138c1
mov edx, 0x1009c310
mov ecx, 0x33
call fcn.1009ce90
test al, al
je 0x100138c1
mov edx, 0x1009c3b0
mov ecx, 0x29
call fcn.1009ce90
test al, al
je 0x100138c1
mov edx, 0x1009cd90
mov ecx, 2
call fcn.1009ce90
test al, al
je 0x100138c1
mov edx, 0x1009cde0
mov ecx, 0x2b
call fcn.1009ce90
test al, al
je 0x100138c1
push 0x10012b00
push 0xfffffffffffffffc
push dword [0x10189cdc]
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x1018bbd8], eax
test eax, eax
jne 0x10013534
push str.InstallHooks
push str._s:_windowproc_not_hooked._n
call fcn.100a6550
add esp, 8
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1018baa8]
test eax, eax
je 0x10013582
push fcn.10012b80
push eax
mov ecx, 0x1018d204
call fcn.1000d1a0
cmp byte [0x1018d20c], 0
jne 0x10013582
mov eax, dword [0x1018d204]
test eax, eax
je 0x10013582
push 0x1018d21c
push dword [0x1018d208]
push eax
call fcn.100c1510
push dword [0x1018d204]
call fcn.100c1930
mov byte [0x1018d20c], 1
mov ecx, dword [0x1018bbcc]
mov eax, dword [0x1018b74c]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0x10190e60
mov dword [ecx + 0x84], 0x1000d760
mov dword [ecx + 0x80], 0x10011d10
mov dword [ecx + 0x1c], 0x10011950
mov dword [ecx + 0x64], 0x1000e1f0
mov dword [ecx + 0x38], 0x1000dd40
mov dword [ecx + 0x3c], 0x10011970
mov dword [eax + 0x64], 0x100128d0
mov eax, dword [0x1018baf4]
push 0x40
push 0x64
push dword [0x1018bb0c]
mov dword [ecx + 0x4c], 0x1000efc0
mov dword [ecx + 0x88], 0x10011d30
mov dword [ecx + 0x68], 0x100128b0
mov dword [eax + 0x10], 0x100119d0
mov dword [eax + 0x1d8], 0x10011cd0
call edi
test eax, eax
je 0x10013641
mov esi, dword [0x1018bb0c]
push 0x10190e60
mov dword [esi + 0x48], 0x10011540
mov dword [esi + 0x18], 0x10011940
push dword [0x10190e60]
push 0x64
push esi
call edi
push 0x64
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [0x1018b74c]
mov dword [eax + 0x54], 0x1000e2f0
mov eax, dword [0x1018bab0]
test eax, eax
je 0x1001369b
push 0x1000e7e0
push eax
mov ecx, 0x1018d250
call fcn.1000d1a0
cmp byte [0x1018d258], 0
jne 0x1001369b
mov eax, dword [0x1018d250]
test eax, eax
je 0x1001369b
push 0x1018d268
push dword [0x1018d254]
push eax
call fcn.100c1510
push dword [0x1018d250]
call fcn.100c1930
mov byte [0x1018d258], 1
mov eax, dword [0x1018baf0]
test eax, eax
je 0x100136e9
push 0x100128e0
push eax
mov ecx, 0x1018d278
call fcn.1000d1a0
cmp byte [0x1018d280], 0
jne 0x100136e9
mov eax, dword [0x1018d278]
test eax, eax
je 0x100136e9
push 0x1018d290
push dword [0x1018d27c]
push eax
call fcn.100c1510
push dword [0x1018d278]
call fcn.100c1930
mov byte [0x1018d280], 1
mov eax, dword [0x1018b994]
test eax, eax
je 0x10013737
push 0x10012ee0
push eax
mov ecx, 0x1018d1c0
call fcn.1000d1a0
cmp byte [0x1018d1c8], 0
jne 0x10013737
mov eax, dword [0x1018d1c0]
test eax, eax
je 0x10013737
push 0x1018d1d8
push dword [0x1018d1c4]
push eax
call fcn.100c1510
push dword [0x1018d1c0]
call fcn.100c1930
mov byte [0x1018d1c8], 1
push str.opengl32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
cmp esi, 0xffffffff
je 0x100138ae
test esi, esi
je 0x100138ae
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.glColor4f
push esi
call edi
mov dword [0x10190e4c], eax
test eax, eax
jne 0x10013776
mov eax, str.___s:_color4f_not_found._n
jmp 0x100138b3
mov ecx, dword [0x1018ba54]
test ecx, ecx
je 0x100137cf
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
test al, al
je 0x100137cf
cmp dword [0x1018ca28], 0
je 0x100137cf
mov eax, dword [0x1018ca2c]
test eax, eax
je 0x100137c8
mov ecx, dword [0x1018ca34]
test ecx, ecx
je 0x100137c8
push 2
push ecx
push eax
push str.xx____xx_____xxxxx____x____xxxxxxxxx
push 0x1012518c
call fcn.100865c0
test eax, eax
je 0x100137c8
mov eax, dword [eax]
test eax, eax
je 0x100137c8
mov eax, dword [eax]
jmp 0x100137ca
xor eax, eax
mov dword [0x10190e48], eax
cmp dword [0x10190e48], 0
jne 0x100137f3
push str.wglSwapBuffers
push esi
call edi
mov dword [0x10190e48], eax
test eax, eax
jne 0x100137f3
mov eax, str.___s:_swapbuffers_not_found._n
jmp 0x100138b3
push 0x10087a00
push dword [0x10190e4c]
mov ecx, 0x101909d0
call fcn.1000d1a0
cmp byte [0x101909d8], 0
jne 0x1001383d
mov eax, dword [0x101909d0]
test eax, eax
je 0x1001383d
push 0x101909e8
push dword [0x101909d4]
push eax
call fcn.100c1510
push dword [0x101909d0]
call fcn.100c1930
mov byte [0x101909d8], 1
push 0x10087980
push dword [0x10190e48]
mov ecx, 0x101909ec
call fcn.1000d1a0
cmp byte [0x101909f4], 0
jne 0x10013887
mov eax, dword [0x101909ec]
test eax, eax
je 0x10013887
push 0x10190a04
push dword [0x101909f0]
push eax
call fcn.100c1510
push dword [0x101909ec]
call fcn.100c1930
mov byte [0x101909f4], 1
push 0x101041dc
call dword [0x1018b518]
add esp, 4
push 0x101041e4
call dword [0x1018b518]
add esp, 4
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, str.___s:_handle_opengl32.dll_not_found._n
push str.HookOpenGL
push eax
call fcn.100a6550
add esp, 8
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret