Function at 0x1000c680
Capabilities:
Encrypt data using rc4 prga
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001f4dd
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x1002abc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], ebx
test edi, edi
je 0x1000c6cf
test ebx, ebx
jne 0x1000c71d
push str.engine.dll
call esi
push str.client.dll
mov edi, eax
call esi
push str.vstdlib.dll
mov ebx, eax
call esi
push str.vgui2.dll
mov dword [ebp - 0x2c], eax
call esi
push str.vguimatsurface.dll
mov dword [ebp - 0x30], eax
call esi
push str.vphysics.dll
mov dword [ebp - 0x34], eax
call esi
push str.materialsystem.dll
mov dword [ebp - 0x38], eax
call esi
push 0x64
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1000c6c7
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateInterface
push edi
call esi
push str.CreateInterface
push ebx
mov dword [ebp - 0x44], eax
call esi
push str.CreateInterface
push dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
call esi
push str.CreateInterface
push dword [ebp - 0x30]
mov dword [ebp - 0x54], eax
call esi
push str.CreateInterface
push dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
call esi
push str.CreateInterface
push dword [ebp - 0x38]
mov dword [ebp - 0x4c], eax
call esi
push str.CreateInterface
push dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
call esi
push 0xa
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x44], 0
je 0x1000c723
cmp dword [ebp - 0x40], 0
je 0x1000c723
mov esi, dword [ebp - 0x40]
push esi
push str.g_pClient
push str.VClient
call fcn.1000bfd0
mov ebx, dword [ebp - 0x48]
push esi
push str.g_pEntList
push str.VClientEntityList
mov dword [ebx], eax
call fcn.1000bfd0
push esi
push str.g_pPred
push str.VClientPrediction
mov dword [ebx + 0x10], eax
call fcn.1000bfd0
push esi
push str.g_pGameMovement
push str.GameMovement
mov dword [ebx + 0x18], eax
call fcn.1000bfd0
mov esi, dword [ebp - 0x44]
push esi
push str.g_pEngine
push str.VEngineClient
mov dword [ebx + 0x1c], eax
call fcn.1000bfd0
push esi
push str.g_pModel
push str.VModelInfoClient
mov dword [ebx + 4], eax
call fcn.1000bfd0
add esp, 0x48
mov dword [ebx + 0x24], eax
push esi
push str.g_pDebugOverlay
push str.VDebugOverlay
call fcn.1000bfd0
push dword [ebp - 0x4c]
mov dword [ebx + 0x28], eax
push str.g_pSurface
push str.VGUI_Surface
call fcn.1000bfd0
push dword [ebp - 0x50]
mov dword [ebx + 8], eax
push str.g_pPanel
push str.VGUI_Panel
call fcn.1000bfd0
push dword [ebp - 0x54]
mov dword [ebx + 0xc], eax
push str.g_pConVar
push str.VEngineCvar
call fcn.1000bfd0
push esi
push str.g_pEngineTrace
push str.EngineTraceClient
mov dword [ebx + 0x48], eax
call fcn.1000bfd0
push dword [ebp - 0x58]
mov dword [ebx + 0x2c], eax
push str.g_pPhysics
push str.VPhysicsSurfaceProps
call fcn.1000bfd0
add esp, 0x48
mov dword [ebx + 0x38], eax
push esi
push str.g_pModelRender
push str.VEngineModel
call fcn.1000bfd0
push esi
push str.g_pRenderView
push str.VEngineRenderView
mov dword [ebx + 0x3c], eax
call fcn.1000bfd0
push dword [ebp - 0x5c]
mov dword [ebx + 0x40], eax
push str.g_pMaterialSystem
push str.VMaterialSystem
call fcn.1000bfd0
add esp, 0x24
mov dword [ebx + 0x44], eax
mov ecx, 0x75
xor edx, edx
nop dword [eax]
mov al, byte [edx + str.27:___2__2]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1000c8ed
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x14
jl 0x1000c8d0
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push 0
push eax
call esi
mov dword [ebx + 0x34], eax
add esp, 8
mov eax, dword [0x1002d608]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov dword [ebx + 0x20], eax
mov eax, dword [eax]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x4c], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001d9f0
mov esp, ebp
pop ebp
ret