Function at 0x10001790
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov ecx, 0x10023ed0
call fcn.10018d50
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 0x100017ea
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x100017da
push 0
push str.VClient017
call eax
add esp, 8
test eax, eax
jne 0x100017ec
push 0x10
push str.Failed_to_find_interface:
push str.VClient017
push 0
call esi
xor eax, eax
push str.client.dll
mov dword [0x10023f40], eax
call ebx
test eax, eax
je 0x10001828
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001818
push 0
push str.VClientEntityList003
call eax
add esp, 8
test eax, eax
jne 0x1000182a
push 0x10
push str.Failed_to_find_interface:
push str.VClientEntityList003
push 0
call esi
xor eax, eax
push str.client.dll
mov dword [0x10023f48], eax
call ebx
test eax, eax
je 0x10001866
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001856
push 0
push str.GameMovement001
call eax
add esp, 8
test eax, eax
jne 0x10001868
push 0x10
push str.Failed_to_find_interface:
push str.GameMovement001
push 0
call esi
xor eax, eax
push str.client.dll
mov dword [0x10023f58], eax
call ebx
test eax, eax
je 0x100018a4
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001894
push 0
push str.VClientPrediction001
call eax
add esp, 8
test eax, eax
jne 0x100018a6
push 0x10
push str.Failed_to_find_interface:
push str.VClientPrediction001
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10023f60], eax
call ebx
test eax, eax
je 0x100018e2
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x100018d2
push 0
push str.VEngineClient014
call eax
add esp, 8
test eax, eax
jne 0x100018e4
push 0x10
push str.Failed_to_find_interface:
push str.VEngineClient014
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10023f4c], eax
call ebx
test eax, eax
je 0x10001920
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001910
push 0
push str.EngineTraceClient003
call eax
add esp, 8
test eax, eax
jne 0x10001922
push 0x10
push str.Failed_to_find_interface:
push str.EngineTraceClient003
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10023f1c], eax
call ebx
test eax, eax
je 0x1000195e
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x1000194e
push 0
push str.VEngineVGui001
call eax
add esp, 8
test eax, eax
jne 0x10001960
push 0x10
push str.Failed_to_find_interface:
push str.VEngineVGui001
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10023f54], eax
call ebx
test eax, eax
je 0x1000199c
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x1000198c
push 0
push str.VEngineRenderView014
call eax
add esp, 8
test eax, eax
jne 0x1000199e
push 0x10
push str.Failed_to_find_interface:
push str.VEngineRenderView014
push 0
call esi
xor eax, eax
push str.engine.dll
mov dword [0x10023f3c], eax
call ebx
test eax, eax
je 0x100019da
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x100019ca
push 0
push str.VModelInfoClient006
call eax
add esp, 8
test eax, eax
jne 0x100019dc
push 0x10
push str.Failed_to_find_interface:
push str.VModelInfoClient006
push 0
call esi
xor eax, eax
push str.vguimatsurface.dll
mov dword [0x10023f44], eax
call ebx
test eax, eax
je 0x10001a18
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001a08
push 0
push str.VGUI_Surface030
call eax
add esp, 8
test eax, eax
jne 0x10001a1a
push 0x10
push str.Failed_to_find_interface:
push str.VGUI_Surface030
push 0
call esi
xor eax, eax
push 0x1001d4d0
mov dword [0x10023f64], eax
call ebx
test eax, eax
je 0x10001a56
push str.CreateInterface
push eax
call edi
test eax, eax
je 0x10001a46
push 0
push str.VEngineCvar004
call eax
add esp, 8
test eax, eax
jne 0x10001a58
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 [0x10023f68], eax
mov eax, dword [0x10023f08]
mov eax, dword [eax + 8]
mov dword [0x10023f6c], eax
test eax, eax
jne 0x10001a84
push 0x10
push str.FATAL_ERROR
push str.I::GlobalVarsBase__nullptr
push 0
call esi
mov eax, dword [0x10023ee8]
mov eax, dword [eax + 2]
mov dword [0x10023f50], eax
test eax, eax
jne 0x10001aa4
push 0x10
push str.FATAL_ERROR
push str.I::PredictionPlayer__nullptr
push eax
call esi
mov eax, dword [0x10023f0c]
mov eax, dword [eax + 1]
mov dword [0x10023f38], eax
test eax, eax
jne 0x10001ac4
push 0x10
push str.FATAL_ERROR
push str.I::ClientState__nullptr
push eax
call esi
mov edi, dword [0x10023f40]
test edi, edi
jne 0x10001add
push 0x10
push str.FATAL_ERROR
push str.pdwClient__nullptr
push edi
call esi
mov edi, dword [edi]
test edi, edi
jne 0x10001af2
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 [0x10023f5c], eax
test eax, eax
jne 0x10001b12
push 0x10
push str.FATAL_ERROR
push str.I::ClientMode__nullptr
push eax
call esi
mov ecx, dword [0x10023f68]
push str.sv_gravity
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10023f70], eax
test eax, eax
jne 0x10001b3a
push 0x10
push str.FATAL_ERROR
push str.sv_gravity__nullptr
push eax
call esi
mov ecx, dword [0x10023f68]
push str.cl_interp
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10023f74], eax
test eax, eax
jne 0x10001b62
push 0x10
push str.FATAL_ERROR
push str.cl_interp__nullptr
push eax
call esi
mov ecx, dword [0x10023f68]
push str.tf_flamethrower_velocity
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10023f78], eax
test eax, eax
jne 0x10001b8a
push 0x10
push str.FATAL_ERROR
push str.tf_flamethrower_velocity__nullptr
push eax
call esi
mov ecx, dword [0x10023f68]
push str.tf_flamethrower_flametime
mov eax, dword [ecx]
call dword [eax + 0x34]
mov dword [0x10023f7c], eax
test eax, eax
jne 0x10001bb2
push 0x10
push str.FATAL_ERROR
push str.tf_flamethrower_flametime__nullptr
push eax
call esi
call fcn.10015460
mov ecx, dword [0x10023f4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
pop edi
pop esi
pop ebx
test al, al
je 0x10001be0
mov ecx, dword [0x10023f4c]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [0x10023f24], eax
call fcn.1000f2c0
call fcn.10015090
mov eax, dword [0x10023f68]
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