Function at 0x10165e20
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.client.dll
call edi
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10165e67
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10165e67
push 0
push str.VClient017
call eax
add esp, 8
mov dword [0x1029dc64], eax
test eax, eax
jne 0x10165e81
jmp 0x10165e71
mov dword [0x1029dc64], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.BaseClientDLL
push 0
call esi
push str.client.dll
call edi
test eax, eax
je 0x10165eaf
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10165eaf
push 0
push str.VClientDllSharedAppSystems001
call eax
add esp, 8
mov dword [0x1029e088], eax
test eax, eax
jne 0x10165ec9
jmp 0x10165eb9
mov dword [0x1029e088], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.ClientDLLSharedAppSystems
push 0
call esi
push str.client.dll
call edi
test eax, eax
je 0x10165ef7
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10165ef7
push 0
push str.VClientEntityList003
call eax
add esp, 8
mov dword [0x1029daf4], eax
test eax, eax
jne 0x10165f11
jmp 0x10165f01
mov dword [0x1029daf4], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.ClientEntityList
push 0
call esi
push str.client.dll
call edi
test eax, eax
je 0x10165f3f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10165f3f
push 0
push str.VClientPrediction001
call eax
add esp, 8
mov dword [0x1029dca0], eax
test eax, eax
jne 0x10165f59
jmp 0x10165f49
mov dword [0x1029dca0], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.Prediction
push 0
call esi
push str.client.dll
call edi
test eax, eax
je 0x10165f87
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10165f87
push 0
push str.GameMovement001
call eax
add esp, 8
mov dword [0x1029dda8], eax
test eax, eax
jne 0x10165fa1
jmp 0x10165f91
mov dword [0x1029dda8], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.GameMovement
push 0
call esi
push str.vphysics.dll
call edi
test eax, eax
je 0x10165fcf
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10165fcf
push 0
push str.VPhysics031
call eax
add esp, 8
mov dword [0x1029de80], eax
test eax, eax
jne 0x10165fe9
jmp 0x10165fd9
mov dword [0x1029de80], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.Physics
push 0
call esi
push str.vphysics.dll
call edi
test eax, eax
je 0x10166017
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10166017
push 0
push str.VPhysicsCollision007
call eax
add esp, 8
mov dword [0x1029de84], eax
test eax, eax
jne 0x10166031
jmp 0x10166021
mov dword [0x1029de84], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.PhysicsCollision
push 0
call esi
push str.client.dll
call edi
test eax, eax
je 0x1016605f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1016605f
push 0
push str.VCENTERPRINT002
call eax
add esp, 8
mov dword [0x1029e098], eax
test eax, eax
jne 0x10166079
jmp 0x10166069
mov dword [0x1029e098], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.CenterPrint
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x101660a7
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x101660a7
push 0
push str.VModelInfoClient006
call eax
add esp, 8
mov dword [0x1029daf0], eax
test eax, eax
jne 0x101660c1
jmp 0x101660b1
mov dword [0x1029daf0], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.ModelInfoClient
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x101660ef
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x101660ef
push 0
push str.VEngineClient013
call eax
add esp, 8
mov dword [0x1029da6c], eax
test eax, eax
jne 0x10166109
jmp 0x101660f9
mov dword [0x1029da6c], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.EngineClient
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x10166137
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10166137
push 0
push str.VEngineEffects001
call eax
add esp, 8
mov dword [0x1029e0a4], eax
test eax, eax
jne 0x10166151
jmp 0x10166141
mov dword [0x1029e0a4], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.EngineEffects
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x1016617f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1016617f
push 0
push str.EngineTraceClient003
call eax
add esp, 8
mov dword [0x1029da74], eax
test eax, eax
jne 0x10166199
jmp 0x10166189
mov dword [0x1029da74], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.EngineTrace
push 0
call esi
push str.vgui2.dll
call edi
test eax, eax
je 0x101661c7
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x101661c7
push 0
push str.VGUI_Panel009
call eax
add esp, 8
mov dword [0x1029df50], eax
test eax, eax
jne 0x101661e1
jmp 0x101661d1
mov dword [0x1029df50], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.VGuiPanel
push 0
call esi
push str.vguimatsurface.dll
call edi
test eax, eax
je 0x1016620f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1016620f
push 0
push str.VGUI_Surface030
call eax
add esp, 8
mov dword [0x1029d9cc], eax
test eax, eax
jne 0x10166229
jmp 0x10166219
mov dword [0x1029d9cc], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.MatSystemSurface
push 0
call esi
push str.vstdlib.dll
call edi
test eax, eax
je 0x10166257
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10166257
push 0
push str.VEngineCvar004
call eax
add esp, 8
mov dword [0x1029d9d0], eax
test eax, eax
jne 0x10166271
jmp 0x10166261
mov dword [0x1029d9d0], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.Cvar
push 0
call esi
mov eax, dword [0x1029a770]
test eax, eax
jne 0x10166289
mov ecx, 0x1029a770
call fcn.1016f570
mov eax, dword [0x1029a770]
mov eax, dword [eax]
mov dword [0x1029da70], eax
test eax, eax
jne 0x101662a3
push 0x10
push str.CInterfaces::Init______nullptr
push str.GlobalVars
push eax
call esi
mov eax, dword [0x1029a720]
test eax, eax
jne 0x101662bb
mov ecx, 0x1029a720
call fcn.1016f570
mov eax, dword [0x1029a720]
mov eax, dword [eax]
mov dword [0x1029dca4], eax
test eax, eax
jne 0x101662d5
push 0x10
push str.CInterfaces::Init______nullptr
push str.ClientState
push eax
call esi
mov eax, dword [0x1029a6f0]
test eax, eax
jne 0x101662ed
mov ecx, 0x1029a6f0
call fcn.1016f570
mov eax, dword [0x1029a6f0]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x1029dcc4], eax
test eax, eax
jne 0x10166309
push 0x10
push str.CInterfaces::Init______nullptr
push str.ClientModeShared
push eax
call esi
push str.engine.dll
call edi
test eax, eax
je 0x10166337
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10166337
push 0
push str.VEngineVGui002
call eax
add esp, 8
mov dword [0x1029da10], eax
test eax, eax
jne 0x10166351
jmp 0x10166341
mov dword [0x1029da10], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.EngineVGui
push 0
call esi
mov eax, dword [0x1029a6d0]
test eax, eax
jne 0x10166369
mov ecx, 0x1029a6d0
call fcn.1016f570
mov eax, dword [0x1029a6d0]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x1029e090], eax
test eax, eax
jne 0x10166385
push 0x10
push str.CInterfaces::Init______nullptr
push str.DemoPlayer
push eax
call esi
push str.engine.dll
call edi
test eax, eax
je 0x101663b3
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x101663b3
push 0
push str.VEngineRenderView014
call eax
add esp, 8
mov dword [0x1029deac], eax
test eax, eax
jne 0x101663cd
jmp 0x101663bd
mov dword [0x1029deac], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.RenderView
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x101663f0
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x101663f0
push 0
push str.VDebugOverlay003
call eax
add esp, 8
cmp dword [0x1029deac], 0
jne 0x10166409
push 0x10
push str.CInterfaces::Init______nullptr
push str.RenderView
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x10166437
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10166437
push 0
push str.GAMEEVENTSMANAGER002
call eax
add esp, 8
mov dword [0x1029e0ac], eax
test eax, eax
jne 0x10166451
jmp 0x10166441
mov dword [0x1029e0ac], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.GameEventManager
push 0
call esi
push str.engine.dll
call edi
test eax, eax
je 0x1016647f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1016647f
push 0
push str.VEngineModel016
call eax
add esp, 8
mov dword [0x1029deb0], eax
test eax, eax
jne 0x10166499
jmp 0x10166489
mov dword [0x1029deb0], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.ModelRender
push 0
call esi
push str.MaterialSystem.dll
call edi
test eax, eax
je 0x101664c7
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x101664c7
push 0
push str.VMaterialSystem081
call eax
add esp, 8
mov dword [0x1029dc40], eax
test eax, eax
jne 0x101664e1
jmp 0x101664d1
mov dword [0x1029dc40], 0
push 0x10
push str.CInterfaces::Init______nullptr
push str.MaterialSystem
push 0
call esi
mov eax, dword [0x1029a690]
test eax, eax
jne 0x101664f9
mov ecx, 0x1029a690
call fcn.1016f570
mov eax, dword [0x1029a690]
mov eax, dword [eax]
mov dword [0x1029dc68], eax
test eax, eax
jne 0x10166513
push 0x10
push str.CInterfaces::Init______nullptr
push str.TFGCClientSystem
push eax
call esi
mov eax, dword [0x1029a750]
test eax, eax
jne 0x1016652b
mov ecx, 0x1029a750
call fcn.1016f570
mov eax, dword [0x1029a750]
call eax
mov dword [0x1029dc10], eax
test eax, eax
jne 0x10166545
push 0x10
push str.CInterfaces::Init______nullptr
push str.TFPartyClient
push eax
call esi
mov eax, dword [0x1029a680]
test eax, eax
jne 0x1016655d
mov ecx, 0x1029a680
call fcn.1016f570
mov eax, dword [0x1029a680]
mov eax, dword [eax]
mov dword [0x1029e094], eax
test eax, eax
jne 0x10166577
push 0x10
push str.CInterfaces::Init______nullptr
push str.TFInventoryManager
push eax
call esi
mov eax, dword [0x10299d60]
test eax, eax
jne 0x1016658f
mov ecx, 0x10299d60
call fcn.1016f570
mov eax, dword [0x10299d60]
mov eax, dword [eax]
mov dword [0x1029dca8], eax
test eax, eax
jne 0x101665a9
push 0x10
push str.CInterfaces::Init______nullptr
push str.RandomSeed
push eax
call esi
mov eax, dword [0x10299cf4]
test eax, eax
jne 0x101665c1
mov ecx, 0x10299cf4
call fcn.1016f570
mov eax, dword [0x10299cf4]
mov eax, dword [eax]
mov dword [0x1029dce0], eax
test eax, eax
jne 0x101665db
push 0x10
push str.CInterfaces::Init______nullptr
push str.AllowSecureServers
push eax
call esi
mov edi, dword [0x1029dc64]
test edi, edi
jne 0x101665f4
push 0x10
push str.CInterfaces::Init______nullptr
push str.pdwClient
push edi
call esi
mov edi, dword [edi]
test edi, edi
jne 0x10166609
push 0x10
push str.CInterfaces::Init______nullptr
push str.pdwTable
push edi
call esi
mov eax, dword [edi + 0x6c]
mov eax, dword [eax + 5]
mov eax, dword [eax]
mov dword [0x1029e05c], eax
test eax, eax
jne 0x10166629
push 0x10
push str.CInterfaces::Init______nullptr
push str.ViewRender
push eax
call esi
call fcn.10166ab0
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x1029dee0], eax
test eax, eax
jne 0x1016664a
push 0x10
push str.CInterfaces::Init______nullptr
push str.Input
push eax
call esi
call fcn.10166850
mov dword [0x1029e09c], eax
test eax, eax
jne 0x10166667
push 0x10
push str.CInterfaces::Init______nullptr
push str.KeyValuesSystem
push eax
call esi
call fcn.10166ad0
mov eax, dword [eax]
mov dword [0x1029dd40], eax
test eax, eax
jne 0x10166686
push 0x10
push str.CInterfaces::Init______nullptr
push str.UniformRandomStream
push eax
call esi
sub esp, 8
call fcn.10166af0
mov dword [0x1029df98], eax
test eax, eax
jne 0x101666a6
push 0x10
push str.CInterfaces::Init______nullptr
push str.StudioRender
push eax
call esi
sub esp, 8
call fcn.10166b30
mov dword [0x1029e068], eax
test eax, eax
jne 0x101666c6
push 0x10
push str.CInterfaces::Init______nullptr
push str.InputSystem
push eax
call esi
sub esp, 8
call fcn.10166b70
mov dword [0x1029e0a8], eax
test eax, eax
jne 0x101666e6
push 0x10
push str.CInterfaces::Init______nullptr
push str.EffectsClient
push eax
call esi
mov eax, dword [0x1029da6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x1cc]
mov dword [0x1029e07c], eax
test eax, eax
jne 0x1016670b
push 0x10
push str.CInterfaces::Init______nullptr
push str.AchievementMgr
push eax
call esi
call fcn.10166bb0
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x1029dfa4], eax
test eax, eax
jne 0x1016672c
push 0x10
push str.CInterfaces::Init______nullptr
push str.ViewRenderBeams
push eax
call esi
sub esp, 8
call fcn.10166bd0
mov dword [0x1029e078], eax
test eax, eax
jne 0x1016674c
push 0x10
push str.CInterfaces::Init______nullptr
push str.EngineSound
push eax
call esi
call fcn.10166c10
mov eax, dword [eax]
mov dword [0x1029df4c], eax
test eax, eax
jne 0x1016676b
push 0x10
push str.CInterfaces::Init______nullptr
push str.TFGameRules
push eax
call esi
call fcn.10166c30
mov eax, dword [eax]
mov dword [0x1029e084], eax
test eax, eax
jne 0x1016678a
push 0x10
push str.CInterfaces::Init______nullptr
push str.ThirdPersonManager
push eax
call esi
call fcn.10166c50
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x1029e064], eax
test eax, eax
jne 0x101667ab
push 0x10
push str.CInterfaces::Init______nullptr
push str.DirectXDevice
push eax
call esi
call fcn.10166c70
mov eax, dword [eax]
mov dword [0x1029e080], eax
test eax, eax
jne 0x101667ca
push 0x10
push str.CInterfaces::Init______nullptr
push str.ClientModeTF
push eax
call esi
sub esp, 8
call fcn.10166c90
mov dword [0x1029e0a0], eax
test eax, eax
jne 0x101667ea
push 0x10
push str.CInterfaces::Init______nullptr
push str.Localize
push eax
call esi
call fcn.10166cd0
mov eax, dword [eax]
mov dword [0x1029e08c], eax
test eax, eax
jne 0x10166809
push 0x10
push str.CInterfaces::Init______nullptr
push str.HostState
push eax
call esi
call fcn.10166cf0
mov eax, dword [eax]
mov dword [0x1029de10], eax
test eax, eax
jne 0x10166828
push 0x10
push str.CInterfaces::Init______nullptr
push str.TFGameMovement
push eax
call esi
call fcn.10166d10
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x1029dda4], eax
test eax, eax
jne 0x10166849
push 0x10
push str.CInterfaces::Init______nullptr
push str.MoveHelper
push eax
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret