Function at 0x100015c0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov ecx, 0x10020d80
call fcn.10016540
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.client.dll
call ebx
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1000161a
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x1000160a
push 0
push str.VClient017
call eax
add esp, 8
test eax, eax
jne 0x1000161c
push 0x10
push str.Failed_to_find_interface:
push str.VClient017
push 0
call esi
xor eax, eax
push str.client.dll
mov dword [0x10020df0], eax
call ebx
test eax, eax
je 0x10001658
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001648
push 0
push str.VClientEntityList003
call eax
add esp, 8
test eax, eax
jne 0x1000165a
push 0x10
push str.Failed_to_find_interface:
push str.VClientEntityList003
push 0
call esi
xor eax, eax
push str.client.dll
mov dword [0x10020df8], eax
call ebx
test eax, eax
je 0x10001696
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001686
push 0
push str.GameMovement001
call eax
add esp, 8
test eax, eax
jne 0x10001698
push 0x10
push str.Failed_to_find_interface:
push str.GameMovement001
push 0
call esi
xor eax, eax
push str.client.dll
mov dword [0x10020e08], eax
call ebx
test eax, eax
je 0x100016d4
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x100016c4
push 0
push str.VClientPrediction001
call eax
add esp, 8
test eax, eax
jne 0x100016d6
push 0x10
push str.Failed_to_find_interface:
push str.VClientPrediction001
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10020e10], eax
call ebx
test eax, eax
je 0x10001712
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001702
push 0
push str.VEngineClient014
call eax
add esp, 8
test eax, eax
jne 0x10001714
push 0x10
push str.Failed_to_find_interface:
push str.VEngineClient014
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10020dfc], eax
call ebx
test eax, eax
je 0x10001750
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001740
push 0
push str.EngineTraceClient003
call eax
add esp, 8
test eax, eax
jne 0x10001752
push 0x10
push str.Failed_to_find_interface:
push str.EngineTraceClient003
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10020dcc], eax
call ebx
test eax, eax
je 0x1000178e
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x1000177e
push 0
push str.VEngineVGui001
call eax
add esp, 8
test eax, eax
jne 0x10001790
push 0x10
push str.Failed_to_find_interface:
push str.VEngineVGui001
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10020e04], eax
call ebx
test eax, eax
je 0x100017cc
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x100017bc
push 0
push str.VEngineRenderView014
call eax
add esp, 8
test eax, eax
jne 0x100017ce
push 0x10
push str.Failed_to_find_interface:
push str.VEngineRenderView014
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10020dec], eax
call ebx
test eax, eax
je 0x1000180a
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x100017fa
push 0
push str.VModelInfoClient006
call eax
add esp, 8
test eax, eax
jne 0x1000180c
push 0x10
push str.Failed_to_find_interface:
push str.VModelInfoClient006
push 0
call esi
xor eax, eax
push str.vguimatsurface.dll
mov dword [0x10020df4], eax
call ebx
test eax, eax
je 0x10001848
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001838
push 0
push str.VGUI_Surface030
call eax
add esp, 8
test eax, eax
jne 0x1000184a
push 0x10
push str.Failed_to_find_interface:
push str.VGUI_Surface030
push 0
call esi
xor eax, eax
push 0x1001a4c0
mov dword [0x10020e14], eax
call ebx
test eax, eax
je 0x10001886
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001876
push 0
push str.VEngineCvar004
call eax
add esp, 8
test eax, eax
jne 0x10001888
push 0x10
push str.Failed_to_find_interface:
push str.VEngineCvar004
push 0
call esi
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [0x10020e18], eax
mov eax, dword [0x10020dbc]
mov eax, dword [eax + 8]
mov dword [0x10020e1c], eax
test eax, eax
jne 0x100018b4
push 0x10
push str.FATAL_ERROR
push str.I::GlobalVarsBase__nullptr
push 0
call esi
mov eax, dword [0x10020db0]
mov eax, dword [eax + 2]
mov dword [0x10020e00], eax
test eax, eax
jne 0x100018d4
push 0x10
push str.FATAL_ERROR
push str.I::PredictionPlayer__nullptr
push eax
call esi
mov eax, dword [0x10020dc0]
mov eax, dword [eax + 1]
mov dword [0x10020de8], eax
test eax, eax
jne 0x100018f4
push 0x10
push str.FATAL_ERROR
push str.I::ClientState__nullptr
push eax
call esi
mov edi, dword [0x10020df0]
test edi, edi
jne 0x1000190d
push 0x10
push str.FATAL_ERROR
push str.pdwClient__nullptr
push edi
call esi
mov edi, dword [edi]
test edi, edi
jne 0x10001922
push 0x10
push str.FATAL_ERROR
push str.pdwTable__nullptr
push edi
call esi
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 7]
mov eax, dword [eax]
mov dword [0x10020e0c], eax
test eax, eax
jne 0x10001942
push 0x10
push str.FATAL_ERROR
push str.I::ClientMode__nullptr
push eax
call esi
mov ecx, dword [0x10020e18]
push str.sv_gravity
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10020e20], eax
test eax, eax
jne 0x1000196a
push 0x10
push str.FATAL_ERROR
push str.sv_gravity__nullptr
push eax
call esi
mov ecx, dword [0x10020e18]
push str.cl_interp
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10020e24], eax
test eax, eax
jne 0x10001992
push 0x10
push str.FATAL_ERROR
push str.cl_interp__nullptr
push eax
call esi
mov ecx, dword [0x10020e18]
push str.tf_flamethrower_velocity
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10020e28], eax
test eax, eax
jne 0x100019ba
push 0x10
push str.FATAL_ERROR
push str.tf_flamethrower_velocity__nullptr
push eax
call esi
mov ecx, dword [0x10020e18]
push str.tf_flamethrower_flametime
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10020e2c], eax
test eax, eax
jne 0x100019e2
push 0x10
push str.FATAL_ERROR
push str.tf_flamethrower_flametime__nullptr
push eax
call esi
call fcn.100138d0
mov ecx, dword [0x10020dfc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
pop edi
pop esi
pop ebx
test al, al
je 0x10001a10
mov ecx, dword [0x10020dfc]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [0x10020dd4], eax
call fcn.1000e2e0
call fcn.10013550
mov eax, dword [0x10020e18]
lea edx, [ebp - 4]
push str._TF2C__CGlobal_Entry::Load___finished__n
push edx
push eax
mov ecx, dword [eax]
mov dword [ebp - 4], 0xff0f0f96
call dword [ecx + 0x5c]
add esp, 0xc
mov esp, ebp
pop ebp
ret