;Imports of common:
	extern _Z16Sys_IsMainThreadv
	extern time
	extern localtime
	extern _Z21FS_FOpenTextFileWritePKc
	extern asctime
	extern getBuildNumber
	extern tolower
	extern _Z34Dvar_SetFromStringByNameFromSourcePKcS0_13DvarSetSource
	extern _Z12Dvar_FindVarPKc
	extern _Z13Dvar_AddFlagsPK6dvar_si
	extern _Z17Dvar_RegisterEnumPKcPS0_itS0_
	extern com_dedicated
	extern _Z16Dvar_RegisterIntPKciiitS0_
	extern _Z17Dvar_RegisterBoolPKchtS0_
	extern _Z15Sys_GetCpuCountv
	extern _Z19Dvar_RegisterStringPKcS0_tS0_
	extern _Z18Dvar_RegisterFloatPKcffftS0_
	extern _Z22FS_FOpenFileWriteToDirPKcS0_
	extern _Z9FS_PrintfiPKcz
	extern _Z17Key_WriteBindingsii
	extern _Z19Dvar_WriteVariablesi
	extern _Z27Con_WriteFilterConfigStringi
	extern _Z13FS_FCloseFilei
	extern cmd_args
	extern atof
	extern _Z16Sys_Millisecondsv
	extern _Z13CL_Disconnecti
	extern _Z15SV_AllowPacketsh
	extern _Z14CL_ShutdownAllv
	extern _Z15CL_ShutdownDemov
	extern _Z11SV_ShutdownPKc
	extern _Z10I_strncpyzPcPKci
	extern _Z15Com_ParseOnLinePPKc
	extern _Z7SL_Initv
	extern _Z9Swap_Initv
	extern _Z9Cbuf_Initv
	extern _Z8Cmd_Initv
	extern _Z29CCS_InitConstantConfigStringsv
	extern _Z18CL_InitKeyCommandsv
	extern _Z17FS_InitFilesystemv
	extern _Z16Con_InitChannelsv
	extern _Z16LiveStorage_Initv
	extern _Z22Com_InitPlayerProfilesi
	extern _Z31CL_ControllerIndexFromClientNumi
	extern _Z12Cbuf_Executeii
	extern dvar_modifiedFlags
	extern Com_InitHunkMemory
	extern _Z20Hunk_InitDebugMemoryv
	extern _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	extern _Z2vaPKcz
	extern _Z14Dvar_SetStringPK6dvar_sPKc
	extern _Z8Sys_Initv
	extern _Z12Netchan_Initi
	extern _Z17Scr_InitVariablesv
	extern _Z8Scr_Initv
	extern _Z12Scr_Settingsiii
	extern _Z9XAnimInitv
	extern _Z8DObjInitv
	extern _Z7SV_Initv
	extern _Z8NET_Initv
	extern _Z18Dvar_ClearModifiedPK6dvar_s
	extern _Z13PMem_EndAllocPKcj
	extern _Z18DB_SetInitializingh
	extern _Z12Com_DvarDumpiPKc
	extern _Z13ScrPlace_Initv
	extern _Z24CL_InitOnceForAllClientsv
	extern _Z7CL_Initi
	extern _Z14SND_InitDriverv
	extern _Z10R_InitOncev
	extern _Z15CL_InitRendererv
	extern cls
	extern _Z8SND_Initv
	extern _Z13DB_InitThreadv
	extern _Z9PMem_Initv
	extern _Z15PMem_BeginAllocPKcj
	extern _Z16CL_InitDedicatedv
	extern _Z22SEH_UpdateLanguageInfov
	extern _Z12Cbuf_AddTextiPKc
	extern _Z12Dvar_SetBoolPK6dvar_sh
	extern _Z12Sys_GetValuei
	extern setjmp
	extern _Z9UI_SetMapPKcS0_
	extern _Z17CL_StartHunkUsersv
	extern _Z16UI_GetMenuScreenv
	extern _Z16UI_SetActiveMenuii
	extern _Z8IN_Framev
	extern _Z14DB_LoadXAssetsP9XZoneInfoji
	extern _Z9Sys_ErrorPKcz
	extern _Z15LargeLocalResetv
	extern _Z18R_SyncRenderThreadv
	extern _Z16R_WaitWorkerCmdsv
	extern _Z19Cmd_ComErrorCleanupv
	extern _Z18Dvar_SetInAutoExech
	extern Hunk_ClearTempMemory
	extern Hunk_ClearTempMemoryHigh
	extern _Z17Dvar_SetIntByNamePKci
	extern _Z26FS_PureServerSetLoadedIwdsPKcS0_
	extern strcpy
	extern _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	extern _Z16SND_ErrorCleanupv
	extern _Z14Com_CleanupBspv
	extern _Z10CM_Cleanupv
	extern _Z22Com_ResetParseSessionsv
	extern _Z23CL_FlushDebugServerDatav
	extern _Z24CL_UpdateDebugServerDatav
	extern _Z13FS_ResetFilesv
	extern updateScreenCalled
	extern bgs
	extern _Z24UI_GetMenuScreenForErrorv
	extern _Z16FX_UnregisterAllv
	extern _Z10DB_Cleanupv
	extern _Z17R_ComErrorCleanupv
	extern _Z21CL_ConsoleFixPositionv
	extern _Z11QuitOnErrorv
	extern _Z9I_stricmpPKcS0_
	extern vsnprintf
	extern _Z11Scr_Cleanupv
	extern _Z24Sys_EnterCriticalSection15CriticalSection
	extern _Z13GScr_Shutdownv
	extern _Z8Sys_Quitv
	extern _Z23Sys_DestroySplashWindowv
	extern _Z11CL_Shutdowni
	extern _Z14CL_ShutdownRefv
	extern _Z11FS_Shutdowni
	extern _Z33FS_ShutDownIwdPureCheckReferencesv
	extern _Z25FS_ShutdownServerIwdNamesv
	extern _Z31FS_ShutdownServerReferencedIwdsv
	extern _Z30FS_ShutdownServerReferencedFFsv
	extern _Z16FS_FCloseLogFilei
	extern memset
	extern _Z20CL_ShutdownHunkUsersv
	extern _Z20SV_ShutdownGameProgsv
	extern _Z16Com_ShutdownDObjv
	extern _Z12DObjShutdownv
	extern _Z13XAnimShutdownv
	extern _Z17Com_ShutdownWorldv
	extern _Z11CM_Shutdownv
	extern _Z20SND_ShutdownChannelsv
	extern Hunk_Clear
	extern _Z18Hunk_ResetDebugMemv
	extern _Z12Com_InitDObjv
	extern _Z17DB_ReleaseXAssetsv
	extern _Z22Cmd_EndTokenizedStringv
	extern _Z18Cmd_TokenizeStringPKc
	extern _Z12Sys_GetEventv
	extern _Z11CL_KeyEventiiij
	extern _Z12CL_CharEventii
	extern Z_FreeInternal
	extern _ZN14MacPreferences9GetStringEPKcPciS1_
	extern _Z16CL_CDKeyValidatePKcS0_
	extern Z_MallocInternal
	extern _Z9I_stristrPKcS0_
	extern _ZN14MacPreferences9PutStringEPKcS1_
	extern _Z22PbCaptureConsoleOutputPci
	extern _Z9I_strncatPciPKc
	extern _Z24Sys_LeaveCriticalSection15CriticalSection
	extern _Z9Sys_PrintPKc
	extern _Z14FS_Initializedv
	extern _Z11FS_WriteLogPKvii
	extern _Z8FS_Flushi
	extern _Z20Con_IsChannelVisible16print_msg_dest_tii
	extern _Z15CL_ConsolePrintiiPKciii
	extern _Z20Com_DefaultExtensionPciPKc
	extern _Z11Sys_GetInfoP7SysInfo
	extern FS_ReadFile
	extern _Z21Com_BeginParseSessionPKc
	extern _Z10Com_SetCSVi
	extern _Z9Com_ParsePPKc
	extern _Z18Com_SkipRestOfLinePPKc
	extern atoi
	extern _Z14Com_UngetTokenv
	extern _Z19Com_EndParseSessionv
	extern FS_FreeFile
	extern _Z15Sys_ArchiveInfoi
	extern memcpy
	extern _Z21Dvar_AnyLatchedValuesv
	extern __maskrune
	extern strcmp
	extern _Z11Dvar_SetA_fv
	extern _Z10Dvar_Set_fv
	extern _Z17FS_FOpenFileWritePKc
	extern _Z18Dvar_WriteDefaultsi
	extern _Z8MSG_InitP5msg_tPhi
	extern _Z14CL_PacketEventi8netadr_tP5msg_ti
	extern _Z17NET_GetLoopPacket8netsrc_tP8netadr_tP5msg_t
	extern _Z19NET_GetClientPacketP8netadr_tP5msg_t
	extern _Z14SV_PacketEvent8netadr_tP5msg_t
	extern _Z19NET_GetServerPacketP8netadr_tP5msg_t
	extern _Z31Sys_HasConfigureChecksumChangedi
	extern _Z18Sys_HasInfoChangedv
	extern loc_language
	extern _Z25BG_ShutdownWeaponDefFilesv
	extern snprintf
	extern _Z12SetAnimChecki
	extern _Z20Win_UpdateThreadLockv
	extern _Z18PIXBeginNamedEventiPKcz
	extern _Z9Sys_Sleepi
	extern floorf
	extern _Z8SV_Framei
	extern _Z23SV_AddDedicatedCommandsv
	extern _Z12R_SetEndTimei
	extern _Z24CL_RunOncePerClientFrameii
	extern _Z8CL_Frameii
	extern clientUIActives
	extern _Z15UI_IsFullscreeni
	extern _Z16SCR_UpdateScreenv
	extern _Z14Ragdoll_Updatei
	extern _Z16SCR_UpdateRumblev
	extern com_fileAccessed
	extern _Z13R_WaitEndTimev
	extern _Z20Com_HasPlayerProfilev
	extern _Z26Com_BuildPlayerProfilePathPciPKcz
	extern _Z15StatMon_WarningiiPKc
	extern _Z11Com_sprintfPciPKcz
	extern _Z18Cbuf_ExecuteBufferiiPKc
	extern _Z18DB_ShutdownXAssetsv
	extern _Z12Scr_Shutdownv
	extern _Z24Hunk_ShutdownDebugMemoryv
	extern longjmp
	extern _Z9DB_Updatev

;Exports of common:
	global weaponInfoSource
	global logfile
	global errorcode
	global com_errorMessage
	global com_lastFrameTime
	global com_lastFrameIndex
	global com_fullyInitialized
	global com_codeTimeScale
	global s_lockThreadNames
	global com_numConsoleLines
	global com_consoleLines
	global serverCommonMsgBuf
	global clientCommonMsgBuf
	global com_safemode
	global noticeErrors
	global rd_flush
	global rd_buffersize
	global rd_buffer
	global _ZZ15Com_OpenLogFilevE16opening_qconsole
	global _Z15Com_OpenLogFilev
	global _Z11Com_Crash_fv
	global _Z12Com_Assert_fv
	global _Z20Com_GpuStringComparePKcS0_
	global _Z21Com_SetConfigureDvarsiPA32_KcS1_
	global _Z13Com_InitDvarsv
	global _Z21Com_WriteConfigToFileiPKc
	global _ZZ11Com_StatmonvE15timeClientFrame
	global _Z12Com_Freeze_fv
	global _Z20Com_ShutdownInternalPKc
	global _Z11Com_Error_fv
	global _Z25Com_GetConfigureDvarNamesPPKcPA32_c
	global _Z26Com_GetConfigureDvarValuesiPPKcPA32_c
	global _ZZ27Com_Init_Try_Block_FunctionPcE23Com_WriteDefaults_f_VAR
	global _ZZ27Com_Init_Try_Block_FunctionPcE21Com_WriteConfig_f_VAR
	global _ZZ27Com_Init_Try_Block_FunctionPcE14Com_Quit_f_VAR
	global _ZZ27Com_Init_Try_Block_FunctionPcE16Com_Assert_f_VAR
	global _ZZ27Com_Init_Try_Block_FunctionPcE16Com_Freeze_f_VAR
	global _ZZ27Com_Init_Try_Block_FunctionPcE15Com_Crash_f_VAR
	global _ZZ27Com_Init_Try_Block_FunctionPcE15Com_Error_f_VAR
	global _Z27Com_Init_Try_Block_FunctionPc
	global _Z18Com_StartHunkUsersv
	global _ZZ16Com_ErrorCleanupvE10errorCount
	global _ZZ16Com_ErrorCleanupvE13lastErrorTime
	global _Z16Com_ErrorCleanupv
	global _Z10Com_PrintfiPKcz
	global _Z10Com_Quit_fv
	global _Z10Info_PrintPKc
	global _Z11Com_DPrintfiPKcz
	global _Z11Com_Restartv
	global _Z11Field_ClearP7field_t
	global _Z12Com_SafeModev
	global _Z12Com_ShutdownPKc
	global _Z12PIXSetMarkeriPKcz
	global _Z13Com_EventLoopv
	global _Z13Com_ReadCDKeyv
	global _Z14Com_AllocEventi
	global _Z14Com_ErrorAbortv
	global _Z14Com_PrintErroriPKcz
	global _Z14Com_WriteCDKeyv
	global _Z15Com_AddToStringPKcPciii
	global _Z15Com_EndRedirectv
	global _Z15Com_LogFileOpenv
	global _Z15Com_SyncThreadsv
	global _Z16Com_PrintMessageiPKci
	global _Z16Com_PrintWarningiPKcz
	global _Z17Com_BeginRedirectPcjPFvS_E
	global _Z17Com_ForceSafeModev
	global _Z17Com_WriteConfig_fv
	global _Z18Com_SetRecommendedii
	global _Z18Com_ShutdownEventsv
	global _Z19Com_SetErrorMessagePKc
	global _Z19Com_StartupVariablePKc
	global _Z19Com_WriteDefaults_fv
	global _Z21Com_ClientPacketEventv
	global _Z21Com_ServerPacketEventv
	global _Z22Com_ExecStartupConfigsiPKc
	global _Z22Com_GetTimescaleForSndv
	global _Z23Com_CheckSetRecommendedi
	global _Z23Com_GetDecimalDelimiterv
	global _Z23Com_SetWeaponInfoMemoryi
	global _Z24Com_FreeWeaponInfoMemoryi
	global _Z26Com_LocalizedFloatToStringfPcjj
	global _Z28Com_Frame_Try_Block_Functionv
	global _Z28Com_SetLocalizedErrorMessagePKcS0_
	global _Z8Com_InitPc
	global _Z9Com_Closev
	global _Z9Com_Error11errorParm_tPKcz
	global _Z9Com_Framev
	global com_errorEntered
	global useFastFile
	global cl_paused
	global com_expectedHunkUsage
	global com_sv_running
	global nextmap
	global com_developer
	global com_statmon
	global com_timescaleValue
	global sv_paused
	global com_frameTime
	global cl_cdkey
	global cl_cdkeychecksum
	global com_missingAssetOpenFailed
	global g_dedicatedEnumNames
	global com_animCheck
	global com_authPort
	global com_authServerName
	global com_consoleLogOpenFailed
	global com_developer_script
	global com_errorPrintsCount
	global com_filter_output
	global com_fixedConsolePosition
	global com_fixedtime
	global com_frameNumber
	global com_hiDef
	global com_introPlayed
	global com_logfile
	global com_masterPort
	global com_masterServerName
	global com_maxFrameTime
	global com_maxfps
	global com_recommendedSet
	global com_timescale
	global com_wideScreen
	global dev_timescale
	global shortversion
	global sys_lockThreads
	global sys_smp_allowed
	global ui_errorMessage
	global ui_errorTitle
	global version


SECTION .text


;Com_OpenLogFile()
_Z15Com_OpenLogFilev:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x24
	call _Z16Sys_IsMainThreadv
	test al, al
	jz _Z15Com_OpenLogFilev_10
	mov eax, [_ZZ15Com_OpenLogFilevE16opening_qconsole]
	test eax, eax
	jz _Z15Com_OpenLogFilev_20
_Z15Com_OpenLogFilev_10:
	add esp, 0x24
	pop ebx
	pop ebp
	ret
_Z15Com_OpenLogFilev_20:
	mov dword [_ZZ15Com_OpenLogFilevE16opening_qconsole], 0x1
	lea ebx, [ebp-0xc]
	mov [esp], ebx
	call time
	mov [esp], ebx
	call localtime
	mov ebx, eax
	mov dword [esp], _cstring_console_mplog
	call _Z21FS_FOpenTextFileWritePKc
	mov [logfile], eax
	test eax, eax
	setz al
	movzx eax, al
	mov [com_consoleLogOpenFailed], eax
	mov [esp], ebx
	call asctime
	mov ebx, eax
	call getBuildNumber
	mov [esp+0xc], ebx
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_build_slogfile_o
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	mov dword [_ZZ15Com_OpenLogFilevE16opening_qconsole], 0x0
	add esp, 0x24
	pop ebx
	pop ebp
	ret
	nop


;Com_Crash_f()
_Z11Com_Crash_fv:
	push ebp
	mov ebp, esp
	mov dword [0x0], 0x12345678
	pop ebp
	ret
	nop


;Com_Assert_f()
_Z12Com_Assert_fv:
	push ebp
	mov ebp, esp
	pop ebp
	ret
	nop


;Com_GpuStringCompare(char const*, char const*)
_Z20Com_GpuStringComparePKcS0_:
_Z20Com_GpuStringComparePKcS0__80:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov ecx, eax
	mov edi, edx
	movzx ebx, byte [ecx]
	lea eax, [ecx+0x1]
	mov [ebp-0x1c], eax
	cmp bl, 0x2a
	jz _Z20Com_GpuStringComparePKcS0__10
_Z20Com_GpuStringComparePKcS0__60:
	cmp bl, 0x20
	jz _Z20Com_GpuStringComparePKcS0__20
	movzx eax, byte [edi]
	mov [ebp-0x1d], al
	add edi, 0x1
	cmp bl, al
	jz _Z20Com_GpuStringComparePKcS0__30
	cmp bl, 0x3f
	jz _Z20Com_GpuStringComparePKcS0__30
	movsx eax, bl
	mov [esp], eax
	call tolower
	mov esi, eax
	movsx eax, byte [ebp-0x1d]
	mov [esp], eax
	call tolower
	sub esi, eax
	cmp esi, 0x0
	jnz _Z20Com_GpuStringComparePKcS0__40
_Z20Com_GpuStringComparePKcS0__30:
	test bl, bl
	jz _Z20Com_GpuStringComparePKcS0__50
_Z20Com_GpuStringComparePKcS0__70:
	mov ecx, [ebp-0x1c]
	movzx ebx, byte [ecx]
	lea eax, [ecx+0x1]
	mov [ebp-0x1c], eax
	cmp bl, 0x2a
	jnz _Z20Com_GpuStringComparePKcS0__60
_Z20Com_GpuStringComparePKcS0__10:
	cmp byte [ecx+0x1], 0x0
	jz _Z20Com_GpuStringComparePKcS0__50
	cmp byte [edi], 0x0
	jz _Z20Com_GpuStringComparePKcS0__70
_Z20Com_GpuStringComparePKcS0__90:
	lea edx, [edi+0x1]
	mov eax, ecx
	call _Z20Com_GpuStringComparePKcS0__80
	test eax, eax
	jnz _Z20Com_GpuStringComparePKcS0__70
_Z20Com_GpuStringComparePKcS0__50:
	xor eax, eax
_Z20Com_GpuStringComparePKcS0__110:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z20Com_GpuStringComparePKcS0__20:
	movzx eax, byte [edi]
	test al, al
	jz _Z20Com_GpuStringComparePKcS0__70
	movsx edx, al
	cmp edx, 0xff
	ja _Z20Com_GpuStringComparePKcS0__90
	mov eax, [0xd5cc084]
	test byte [eax+edx*4+0x35], 0x4
	jnz _Z20Com_GpuStringComparePKcS0__70
	lea edx, [edi+0x1]
	mov eax, ecx
	call _Z20Com_GpuStringComparePKcS0__80
	test eax, eax
	jnz _Z20Com_GpuStringComparePKcS0__70
	jmp _Z20Com_GpuStringComparePKcS0__50
_Z20Com_GpuStringComparePKcS0__40:
	jl _Z20Com_GpuStringComparePKcS0__100
	mov eax, 0x1
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z20Com_GpuStringComparePKcS0__100:
	mov eax, 0xffffffff
	jmp _Z20Com_GpuStringComparePKcS0__110


;Com_SetConfigureDvars(int, char const (*) [32], char const (*) [32])
_Z21Com_SetConfigureDvarsiPA32_KcS1_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov [ebp-0x24], eax
	test eax, eax
	jg _Z21Com_SetConfigureDvarsiPA32_KcS1__10
_Z21Com_SetConfigureDvarsiPA32_KcS1__30:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Com_SetConfigureDvarsiPA32_KcS1__10:
	mov ebx, edx
	mov [ebp-0x1c], ecx
	mov dword [ebp-0x20], 0x0
	jmp _Z21Com_SetConfigureDvarsiPA32_KcS1__20
_Z21Com_SetConfigureDvarsiPA32_KcS1__50:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_1
_Z21Com_SetConfigureDvarsiPA32_KcS1__100:
	mov [esp], ebx
	call _Z34Dvar_SetFromStringByNameFromSourcePKcS0_13DvarSetSource
	mov [esp], ebx
	call _Z12Dvar_FindVarPKc
	mov dword [esp+0x4], 0x1
	mov [esp], eax
	call _Z13Dvar_AddFlagsPK6dvar_si
	add dword [ebp-0x20], 0x1
	add ebx, 0x20
	add dword [ebp-0x1c], 0x20
	mov eax, [ebp-0x20]
	cmp [ebp-0x24], eax
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__30
_Z21Com_SetConfigureDvarsiPA32_KcS1__20:
	mov ecx, 0xc
	cld
	mov esi, ebx
	mov edi, _cstring_r_aasamples
	repe cmpsb
	mov eax, 0x0
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__40
	movzx eax, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub eax, ecx
_Z21Com_SetConfigureDvarsiPA32_KcS1__40:
	test eax, eax
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__50
	mov edi, _cstring_r_altmodellighti
	mov ecx, 0x19
	cld
	mov esi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__60
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z21Com_SetConfigureDvarsiPA32_KcS1__60:
	test edx, edx
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__50
	mov edi, _cstring_r_zfeather
	mov ecx, 0xb
	cld
	mov esi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__70
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z21Com_SetConfigureDvarsiPA32_KcS1__70:
	test edx, edx
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__80
	mov edi, _cstring_sm_enable
	mov ecx, 0xa
	cld
	mov esi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__90
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z21Com_SetConfigureDvarsiPA32_KcS1__90:
	test edx, edx
	jz _Z21Com_SetConfigureDvarsiPA32_KcS1__80
	mov dword [esp+0x8], 0x1
	mov eax, [ebp-0x1c]
	mov [esp+0x4], eax
	jmp _Z21Com_SetConfigureDvarsiPA32_KcS1__100
_Z21Com_SetConfigureDvarsiPA32_KcS1__80:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_0
	jmp _Z21Com_SetConfigureDvarsiPA32_KcS1__100


;Com_InitDvars()
_Z13Com_InitDvarsv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov dword [esp+0x10], _cstring_true_if_this_is_
	mov dword [esp+0xc], 0x20
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], g_dedicatedEnumNames
	mov dword [esp], _cstring_dedicated
	call _Z17Dvar_RegisterEnumPKcPS0_itS0_
	mov edx, com_dedicated
	mov [edx], eax
	mov eax, [eax+0xc]
	test eax, eax
	jz _Z13Com_InitDvarsv_10
	mov dword [esp+0x10], _cstring_true_if_this_is_
	mov dword [esp+0xc], 0x40
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], g_dedicatedEnumNames
	mov dword [esp], _cstring_dedicated
	call _Z17Dvar_RegisterEnumPKcPS0_itS0_
_Z13Com_InitDvarsv_10:
	mov dword [esp+0x14], _cstring_cap_frames_per_s
	mov dword [esp+0x10], 0x1
	mov dword [esp+0xc], 0x3e8
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x55
	mov dword [esp], _cstring_com_maxfps
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_maxfps], eax
	mov dword [esp+0xc], _cstring_enables_loading_
	mov dword [esp+0x8], 0x10
	mov dword [esp+0x4], 0x1
	mov dword [esp], _cstring_usefastfile
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [useFastFile], eax
	mov dword [esp+0x10], _cstring_prevents_specifi
	mov dword [esp+0xc], 0x0
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], s_lockThreadNames
	mov dword [esp], _cstring_sys_lockthreads
	call _Z17Dvar_RegisterEnumPKcPS0_itS0_
	mov [sys_lockThreads], eax
	call _Z15Sys_GetCpuCountv
	mov dword [esp+0xc], _cstring_allow_multithrea
	mov dword [esp+0x8], 0x10
	cmp eax, 0x1
	seta al
	movzx eax, al
	mov [esp+0x4], eax
	mov dword [esp], _cstring_sys_smp_allowed
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [sys_smp_allowed], eax
	mov dword [esp+0xc], _cstring_master_server_na
	mov dword [esp+0x8], 0x80
	mov dword [esp+0x4], _cstring_cod4masteractivi
	mov dword [esp], _cstring_masterservername
	call _Z19Dvar_RegisterStringPKcS0_tS0_
	mov [com_masterServerName], eax
	mov dword [esp+0xc], _cstring_authentication_s
	mov dword [esp+0x8], 0x80
	mov dword [esp+0x4], _cstring_cod4masteractivi
	mov dword [esp], _cstring_authservername
	call _Z19Dvar_RegisterStringPKcS0_tS0_
	mov [com_authServerName], eax
	mov dword [esp+0x14], _cstring_master_server_po
	mov dword [esp+0x10], 0x80
	mov dword [esp+0xc], 0xffff
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x514a
	mov dword [esp], _cstring_masterport
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_masterPort], eax
	mov dword [esp+0x14], _cstring_auth_server_port
	mov dword [esp+0x10], 0x80
	mov dword [esp+0xc], 0xffff
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x5140
	mov dword [esp], _cstring_authport
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_authPort], eax
	mov dword [esp+0x14], _cstring_enable_developme
	mov dword [esp+0x10], 0x0
	mov dword [esp+0xc], 0x2
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_developer
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_developer], eax
	mov dword [esp+0xc], _cstring_enable_developer
	mov dword [esp+0x8], 0x10
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_developer_script
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_developer_script], eax
	mov dword [esp+0x14], _cstring_write_to_log_fil
	mov dword [esp+0x10], 0x0
	mov dword [esp+0xc], 0x2
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_logfile
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_logfile], eax
	mov dword [esp+0xc], _cstring_draw_stats_monit
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_com_statmon
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_statmon], eax
	mov dword [esp+0x14], _cstring_scale_time_of_ea
	mov dword [esp+0x10], 0x10c8
	mov edi, 0x447a0000
	mov [esp+0xc], edi
	mov esi, 0x3a83126f
	mov [esp+0x8], esi
	mov ebx, 0x3f800000
	mov [esp+0x4], ebx
	mov dword [esp], _cstring_com_timescale
	call _Z18Dvar_RegisterFloatPKcffftS0_
	mov [com_timescale], eax
	mov dword [esp+0x14], _cstring_scale_time_of_ea
	mov dword [esp+0x10], 0x88
	mov [esp+0xc], edi
	mov [esp+0x8], esi
	mov [esp+0x4], ebx
	mov dword [esp], _cstring_timescale
	call _Z18Dvar_RegisterFloatPKcffftS0_
	mov [dev_timescale], eax
	mov dword [esp+0x14], _cstring_use_a_fixed_time
	mov dword [esp+0x10], 0x80
	mov dword [esp+0xc], 0x3e8
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_fixedtime
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_fixedtime], eax
	mov dword [esp+0x14], _cstring_time_slows_down_
	mov dword [esp+0x10], 0x0
	mov dword [esp+0xc], 0x1388
	mov dword [esp+0x8], 0x32
	mov dword [esp+0x4], 0x64
	mov dword [esp], _cstring_com_maxframetime
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [com_maxFrameTime], eax
	mov dword [esp+0x14], _cstring_pause_the_server
	mov dword [esp+0x10], 0x40
	mov dword [esp+0xc], 0x2
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_sv_paused
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [sv_paused], eax
	mov dword [esp+0x14], _cstring_pause_the_client
	mov dword [esp+0x10], 0x40
	mov dword [esp+0xc], 0x2
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_cl_paused
	call _Z16Dvar_RegisterIntPKciiitS0_
	mov [cl_paused], eax
	mov dword [esp+0xc], _cstring_server_is_runnin
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_sv_running
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_sv_running], eax
	mov dword [esp+0xc], _cstring_use_console_filt
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_com_filter_outpu
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_filter_output], eax
	mov dword [esp+0xc], _cstring_intro_movie_has_
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_com_introplayed
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_introPlayed], eax
	mov dword [esp+0xc], _cstring_check_anim_tree
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_com_animcheck
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_animCheck], eax
	mov dword [esp+0xc], _cstring_true_if_the_game
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], 0x1
	mov dword [esp], _cstring_hidef
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_hiDef], eax
	mov dword [esp+0xc], _cstring_true_if_the_game1
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], 0x1
	mov dword [esp], _cstring_widescreen
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_wideScreen], eax
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;Com_WriteConfigToFile(int, char const*)
_Z21Com_WriteConfigToFileiPKc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov edi, eax
	mov esi, edx
	mov dword [esp+0x4], _cstring_players
	mov [esp], edx
	call _Z22FS_FOpenFileWriteToDirPKcS0_
	mov ebx, eax
	test eax, eax
	jnz _Z21Com_WriteConfigToFileiPKc_10
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_couldnt_write_s
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Com_WriteConfigToFileiPKc_10:
	mov dword [esp+0x4], _cstring__generated_by_ca
	mov [esp], eax
	call _Z9FS_PrintfiPKcz
	mov dword [esp+0x4], _cstring_unbindall
	mov [esp], ebx
	call _Z9FS_PrintfiPKcz
	mov [esp+0x4], ebx
	mov [esp], edi
	call _Z17Key_WriteBindingsii
	mov [esp], ebx
	call _Z19Dvar_WriteVariablesi
	mov [esp], ebx
	call _Z27Con_WriteFilterConfigStringi
	mov [esp], ebx
	call _Z13FS_FCloseFilei
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop
	add [eax], al


;Com_Freeze_f()
_Z12Com_Freeze_fv:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x24
	mov eax, cmd_args
	mov edx, [eax]
	cmp dword [eax+edx*4+0x44], 0x2
	jz _Z12Com_Freeze_fv_10
	mov dword [esp+0x4], _cstring_freeze_seconds
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	add esp, 0x24
	pop ebx
	pop ebp
	ret
_Z12Com_Freeze_fv_10:
	mov eax, [eax+edx*4+0x64]
	mov eax, [eax+0x4]
	mov [esp], eax
	call atof
	fstp qword [ebp-0x18]
	call _Z16Sys_Millisecondsv
	mov ebx, eax
	cvtsd2ss xmm0, [ebp-0x18]
	cvtss2sd xmm0, xmm0
	movsd [ebp-0x10], xmm0
_Z12Com_Freeze_fv_20:
	call _Z16Sys_Millisecondsv
	sub eax, ebx
	cvtsi2sd xmm0, eax
	mulsd xmm0, [_double_0_00100000]
	ucomisd xmm0, [ebp-0x10]
	jbe _Z12Com_Freeze_fv_20
	add esp, 0x24
	pop ebx
	pop ebp
	ret


;Com_ShutdownInternal(char const*)
_Z20Com_ShutdownInternalPKc:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, eax
	mov dword [esp], 0x0
	call _Z13CL_Disconnecti
	mov dword [esp], 0x0
	call _Z15SV_AllowPacketsh
	call _Z14CL_ShutdownAllv
	call _Z15CL_ShutdownDemov
	mov [esp], ebx
	call _Z11SV_ShutdownPKc
	add esp, 0x14
	pop ebx
	pop ebp
	jmp _Z11Com_Restartv
	nop


;Com_Error_f()
_Z11Com_Error_fv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov edx, cmd_args
	mov eax, [edx]
	cmp dword [edx+eax*4+0x44], 0x1
	jle _Z11Com_Error_fv_10
	mov dword [esp+0x4], _cstring_testing_drop_err
	mov dword [esp], 0x2
	call _Z9Com_Error11errorParm_tPKcz
	leave
	ret
_Z11Com_Error_fv_10:
	mov dword [esp+0x4], _cstring_testing_fatal_er
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	leave
	ret
	nop


;Com_GetConfigureDvarNames(char const**, char (*) [32])
_Z25Com_GetConfigureDvarNamesPPKcPA32_c:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov [ebp-0x20], eax
	mov esi, edx
	mov dword [ebp-0x1c], 0x0
	jmp _Z25Com_GetConfigureDvarNamesPPKcPA32_c_10
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_50:
	cmp dword [ebp-0x1c], 0x3f
	jg _Z25Com_GetConfigureDvarNamesPPKcPA32_c_20
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_60:
	mov dword [esp+0x8], 0x20
	mov [esp+0x4], ebx
	mov [esp], esi
	call _Z10I_strncpyzPcPKci
	add dword [ebp-0x1c], 0x1
	add esi, 0x20
	mov eax, [ebp-0x20]
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_10:
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	mov ebx, eax
	mov eax, [ebp-0x20]
	mov eax, [eax]
	test eax, eax
	jz _Z25Com_GetConfigureDvarNamesPPKcPA32_c_30
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_70:
	cmp byte [ebx], 0x0
	jz _Z25Com_GetConfigureDvarNamesPPKcPA32_c_40
	cld
	mov ecx, 0xffffffff
	mov edi, ebx
	xor eax, eax
	repne scasb
	not ecx
	sub ecx, 0x1
	cmp ecx, 0x1f
	jbe _Z25Com_GetConfigureDvarNamesPPKcPA32_c_50
	mov dword [esp+0xc], 0x1f
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_configure_mpcsv_
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	cmp dword [ebp-0x1c], 0x3f
	jle _Z25Com_GetConfigureDvarNamesPPKcPA32_c_60
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_20:
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], _cstring_configure_mpcsv_1
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z25Com_GetConfigureDvarNamesPPKcPA32_c_60
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_40:
	mov eax, [ebp-0x1c]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z25Com_GetConfigureDvarNamesPPKcPA32_c_30:
	mov dword [esp+0x4], _cstring_configure_mpcsv_2
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z25Com_GetConfigureDvarNamesPPKcPA32_c_70


;Com_GetConfigureDvarValues(int, char const**, char (*) [32])
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov [ebp-0x20], eax
	mov [ebp-0x24], edx
	test eax, eax
	jg _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_10
	mov eax, edx
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_120:
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	cmp byte [eax], 0x0
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_20
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_configure_mpcsv_3
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_20:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_10:
	mov [ebp-0x1c], ecx
	xor esi, esi
	test ecx, ecx
	jnz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_30
	mov eax, [ebp-0x24]
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	mov ebx, eax
	mov eax, [ebp-0x24]
	mov eax, [eax]
	test eax, eax
	jnz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_40
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_80:
	mov dword [esp+0x4], _cstring_configure_mpcsv_2
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	cmp byte [ebx], 0x0
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_50
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_90:
	cld
	mov ecx, 0xffffffff
	mov edi, ebx
	xor eax, eax
	repne scasb
	not ecx
	lea eax, [ecx-0x1]
	cmp eax, 0x1f
	ja _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_60
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_100:
	add esi, 0x1
	cmp [ebp-0x20], esi
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_70
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_110:
	mov eax, [ebp-0x24]
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	mov ebx, eax
	mov eax, [ebp-0x24]
	mov eax, [eax]
	test eax, eax
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_80
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_40:
	cmp byte [ebx], 0x0
	jnz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_90
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_50:
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_configure_mpcsv_4
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	cld
	mov ecx, 0xffffffff
	mov edi, ebx
	xor eax, eax
	repne scasb
	not ecx
	lea eax, [ecx-0x1]
	cmp eax, 0x1f
	jbe _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_100
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_60:
	mov dword [esp+0x10], 0x1f
	mov [esp+0xc], esi
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_configure_mpcsv_5
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	add esi, 0x1
	cmp [ebp-0x20], esi
	jnz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_110
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_70:
	mov eax, [ebp-0x24]
	jmp _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_120
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_150:
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_configure_mpcsv_4
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	cld
	mov ecx, 0xffffffff
	mov edi, ebx
	xor eax, eax
	repne scasb
	not ecx
	lea eax, [ecx-0x1]
	cmp eax, 0x1f
	ja _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_130
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_160:
	mov dword [esp+0x8], 0x20
	mov [esp+0x4], ebx
	mov eax, [ebp-0x1c]
	mov [esp], eax
	call _Z10I_strncpyzPcPKci
	add esi, 0x1
	add dword [ebp-0x1c], 0x20
	cmp [ebp-0x20], esi
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_70
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_30:
	mov eax, [ebp-0x24]
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	mov ebx, eax
	mov eax, [ebp-0x24]
	mov eax, [eax]
	test eax, eax
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_140
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_170:
	cmp byte [ebx], 0x0
	jz _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_150
	cld
	mov ecx, 0xffffffff
	mov edi, ebx
	xor eax, eax
	repne scasb
	not ecx
	lea eax, [ecx-0x1]
	cmp eax, 0x1f
	jbe _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_160
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_130:
	mov dword [esp+0x10], 0x1f
	mov [esp+0xc], esi
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_configure_mpcsv_5
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_160
_Z26Com_GetConfigureDvarValuesiPPKcPA32_c_140:
	mov dword [esp+0x4], _cstring_configure_mpcsv_2
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z26Com_GetConfigureDvarValuesiPPKcPA32_c_170
	nop


;Com_Init_Try_Block_Function(char*)
_Z27Com_Init_Try_Block_FunctionPc:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x20
	mov ebx, [ebp+0x8]
	mov dword [esp+0x14], _cstring_feb_12_2009
	mov dword [esp+0x10], _cstring_macosxsi386
	mov dword [esp+0xc], _cstring_17
	mov dword [esp+0x8], _cstring_cod4_mp
	mov dword [esp+0x4], _cstring_s_s_build_s_s
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	mov [com_consoleLines], ebx
	mov dword [com_numConsoleLines], 0x1
	movzx eax, byte [ebx]
	test al, al
	jz _Z27Com_Init_Try_Block_FunctionPc_10
	mov ecx, 0x1
	jmp _Z27Com_Init_Try_Block_FunctionPc_20
_Z27Com_Init_Try_Block_FunctionPc_50:
	cmp al, 0xa
	jz _Z27Com_Init_Try_Block_FunctionPc_30
	lea edx, [ebx+0x1]
	movzx eax, byte [edx]
	test al, al
	jz _Z27Com_Init_Try_Block_FunctionPc_40
_Z27Com_Init_Try_Block_FunctionPc_70:
	mov ebx, edx
_Z27Com_Init_Try_Block_FunctionPc_20:
	cmp al, 0x2b
	jnz _Z27Com_Init_Try_Block_FunctionPc_50
_Z27Com_Init_Try_Block_FunctionPc_30:
	cmp ecx, 0x20
	jz _Z27Com_Init_Try_Block_FunctionPc_60
	lea edx, [ebx+0x1]
	mov [ecx*4+com_consoleLines], edx
	add ecx, 0x1
	mov byte [ebx], 0x0
	movzx eax, byte [edx]
	test al, al
	jnz _Z27Com_Init_Try_Block_FunctionPc_70
_Z27Com_Init_Try_Block_FunctionPc_40:
	mov [com_numConsoleLines], ecx
_Z27Com_Init_Try_Block_FunctionPc_10:
	call _Z7SL_Initv
	call _Z9Swap_Initv
	call _Z9Cbuf_Initv
	call _Z8Cmd_Initv
	mov dword [esp], 0x0
	call _Z19Com_StartupVariablePKc
	call _Z13Com_InitDvarsv
	call _Z29CCS_InitConstantConfigStringsv
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jnz _Z27Com_Init_Try_Block_FunctionPc_80
	xor esi, esi
_Z27Com_Init_Try_Block_FunctionPc_240:
	cmp byte [eax+0xc], 0x0
	jnz _Z27Com_Init_Try_Block_FunctionPc_90
_Z27Com_Init_Try_Block_FunctionPc_230:
	call _Z18CL_InitKeyCommandsv
	call _Z17FS_InitFilesystemv
	call _Z16Con_InitChannelsv
	call _Z16LiveStorage_Initv
	mov dword [esp], 0x0
	call _Z22Com_InitPlayerProfilesi
	mov dword [esp], 0x0
	call _Z31CL_ControllerIndexFromClientNumi
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z12Cbuf_Executeii
	mov ebx, dvar_modifiedFlags
	test byte [ebx], 0x20
	jnz _Z27Com_Init_Try_Block_FunctionPc_100
_Z27Com_Init_Try_Block_FunctionPc_280:
	mov dword [esp+0xc], _cstring_use_recommended_
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_com_recommendeds
	call _Z17Dvar_RegisterBoolPKchtS0_
	mov [com_recommendedSet], eax
	mov dword [esp], 0x0
	call _Z23Com_CheckSetRecommendedi
	mov dword [esp], 0x0
	call _Z19Com_StartupVariablePKc
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jz _Z27Com_Init_Try_Block_FunctionPc_110
_Z27Com_Init_Try_Block_FunctionPc_270:
	mov eax, com_dedicated
	mov eax, [eax]
	mov eax, [eax+0xc]
	test eax, eax
	jnz _Z27Com_Init_Try_Block_FunctionPc_120
_Z27Com_Init_Try_Block_FunctionPc_260:
	call Com_InitHunkMemory
	call _Z20Hunk_InitDebugMemoryv
	and dword [ebx], 0xfffffffe
	mov dword [com_codeTimeScale], 0x3f800000
	mov eax, [com_developer]
	mov eax, [eax+0xc]
	test eax, eax
	jnz _Z27Com_Init_Try_Block_FunctionPc_130
_Z27Com_Init_Try_Block_FunctionPc_250:
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE14Com_Quit_f_VAR
	mov dword [esp+0x4], _Z10Com_Quit_fv
	mov dword [esp], _cstring_quit
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE21Com_WriteConfig_f_VAR
	mov dword [esp+0x4], _Z17Com_WriteConfig_fv
	mov dword [esp], _cstring_writeconfig
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE23Com_WriteDefaults_f_VAR
	mov dword [esp+0x4], _Z19Com_WriteDefaults_fv
	mov dword [esp], _cstring_writedefaults
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	call getBuildNumber
	mov dword [esp+0x10], _cstring_macosxsi386
	mov [esp+0xc], eax
	mov dword [esp+0x8], _cstring_17
	mov dword [esp+0x4], _cstring_cod4_mp
	mov dword [esp], _cstring_s_s_build_s_s1
	call _Z2vaPKcz
	mov ebx, eax
	mov dword [esp+0xc], _cstring_game_version
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], _cstring_null
	mov dword [esp], _cstring_version
	call _Z19Dvar_RegisterStringPKcS0_tS0_
	mov [version], eax
	mov [esp+0x4], ebx
	mov [esp], eax
	call _Z14Dvar_SetStringPK6dvar_sPKc
	mov dword [esp+0xc], _cstring_short_game_versi
	mov dword [esp+0x8], 0x44
	mov dword [esp+0x4], _cstring_17
	mov dword [esp], _cstring_shortversion
	call _Z19Dvar_RegisterStringPKcS0_tS0_
	mov [shortversion], eax
	call _Z8Sys_Initv
	rdtsc
	mov [esp], eax
	call _Z12Netchan_Initi
	call _Z17Scr_InitVariablesv
	call _Z8Scr_Initv
	mov eax, [com_developer]
	mov edx, [eax+0xc]
	test edx, edx
	jnz _Z27Com_Init_Try_Block_FunctionPc_140
	mov eax, [com_logfile]
	mov ebx, [eax+0xc]
	test ebx, ebx
	jz _Z27Com_Init_Try_Block_FunctionPc_150
_Z27Com_Init_Try_Block_FunctionPc_140:
	mov ecx, 0x1
_Z27Com_Init_Try_Block_FunctionPc_210:
	mov [esp+0x8], edx
	mov eax, [com_developer_script]
	movzx eax, byte [eax+0xc]
	mov [esp+0x4], eax
	mov [esp], ecx
	call _Z12Scr_Settingsiii
	call _Z9XAnimInitv
	call _Z8DObjInitv
	call _Z7SV_Initv
	call _Z8NET_Initv
	mov ebx, com_dedicated
	mov eax, [ebx]
	mov [esp], eax
	call _Z18Dvar_ClearModifiedPK6dvar_s
	mov eax, [ebx]
	mov ecx, [eax+0xc]
	test ecx, ecx
	jz _Z27Com_Init_Try_Block_FunctionPc_160
	call _Z16Sys_Millisecondsv
	mov [com_frameTime], eax
	mov dword [esp], 0x0
	call _Z19Com_StartupVariablePKc
	mov eax, [ebx]
	mov edx, [eax+0xc]
	test edx, edx
	jz _Z27Com_Init_Try_Block_FunctionPc_170
_Z27Com_Init_Try_Block_FunctionPc_220:
	mov ecx, [eax+0xc]
	test ecx, ecx
	jnz _Z27Com_Init_Try_Block_FunctionPc_180
	mov eax, [com_introPlayed]
	cmp byte [eax+0xc], 0x0
	jz _Z27Com_Init_Try_Block_FunctionPc_190
_Z27Com_Init_Try_Block_FunctionPc_180:
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jz _Z27Com_Init_Try_Block_FunctionPc_200
	mov dword [esp+0x4], 0x1
	mov dword [esp], _cstring_init
	call _Z13PMem_EndAllocPKcj
	mov dword [esp], 0x0
	call _Z18DB_SetInitializingh
	call _Z16Sys_Millisecondsv
	sub eax, esi
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_end_init_d_ms
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
_Z27Com_Init_Try_Block_FunctionPc_200:
	mov dword [com_fullyInitialized], 0x1
	mov dword [esp+0x4], _cstring__common_initiali
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	mov dword [esp+0x4], 0x0
	mov dword [esp], 0x6
	call _Z12Com_DvarDumpiPKc
	add esp, 0x20
	pop ebx
	pop esi
	pop ebp
	ret
_Z27Com_Init_Try_Block_FunctionPc_150:
	xor ecx, ecx
	jmp _Z27Com_Init_Try_Block_FunctionPc_210
_Z27Com_Init_Try_Block_FunctionPc_160:
	call _Z13ScrPlace_Initv
	call _Z24CL_InitOnceForAllClientsv
	mov dword [esp], 0x0
	call _Z7CL_Initi
	call _Z16Sys_Millisecondsv
	mov [com_frameTime], eax
	mov dword [esp], 0x0
	call _Z19Com_StartupVariablePKc
	mov eax, [ebx]
	mov edx, [eax+0xc]
	test edx, edx
	jnz _Z27Com_Init_Try_Block_FunctionPc_220
_Z27Com_Init_Try_Block_FunctionPc_170:
	call _Z14SND_InitDriverv
	call _Z10R_InitOncev
	call _Z15CL_InitRendererv
	mov eax, cls
	mov dword [eax+0x10c], 0x1
	call _Z8SND_Initv
	mov eax, [ebx]
	jmp _Z27Com_Init_Try_Block_FunctionPc_220
_Z27Com_Init_Try_Block_FunctionPc_90:
	call _Z13DB_InitThreadv
	jmp _Z27Com_Init_Try_Block_FunctionPc_230
_Z27Com_Init_Try_Block_FunctionPc_80:
	call _Z9PMem_Initv
	mov dword [esp], 0x1
	call _Z18DB_SetInitializingh
	mov dword [esp+0x4], _cstring_begin_init
	mov dword [esp], 0x7
	call _Z10Com_PrintfiPKcz
	call _Z16Sys_Millisecondsv
	mov esi, eax
	mov dword [esp+0x4], 0x1
	mov dword [esp], _cstring_init
	call _Z15PMem_BeginAllocPKcj
	mov eax, [useFastFile]
	jmp _Z27Com_Init_Try_Block_FunctionPc_240
_Z27Com_Init_Try_Block_FunctionPc_130:
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE15Com_Error_f_VAR
	mov dword [esp+0x4], _Z11Com_Error_fv
	mov dword [esp], _cstring_error
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE15Com_Crash_f_VAR
	mov dword [esp+0x4], _Z11Com_Crash_fv
	mov dword [esp], _cstring_crash
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE16Com_Freeze_f_VAR
	mov dword [esp+0x4], _Z12Com_Freeze_fv
	mov dword [esp], _cstring_freeze
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	mov dword [esp+0x8], _ZZ27Com_Init_Try_Block_FunctionPcE16Com_Assert_f_VAR
	mov dword [esp+0x4], _Z12Com_Assert_fv
	mov dword [esp], _cstring_assert
	call _Z22Cmd_AddCommandInternalPKcPFvvEP14cmd_function_s
	jmp _Z27Com_Init_Try_Block_FunctionPc_250
_Z27Com_Init_Try_Block_FunctionPc_120:
	call _Z16CL_InitDedicatedv
	jmp _Z27Com_Init_Try_Block_FunctionPc_260
_Z27Com_Init_Try_Block_FunctionPc_110:
	call _Z22SEH_UpdateLanguageInfov
	jmp _Z27Com_Init_Try_Block_FunctionPc_270
_Z27Com_Init_Try_Block_FunctionPc_100:
	call _Z13Com_InitDvarsv
	jmp _Z27Com_Init_Try_Block_FunctionPc_280
_Z27Com_Init_Try_Block_FunctionPc_190:
	mov dword [esp+0x4], _cstring_cinematic_iw_log
	mov dword [esp], 0x0
	call _Z12Cbuf_AddTextiPKc
	mov dword [esp+0x4], _cstring_cinematic_atvi_s
	mov eax, [nextmap]
	mov [esp], eax
	call _Z14Dvar_SetStringPK6dvar_sPKc
	mov dword [esp+0x4], 0x1
	mov eax, [com_introPlayed]
	mov [esp], eax
	call _Z12Dvar_SetBoolPK6dvar_sh
	jmp _Z27Com_Init_Try_Block_FunctionPc_180
_Z27Com_Init_Try_Block_FunctionPc_60:
	mov dword [com_numConsoleLines], 0x20
	jmp _Z27Com_Init_Try_Block_FunctionPc_10


;Com_StartHunkUsers()
_Z18Com_StartHunkUsersv:
	push ebp
	mov ebp, esp
	sub esp, 0x28
	mov dword [esp], 0x2
	call _Z12Sys_GetValuei
	mov [esp], eax
	call setjmp
	test eax, eax
	jnz _Z18Com_StartHunkUsersv_10
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jnz _Z18Com_StartHunkUsersv_20
_Z18Com_StartHunkUsersv_30:
	mov dword [esp+0x4], _cstring_null
	mov dword [esp], _cstring_null
	call _Z9UI_SetMapPKcS0_
	call _Z17CL_StartHunkUsersv
	call _Z16UI_GetMenuScreenv
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z16UI_SetActiveMenuii
	call _Z8IN_Framev
	call _Z13Com_EventLoopv
	leave
	ret
_Z18Com_StartHunkUsersv_20:
	mov dword [ebp-0x14], _cstring_ui_mp
	mov dword [ebp-0x10], 0x8
	mov dword [ebp-0xc], 0x68
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x1
	lea eax, [ebp-0x14]
	mov [esp], eax
	call _Z14DB_LoadXAssetsP9XZoneInfoji
	jmp _Z18Com_StartHunkUsersv_30
_Z18Com_StartHunkUsersv_10:
	mov dword [esp+0x4], com_errorMessage
	mov dword [esp], _cstring_error_during_ini
	call _Z9Sys_ErrorPKcz
	leave
	ret
	nop


;Com_ErrorCleanup()
_Z16Com_ErrorCleanupv:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x1010
	call _Z15LargeLocalResetv
	call _Z18R_SyncRenderThreadv
	call _Z16R_WaitWorkerCmdsv
	mov eax, com_dedicated
	mov eax, [eax]
	cmp byte [eax+0xc], 0x0
	jz _Z16Com_ErrorCleanupv_10
_Z16Com_ErrorCleanupv_230:
	call _Z19Cmd_ComErrorCleanupv
	mov dword [esp], 0x0
	call _Z18Dvar_SetInAutoExech
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jnz _Z16Com_ErrorCleanupv_20
_Z16Com_ErrorCleanupv_220:
	call Hunk_ClearTempMemory
	call Hunk_ClearTempMemoryHigh
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jz _Z16Com_ErrorCleanupv_30
_Z16Com_ErrorCleanupv_210:
	mov dword [esp+0x4], 0x0
	mov dword [esp], _cstring_cl_paused
	call _Z17Dvar_SetIntByNamePKci
	mov dword [esp+0x4], _cstring_null
	mov dword [esp], _cstring_null
	call _Z26FS_PureServerSetLoadedIwdsPKcS0_
	call _Z22SEH_UpdateLanguageInfov
	mov dword [esp+0x4], com_errorMessage
	lea esi, [ebp-0x1008]
	mov [esp], esi
	call strcpy
	mov edx, [errorcode]
	cmp edx, 0x4
	jz _Z16Com_ErrorCleanupv_40
	mov eax, cls
	mov eax, [eax+0x110]
	test eax, eax
	jnz _Z16Com_ErrorCleanupv_50
_Z16Com_ErrorCleanupv_150:
	cmp dword [errorcode], 0x3
	jz _Z16Com_ErrorCleanupv_60
_Z16Com_ErrorCleanupv_160:
	mov eax, [noticeErrors]
	cmp byte [eax], 0x0
	jnz _Z16Com_ErrorCleanupv_70
_Z16Com_ErrorCleanupv_270:
	mov ebx, _cstring_menu_error
_Z16Com_ErrorCleanupv_170:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_error_message
	mov dword [esp], com_errorMessage
	call _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	test eax, eax
	mov edx, com_errorMessage
	cmovz eax, edx
	mov [esp+0x4], ebx
	mov [esp], eax
	call _Z28Com_SetLocalizedErrorMessagePKcS0_
_Z16Com_ErrorCleanupv_240:
	call _Z16SND_ErrorCleanupv
	call _Z14Com_CleanupBspv
	call _Z10CM_Cleanupv
	call _Z22Com_ResetParseSessionsv
	call _Z23CL_FlushDebugServerDatav
	call _Z24CL_UpdateDebugServerDatav
	call _Z13FS_ResetFilesv
	cmp dword [errorcode], 0x2
	jz _Z16Com_ErrorCleanupv_80
_Z16Com_ErrorCleanupv_280:
	call _Z16Sys_Millisecondsv
	mov edx, eax
	sub eax, [_ZZ16Com_ErrorCleanupvE13lastErrorTime]
	cmp eax, 0x63
	jg _Z16Com_ErrorCleanupv_90
	mov eax, [_ZZ16Com_ErrorCleanupvE10errorCount]
	add eax, 0x1
	mov [_ZZ16Com_ErrorCleanupvE10errorCount], eax
	cmp eax, 0x3
	jle _Z16Com_ErrorCleanupv_100
	mov dword [errorcode], 0x1
_Z16Com_ErrorCleanupv_100:
	mov [_ZZ16Com_ErrorCleanupvE13lastErrorTime], edx
	mov edx, [errorcode]
	lea eax, [edx-0x2]
	cmp eax, 0x2
	ja _Z16Com_ErrorCleanupv_110
_Z16Com_ErrorCleanupv_180:
	mov eax, updateScreenCalled
	mov byte [eax], 0x0
	cmp edx, 0x3
	jz _Z16Com_ErrorCleanupv_120
_Z16Com_ErrorCleanupv_190:
	cmp edx, 0x2
	jz _Z16Com_ErrorCleanupv_130
	mov dword [esp+0x8], com_errorMessage
	mov dword [esp+0x4], _cstring_disconnecting_s
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
_Z16Com_ErrorCleanupv_250:
	mov eax, esi
	call _Z20Com_ShutdownInternalPKc
	cmp dword [errorcode], 0x2
	jz _Z16Com_ErrorCleanupv_140
_Z16Com_ErrorCleanupv_200:
	mov eax, bgs
	mov dword [eax], 0x0
	mov dword [com_fixedConsolePosition], 0x0
	mov dword [com_errorEntered], 0x0
	add esp, 0x1010
	pop ebx
	pop esi
	pop ebp
	ret
_Z16Com_ErrorCleanupv_50:
	cmp edx, 0x2
	jz _Z16Com_ErrorCleanupv_150
	call _Z24UI_GetMenuScreenForErrorv
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z16UI_SetActiveMenuii
	cmp dword [errorcode], 0x3
	jnz _Z16Com_ErrorCleanupv_160
_Z16Com_ErrorCleanupv_60:
	mov ebx, _cstring_menu_notice
	jmp _Z16Com_ErrorCleanupv_170
_Z16Com_ErrorCleanupv_90:
	mov dword [_ZZ16Com_ErrorCleanupvE10errorCount], 0x0
	mov [_ZZ16Com_ErrorCleanupvE13lastErrorTime], edx
	mov edx, [errorcode]
	lea eax, [edx-0x2]
	cmp eax, 0x2
	jbe _Z16Com_ErrorCleanupv_180
_Z16Com_ErrorCleanupv_110:
	mov dword [esp+0x4], com_errorMessage
	mov dword [esp], _cstring_s
	call _Z9Sys_ErrorPKcz
	mov edx, [errorcode]
	mov eax, updateScreenCalled
	mov byte [eax], 0x0
	cmp edx, 0x3
	jnz _Z16Com_ErrorCleanupv_190
_Z16Com_ErrorCleanupv_120:
	mov eax, _cstring_exe_disconnected
	call _Z20Com_ShutdownInternalPKc
	jmp _Z16Com_ErrorCleanupv_200
_Z16Com_ErrorCleanupv_30:
	call _Z16FX_UnregisterAllv
	jmp _Z16Com_ErrorCleanupv_210
_Z16Com_ErrorCleanupv_20:
	call _Z10DB_Cleanupv
	jmp _Z16Com_ErrorCleanupv_220
_Z16Com_ErrorCleanupv_10:
	call _Z17R_ComErrorCleanupv
	jmp _Z16Com_ErrorCleanupv_230
_Z16Com_ErrorCleanupv_40:
	cmp byte [com_errorMessage], 0x0
	jz _Z16Com_ErrorCleanupv_240
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_error_message
	mov dword [esp], com_errorMessage
	call _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	test eax, eax
	jz _Z16Com_ErrorCleanupv_240
	mov dword [esp+0x8], 0x1000
	mov [esp+0x4], eax
	mov dword [esp], com_errorMessage
	call _Z10I_strncpyzPcPKci
	jmp _Z16Com_ErrorCleanupv_240
_Z16Com_ErrorCleanupv_130:
	mov dword [esp+0x8], com_errorMessage
	mov dword [esp+0x4], _cstring_error_s
	mov dword [esp], 0x10
	call _Z14Com_PrintErroriPKcz
	mov eax, cls
	mov eax, [eax+0x110]
	test eax, eax
	jz _Z16Com_ErrorCleanupv_250
	mov eax, [com_fixedConsolePosition]
	test eax, eax
	jnz _Z16Com_ErrorCleanupv_250
	call _Z21CL_ConsoleFixPositionv
	jmp _Z16Com_ErrorCleanupv_250
_Z16Com_ErrorCleanupv_140:
	call _Z11QuitOnErrorv
	test al, al
	jz _Z16Com_ErrorCleanupv_200
	call _Z10Com_Quit_fv
	jmp _Z16Com_ErrorCleanupv_200
_Z16Com_ErrorCleanupv_70:
	mov ebx, noticeErrors
_Z16Com_ErrorCleanupv_260:
	mov dword [esp+0x4], com_errorMessage
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z16Com_ErrorCleanupv_60
	mov eax, [ebx+0x4]
	add ebx, 0x4
	cmp byte [eax], 0x0
	jnz _Z16Com_ErrorCleanupv_260
	jmp _Z16Com_ErrorCleanupv_270
_Z16Com_ErrorCleanupv_80:
	call _Z9Cbuf_Initv
	jmp _Z16Com_ErrorCleanupv_280
	nop


;Com_Printf(int, char const*, ...)
_Z10Com_PrintfiPKcz:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x1024
	lea eax, [ebp+0x10]
	mov [ebp-0xc], eax
	mov [esp+0xc], eax
	mov eax, [ebp+0xc]
	mov [esp+0x8], eax
	mov dword [esp+0x4], 0x1000
	lea ebx, [ebp-0x100c]
	mov [esp], ebx
	call vsnprintf
	mov byte [ebp-0xd], 0x0
	mov dword [esp+0x8], 0x0
	mov [esp+0x4], ebx
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z16Com_PrintMessageiPKci
	add esp, 0x1024
	pop ebx
	pop ebp
	ret
	nop


;Com_Quit_f()
_Z10Com_Quit_fv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov dword [esp+0x4], _cstring_quitting
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	call _Z18R_SyncRenderThreadv
	call _Z16R_WaitWorkerCmdsv
	call _Z11Scr_Cleanupv
	mov dword [esp], 0x2
	call _Z24Sys_EnterCriticalSection15CriticalSection
	call _Z13GScr_Shutdownv
	mov eax, [com_errorEntered]
	test eax, eax
	jz _Z10Com_Quit_fv_10
	leave
	jmp _Z8Sys_Quitv
_Z10Com_Quit_fv_10:
	call Hunk_ClearTempMemory
	call Hunk_ClearTempMemoryHigh
	call _Z23Sys_DestroySplashWindowv
	mov dword [esp], 0x0
	call _Z11CL_Shutdowni
	mov dword [esp], _cstring_exe_serverquit
	call _Z11SV_ShutdownPKc
	call _Z14CL_ShutdownRefv
	call _Z9Com_Closev
	mov eax, [logfile]
	test eax, eax
	jnz _Z10Com_Quit_fv_20
_Z10Com_Quit_fv_30:
	mov dword [esp], 0x1
	call _Z11FS_Shutdowni
	call _Z33FS_ShutDownIwdPureCheckReferencesv
	call _Z25FS_ShutdownServerIwdNamesv
	call _Z31FS_ShutdownServerReferencedIwdsv
	call _Z30FS_ShutdownServerReferencedFFsv
	leave
	jmp _Z8Sys_Quitv
_Z10Com_Quit_fv_20:
	mov [esp], eax
	call _Z16FS_FCloseLogFilei
	mov dword [logfile], 0x0
	jmp _Z10Com_Quit_fv_30
	nop


;Info_Print(char const*)
_Z10Info_PrintPKc:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x410
	mov ebx, [ebp+0x8]
	lea eax, [ebx+0x1]
	cmp byte [ebx], 0x5c
	cmovz ebx, eax
	cmp byte [ebx], 0x0
	jz _Z10Info_PrintPKc_10
	lea esi, [ebp-0x208]
_Z10Info_PrintPKc_90:
	movzx eax, byte [ebx]
	cmp al, 0x5c
	jz _Z10Info_PrintPKc_20
	mov [ebp-0x208], al
	add ebx, 0x1
	movzx eax, byte [ebx]
	test al, al
	jnz _Z10Info_PrintPKc_30
	lea edx, [ebp-0x207]
_Z10Info_PrintPKc_100:
	mov ecx, edx
	sub ecx, esi
	cmp ecx, 0x13
	jle _Z10Info_PrintPKc_40
_Z10Info_PrintPKc_120:
	mov byte [edx], 0x0
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_s
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	cmp byte [ebx], 0x0
	jz _Z10Info_PrintPKc_50
_Z10Info_PrintPKc_130:
	add ebx, 0x1
	movzx eax, byte [ebx]
	test al, al
	jz _Z10Info_PrintPKc_60
	cmp al, 0x5c
	jz _Z10Info_PrintPKc_60
	lea ecx, [ebp-0x408]
	mov edx, ecx
_Z10Info_PrintPKc_80:
	mov [edx], al
	add edx, 0x1
	add ebx, 0x1
	movzx eax, byte [ebx]
	test al, al
	jz _Z10Info_PrintPKc_70
	cmp al, 0x5c
	jnz _Z10Info_PrintPKc_80
_Z10Info_PrintPKc_70:
	mov byte [edx], 0x0
	cmp byte [ebx], 0x1
	sbb ebx, 0xffffffff
	mov [esp+0x8], ecx
	mov dword [esp+0x4], _cstring_s1
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	cmp byte [ebx], 0x0
	jnz _Z10Info_PrintPKc_90
_Z10Info_PrintPKc_10:
	add esp, 0x410
	pop ebx
	pop esi
	pop ebp
	ret
_Z10Info_PrintPKc_60:
	lea ecx, [ebp-0x408]
	mov edx, ecx
	jmp _Z10Info_PrintPKc_70
_Z10Info_PrintPKc_30:
	lea edx, [ebp-0x207]
_Z10Info_PrintPKc_110:
	cmp al, 0x5c
	jz _Z10Info_PrintPKc_100
	mov [edx], al
	add edx, 0x1
	add ebx, 0x1
	movzx eax, byte [ebx]
	test al, al
	jnz _Z10Info_PrintPKc_110
	mov ecx, edx
	sub ecx, esi
	cmp ecx, 0x13
	jg _Z10Info_PrintPKc_120
_Z10Info_PrintPKc_40:
	mov eax, 0x14
	sub eax, ecx
	mov [esp+0x8], eax
	mov dword [esp+0x4], 0x20
	mov [esp], edx
	call memset
	mov byte [ebp-0x1f4], 0x0
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_s
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	cmp byte [ebx], 0x0
	jnz _Z10Info_PrintPKc_130
_Z10Info_PrintPKc_50:
	mov dword [esp+0x4], _cstring_missing_value
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	add esp, 0x410
	pop ebx
	pop esi
	pop ebp
	ret
_Z10Info_PrintPKc_20:
	mov edx, esi
	jmp _Z10Info_PrintPKc_100
	nop


;Com_DPrintf(int, char const*, ...)
_Z11Com_DPrintfiPKcz:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x1024
	mov eax, [com_developer]
	test eax, eax
	jz _Z11Com_DPrintfiPKcz_10
	mov eax, [eax+0xc]
	test eax, eax
	jnz _Z11Com_DPrintfiPKcz_20
_Z11Com_DPrintfiPKcz_10:
	add esp, 0x1024
	pop ebx
	pop ebp
	ret
_Z11Com_DPrintfiPKcz_20:
	lea eax, [ebp+0x10]
	mov [ebp-0xc], eax
	mov [esp+0xc], eax
	mov eax, [ebp+0xc]
	mov [esp+0x8], eax
	mov dword [esp+0x4], 0x1000
	lea ebx, [ebp-0x100c]
	mov [esp], ebx
	call vsnprintf
	mov byte [ebp-0xd], 0x0
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_s
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z10Com_PrintfiPKcz
	add esp, 0x1024
	pop ebx
	pop ebp
	ret


;Com_Restart()
_Z11Com_Restartv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	call _Z20CL_ShutdownHunkUsersv
	call _Z20SV_ShutdownGameProgsv
	call _Z16Com_ShutdownDObjv
	call _Z12DObjShutdownv
	call _Z13XAnimShutdownv
	call _Z17Com_ShutdownWorldv
	call _Z11CM_Shutdownv
	call _Z20SND_ShutdownChannelsv
	call Hunk_Clear
	call _Z18Hunk_ResetDebugMemv
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jnz _Z11Com_Restartv_10
_Z11Com_Restartv_40:
	mov eax, [com_developer]
	mov edx, [eax+0xc]
	test edx, edx
	jnz _Z11Com_Restartv_20
	mov eax, [com_logfile]
	mov eax, [eax+0xc]
	test eax, eax
	jz _Z11Com_Restartv_30
_Z11Com_Restartv_20:
	mov ecx, 0x1
_Z11Com_Restartv_50:
	mov [esp+0x8], edx
	mov eax, [com_developer_script]
	movzx eax, byte [eax+0xc]
	mov [esp+0x4], eax
	mov [esp], ecx
	call _Z12Scr_Settingsiii
	mov dword [com_fixedConsolePosition], 0x0
	call _Z9XAnimInitv
	call _Z8DObjInitv
	leave
	jmp _Z12Com_InitDObjv
_Z11Com_Restartv_10:
	call _Z17DB_ReleaseXAssetsv
	jmp _Z11Com_Restartv_40
_Z11Com_Restartv_30:
	xor ecx, ecx
	jmp _Z11Com_Restartv_50


;Field_Clear(field_t*)
_Z11Field_ClearP7field_t:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0x8]
	lea eax, [ebx+0x18]
	mov dword [esp+0x8], 0x100
	mov dword [esp+0x4], 0x0
	mov [esp], eax
	call memset
	mov dword [ebx], 0x0
	mov dword [ebx+0x4], 0x0
	mov dword [ebx+0x8], 0x100
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;Com_SafeMode()
_Z12Com_SafeModev:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov ecx, [com_numConsoleLines]
	test ecx, ecx
	jg _Z12Com_SafeModev_10
_Z12Com_SafeModev_60:
	mov eax, [com_safemode]
_Z12Com_SafeModev_120:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z12Com_SafeModev_10:
	mov dword [ebp-0x1c], 0x0
	mov edi, com_consoleLines
	mov esi, cmd_args
	jmp _Z12Com_SafeModev_20
_Z12Com_SafeModev_80:
	mov edx, cmd_args
	mov eax, [edx]
	mov ebx, [edx+eax*4+0x44]
	test ebx, ebx
	jle _Z12Com_SafeModev_30
	mov eax, [edx+eax*4+0x64]
	mov eax, [eax]
_Z12Com_SafeModev_110:
	mov dword [esp+0x4], _cstring_dvar_restart
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z12Com_SafeModev_40
	xor ebx, ebx
_Z12Com_SafeModev_90:
	call _Z22Cmd_EndTokenizedStringv
	test bl, bl
	jnz _Z12Com_SafeModev_50
	add dword [ebp-0x1c], 0x1
	add edi, 0x4
	mov eax, [ebp-0x1c]
	cmp eax, [com_numConsoleLines]
	jge _Z12Com_SafeModev_60
_Z12Com_SafeModev_20:
	mov eax, [edi]
	mov [esp], eax
	call _Z18Cmd_TokenizeStringPKc
	mov eax, [esi]
	mov edx, [esi+eax*4+0x44]
	test edx, edx
	jle _Z12Com_SafeModev_70
	mov eax, [esi+eax*4+0x64]
	mov eax, [eax]
_Z12Com_SafeModev_100:
	mov dword [esp+0x4], _cstring_safe
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z12Com_SafeModev_80
_Z12Com_SafeModev_40:
	mov ebx, 0x1
	jmp _Z12Com_SafeModev_90
_Z12Com_SafeModev_70:
	mov eax, _cstring_null
	jmp _Z12Com_SafeModev_100
_Z12Com_SafeModev_30:
	mov eax, _cstring_null
	jmp _Z12Com_SafeModev_110
_Z12Com_SafeModev_50:
	mov edx, [ebp-0x1c]
	mov eax, [edx*4+com_consoleLines]
	mov byte [eax], 0x0
	mov eax, 0x1
	jmp _Z12Com_SafeModev_120
	nop


;Com_Shutdown(char const*)
_Z12Com_ShutdownPKc:
	push ebp
	mov ebp, esp
	sub esp, 0x28
	mov eax, [ebp+0x8]
	call _Z20Com_ShutdownInternalPKc
	mov eax, com_dedicated
	mov eax, [eax]
	mov eax, [eax+0xc]
	test eax, eax
	jz _Z12Com_ShutdownPKc_10
	leave
	ret
_Z12Com_ShutdownPKc_10:
	call _Z15CL_InitRendererv
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jnz _Z12Com_ShutdownPKc_20
_Z12Com_ShutdownPKc_30:
	mov dword [esp+0x4], _cstring_null
	mov dword [esp], _cstring_null
	call _Z9UI_SetMapPKcS0_
	call _Z17CL_StartHunkUsersv
	leave
	ret
_Z12Com_ShutdownPKc_20:
	mov dword [ebp-0x14], _cstring_ui_mp
	mov dword [ebp-0x10], 0x8
	mov dword [ebp-0xc], 0x68
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], 0x1
	lea eax, [ebp-0x14]
	mov [esp], eax
	call _Z14DB_LoadXAssetsP9XZoneInfoji
	jmp _Z12Com_ShutdownPKc_30
	nop


;PIXSetMarker(int, char const*, ...)
_Z12PIXSetMarkeriPKcz:
	push ebp
	mov ebp, esp
	pop ebp
	ret
	nop


;Com_EventLoop()
_Z13Com_EventLoopv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
_Z13Com_EventLoopv_50:
	lea eax, [ebp-0x58]
	mov [esp], eax
	call _Z12Sys_GetEventv
	sub esp, 0x4
	mov edi, [ebp-0x58]
	mov [ebp-0x30], edi
	mov edx, [ebp-0x54]
	mov [ebp-0x2c], edx
	mov ecx, [ebp-0x50]
	mov [ebp-0x28], ecx
	mov esi, [ebp-0x4c]
	mov [ebp-0x24], esi
	mov eax, [ebp-0x48]
	mov [ebp-0x20], eax
	mov ebx, [ebp-0x44]
	mov [ebp-0x1c], ebx
	cmp edx, 0x1
	jz _Z13Com_EventLoopv_10
	jle _Z13Com_EventLoopv_20
	cmp edx, 0x2
	jz _Z13Com_EventLoopv_30
	cmp edx, 0x3
	jz _Z13Com_EventLoopv_40
_Z13Com_EventLoopv_60:
	mov [esp+0x8], edx
	mov dword [esp+0x4], _cstring_com_eventloop_ba
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z13Com_EventLoopv_50
_Z13Com_EventLoopv_10:
	mov [esp+0xc], edi
	mov [esp+0x8], esi
	mov [esp+0x4], ecx
	mov dword [esp], 0x0
	call _Z11CL_KeyEventiiij
	jmp _Z13Com_EventLoopv_50
_Z13Com_EventLoopv_30:
	mov [esp+0x4], ecx
	mov dword [esp], 0x0
	call _Z12CL_CharEventii
	jmp _Z13Com_EventLoopv_50
_Z13Com_EventLoopv_20:
	test edx, edx
	jnz _Z13Com_EventLoopv_60
	call _Z21Com_ClientPacketEventv
	lea esp, [ebp-0xc]
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z21Com_ServerPacketEventv
_Z13Com_EventLoopv_40:
	mov [esp+0x4], ebx
	mov dword [esp], 0x0
	call _Z12Cbuf_AddTextiPKc
	mov [esp], ebx
	call Z_FreeInternal
	mov dword [esp+0x4], _cstring_
	mov dword [esp], 0x0
	call _Z12Cbuf_AddTextiPKc
	jmp _Z13Com_EventLoopv_50
	nop


;Com_ReadCDKey()
_Z13Com_ReadCDKeyv:
	push ebp
	mov ebp, esp
	sub esp, 0x38
	mov dword [esp+0xc], 0x0
	mov dword [esp+0x8], 0x15
	lea eax, [ebp-0x1d]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_codkey
	call _ZN14MacPreferences9GetStringEPKcPciS1_
	test al, al
	jz _Z13Com_ReadCDKeyv_10
	mov eax, [ebp-0x1d]
	mov [cl_cdkey], eax
	mov eax, [ebp-0x19]
	mov [cl_cdkey+0x4], eax
	mov eax, [ebp-0x15]
	mov [cl_cdkey+0x8], eax
	mov eax, [ebp-0x11]
	mov [cl_cdkey+0xc], eax
	mov byte [cl_cdkey+0x10], 0x0
	mov eax, [ebp-0xd]
	mov [cl_cdkeychecksum], eax
	mov byte [cl_cdkeychecksum+0x4], 0x0
	mov dword [esp+0x4], cl_cdkeychecksum
	mov dword [esp], cl_cdkey
	call _Z16CL_CDKeyValidatePKcS0_
	test eax, eax
	jz _Z13Com_ReadCDKeyv_10
	leave
	ret
_Z13Com_ReadCDKeyv_10:
	mov dword [cl_cdkey], 0x20202020
	mov dword [cl_cdkey+0x4], 0x20202020
	mov dword [cl_cdkey+0x8], 0x20202020
	mov dword [cl_cdkey+0xc], 0x20202020
	mov byte [cl_cdkey+0x10], 0x0
	leave
	ret


;Com_AllocEvent(int)
_Z14Com_AllocEventi:
	push ebp
	mov ebp, esp
	pop ebp
	jmp Z_MallocInternal
	nop
	add [eax], al


;Com_ErrorAbort()
_Z14Com_ErrorAbortv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov dword [esp+0x4], com_errorMessage
	mov dword [esp], _cstring_s
	call _Z9Sys_ErrorPKcz
	leave
	ret


;Com_PrintError(int, char const*, ...)
_Z14Com_PrintErroriPKcz:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x102c
	mov esi, [ebp+0xc]
	mov dword [esp+0x4], _cstring_error
	mov [esp], esi
	call _Z9I_stristrPKcS0_
	test eax, eax
	jz _Z14Com_PrintErroriPKcz_10
	mov dword [esp+0x8], 0x1000
	mov dword [esp+0x4], _cstring_11
	lea ebx, [ebp-0x101c]
	mov [esp], ebx
	call _Z10I_strncpyzPcPKci
_Z14Com_PrintErroriPKcz_20:
	cld
	mov ecx, 0xffffffff
	xor eax, eax
	mov edi, ebx
	repne scasb
	not ecx
	sub ecx, 0x1
	lea eax, [ebp+0x10]
	mov [ebp-0x1c], eax
	mov [esp+0xc], eax
	mov [esp+0x8], esi
	mov eax, 0x1000
	sub eax, ecx
	mov [esp+0x4], eax
	lea ecx, [ebx+ecx]
	mov [esp], ecx
	call vsnprintf
	mov byte [ebp-0x1d], 0x0
	add dword [com_errorPrintsCount], 0x1
	mov dword [esp+0x8], 0x3
	mov [esp+0x4], ebx
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z16Com_PrintMessageiPKci
	add esp, 0x102c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Com_PrintErroriPKcz_10:
	mov dword [esp+0x8], 0x1000
	mov dword [esp+0x4], _cstring_1error_
	lea ebx, [ebp-0x101c]
	mov [esp], ebx
	call _Z10I_strncpyzPcPKci
	jmp _Z14Com_PrintErroriPKcz_20


;Com_WriteCDKey()
_Z14Com_WriteCDKeyv:
	push ebp
	mov ebp, esp
	sub esp, 0x38
	mov dword [esp+0x4], cl_cdkeychecksum
	mov dword [esp], cl_cdkey
	call _Z16CL_CDKeyValidatePKcS0_
	test eax, eax
	jnz _Z14Com_WriteCDKeyv_10
	mov dword [cl_cdkey], 0x20202020
	mov dword [cl_cdkey+0x4], 0x20202020
	mov dword [cl_cdkey+0x8], 0x20202020
	mov dword [cl_cdkey+0xc], 0x20202020
	mov byte [cl_cdkey+0x10], 0x0
	leave
	ret
_Z14Com_WriteCDKeyv_10:
	lea edx, [ebp-0x1d]
	mov eax, [cl_cdkey]
	mov [ebp-0x1d], eax
	mov eax, [cl_cdkey+0x4]
	mov [ebp-0x19], eax
	mov eax, [cl_cdkey+0x8]
	mov [ebp-0x15], eax
	mov eax, [cl_cdkey+0xc]
	mov [ebp-0x11], eax
	mov eax, [cl_cdkeychecksum]
	mov [ebp-0xd], eax
	mov byte [ebp-0x9], 0x0
	mov [esp+0x4], edx
	mov dword [esp], _cstring_codkey
	call _ZN14MacPreferences9PutStringEPKcS1_
	leave
	ret


;Com_AddToString(char const*, char*, int, int, int)
_Z15Com_AddToStringPKcPciii:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x8
	mov eax, [ebp+0x10]
	mov ecx, [ebp+0x18]
	test ecx, ecx
	jz _Z15Com_AddToStringPKcPciii_10
	mov ecx, [ebp+0x8]
	movzx edx, byte [ecx]
	test dl, dl
	jnz _Z15Com_AddToStringPKcPciii_20
_Z15Com_AddToStringPKcPciii_100:
	cmp eax, [ebp+0x14]
	jge _Z15Com_AddToStringPKcPciii_30
	mov edx, [ebp+0xc]
	mov byte [edx+eax], 0x22
	add eax, 0x1
	mov dword [ebp-0x10], 0x1
	cmp eax, [ebp+0x14]
	jl _Z15Com_AddToStringPKcPciii_40
_Z15Com_AddToStringPKcPciii_70:
	mov edx, [ebp-0x10]
	test edx, edx
	jz _Z15Com_AddToStringPKcPciii_50
_Z15Com_AddToStringPKcPciii_30:
	cmp [ebp+0x14], eax
	jle _Z15Com_AddToStringPKcPciii_50
	mov esi, [ebp+0xc]
	mov byte [eax+esi], 0x22
	add eax, 0x1
_Z15Com_AddToStringPKcPciii_50:
	add esp, 0x8
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z15Com_AddToStringPKcPciii_20:
	mov ebx, [ebp+0x14]
	sub ebx, eax
	test ebx, ebx
	jg _Z15Com_AddToStringPKcPciii_60
_Z15Com_AddToStringPKcPciii_10:
	mov dword [ebp-0x10], 0x0
	cmp eax, [ebp+0x14]
	jge _Z15Com_AddToStringPKcPciii_70
_Z15Com_AddToStringPKcPciii_40:
	mov ecx, [ebp+0x8]
	movzx edx, byte [ecx]
	test dl, dl
	jz _Z15Com_AddToStringPKcPciii_70
	mov ecx, 0x1
	mov ebx, [ebp+0xc]
	lea edi, [ebx+eax]
	mov esi, [ebp+0x14]
	sub esi, eax
_Z15Com_AddToStringPKcPciii_90:
	mov [edi+ecx-0x1], dl
	lea edx, [eax+ecx]
	mov [ebp-0x14], edx
	cmp ecx, esi
	jz _Z15Com_AddToStringPKcPciii_80
	mov ebx, [ebp+0x8]
	movzx edx, byte [ebx+ecx]
	add ecx, 0x1
	test dl, dl
	jnz _Z15Com_AddToStringPKcPciii_90
	mov eax, [ebp-0x14]
	jmp _Z15Com_AddToStringPKcPciii_70
_Z15Com_AddToStringPKcPciii_60:
	cmp dl, 0x20
	jle _Z15Com_AddToStringPKcPciii_100
	xor edx, edx
_Z15Com_AddToStringPKcPciii_110:
	add edx, 0x1
	cmp ebx, edx
	jz _Z15Com_AddToStringPKcPciii_10
	mov esi, [ebp+0x8]
	movzx ecx, byte [edx+esi]
	test cl, cl
	jz _Z15Com_AddToStringPKcPciii_10
	cmp cl, 0x20
	jg _Z15Com_AddToStringPKcPciii_110
	jmp _Z15Com_AddToStringPKcPciii_100
_Z15Com_AddToStringPKcPciii_80:
	mov eax, edx
	jmp _Z15Com_AddToStringPKcPciii_70


;Com_EndRedirect()
_Z15Com_EndRedirectv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov edx, [rd_flush]
	test edx, edx
	jz _Z15Com_EndRedirectv_10
	mov eax, [rd_buffer]
	mov [esp], eax
	call edx
_Z15Com_EndRedirectv_10:
	mov dword [rd_buffer], 0x0
	mov dword [rd_buffersize], 0x0
	mov dword [rd_flush], 0x0
	leave
	ret


;Com_LogFileOpen()
_Z15Com_LogFileOpenv:
	push ebp
	mov ebp, esp
	xor eax, eax
	cmp dword [logfile], 0x0
	setnz al
	pop ebp
	ret
	nop


;Com_SyncThreads()
_Z15Com_SyncThreadsv:
	push ebp
	mov ebp, esp
	sub esp, 0x8
	call _Z18R_SyncRenderThreadv
	leave
	jmp _Z16R_WaitWorkerCmdsv
	nop


;Com_PrintMessage(int, char const*, int)
_Z16Com_PrintMessageiPKci:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov ebx, [ebp+0x10]
	mov dword [esp+0x4], 0x1000
	mov [esp], esi
	call _Z22PbCaptureConsoleOutputPci
	mov eax, [rd_buffer]
	test eax, eax
	jz _Z16Com_PrintMessageiPKci_10
	cmp edi, 0x6
	jz _Z16Com_PrintMessageiPKci_20
	mov dword [esp], 0x6
	call _Z24Sys_EnterCriticalSection15CriticalSection
	mov ebx, [rd_buffer]
	xor edx, edx
	cld
	mov ecx, 0xffffffff
	mov edi, esi
	mov eax, edx
	repne scasb
	not ecx
	mov [ebp-0x1c], ecx
	mov ecx, 0xffffffff
	mov edi, ebx
	repne scasb
	not ecx
	mov eax, [ebp-0x1c]
	lea ecx, [ecx+eax-0x2]
	mov edx, [rd_buffersize]
	lea eax, [edx-0x1]
	cmp ecx, eax
	ja _Z16Com_PrintMessageiPKci_30
_Z16Com_PrintMessageiPKci_40:
	mov [esp+0x8], esi
	mov [esp+0x4], edx
	mov [esp], ebx
	call _Z9I_strncatPciPKc
	mov dword [ebp+0x8], 0x6
_Z16Com_PrintMessageiPKci_130:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z24Sys_LeaveCriticalSection15CriticalSection
_Z16Com_PrintMessageiPKci_20:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Com_PrintMessageiPKci_30:
	mov [esp], ebx
	call dword [rd_flush]
	mov eax, [rd_buffer]
	mov byte [eax], 0x0
	mov ebx, [rd_buffer]
	mov edx, [rd_buffersize]
	jmp _Z16Com_PrintMessageiPKci_40
_Z16Com_PrintMessageiPKci_10:
	cmp edi, 0x6
	jz _Z16Com_PrintMessageiPKci_50
	mov eax, com_dedicated
	mov eax, [eax]
	test eax, eax
	jz _Z16Com_PrintMessageiPKci_50
	mov ecx, [eax+0xc]
	test ecx, ecx
	jz _Z16Com_PrintMessageiPKci_60
_Z16Com_PrintMessageiPKci_50:
	cmp byte [esi], 0x5e
	jz _Z16Com_PrintMessageiPKci_70
_Z16Com_PrintMessageiPKci_140:
	cmp edi, 0x6
	jz _Z16Com_PrintMessageiPKci_80
	mov eax, [com_filter_output]
	test eax, eax
	jz _Z16Com_PrintMessageiPKci_90
	cmp byte [eax+0xc], 0x0
	jnz _Z16Com_PrintMessageiPKci_100
_Z16Com_PrintMessageiPKci_90:
	mov [esp], esi
	call _Z9Sys_PrintPKc
_Z16Com_PrintMessageiPKci_80:
	cmp edi, 0x7
	jz _Z16Com_PrintMessageiPKci_20
	mov eax, [com_logfile]
	test eax, eax
	jz _Z16Com_PrintMessageiPKci_20
	mov edx, [eax+0xc]
	test edx, edx
	jz _Z16Com_PrintMessageiPKci_20
	mov dword [esp], 0x0
	call _Z24Sys_EnterCriticalSection15CriticalSection
	call _Z14FS_Initializedv
	test eax, eax
	jz _Z16Com_PrintMessageiPKci_110
	mov eax, [logfile]
	test eax, eax
	jnz _Z16Com_PrintMessageiPKci_120
	call _Z15Com_OpenLogFilev
	mov eax, [logfile]
	test eax, eax
	jz _Z16Com_PrintMessageiPKci_110
_Z16Com_PrintMessageiPKci_120:
	mov [esp+0x8], eax
	cld
	mov ecx, 0xffffffff
	xor eax, eax
	mov edi, esi
	repne scasb
	not ecx
	sub ecx, 0x1
	mov [esp+0x4], ecx
	mov [esp], esi
	call _Z11FS_WriteLogPKvii
	mov eax, [com_logfile]
	cmp dword [eax+0xc], 0x1
	jle _Z16Com_PrintMessageiPKci_110
	mov eax, [logfile]
	mov [esp], eax
	call _Z8FS_Flushi
_Z16Com_PrintMessageiPKci_110:
	mov dword [ebp+0x8], 0x0
	jmp _Z16Com_PrintMessageiPKci_130
_Z16Com_PrintMessageiPKci_70:
	lea eax, [esi+0x2]
	cmp byte [esi+0x1], 0x0
	cmovnz esi, eax
	jmp _Z16Com_PrintMessageiPKci_140
_Z16Com_PrintMessageiPKci_100:
	mov dword [esp+0x8], 0x3
	mov [esp+0x4], edi
	mov dword [esp], 0x0
	call _Z20Con_IsChannelVisible16print_msg_dest_tii
	test al, al
	jz _Z16Com_PrintMessageiPKci_80
	jmp _Z16Com_PrintMessageiPKci_90
_Z16Com_PrintMessageiPKci_60:
	shl ebx, 0x5
	mov [esp+0x14], ebx
	mov dword [esp+0x10], 0x0
	mov dword [esp+0xc], 0x0
	mov [esp+0x8], esi
	mov [esp+0x4], edi
	mov dword [esp], 0x0
	call _Z15CL_ConsolePrintiiPKciii
	jmp _Z16Com_PrintMessageiPKci_50
	add [eax], al


;Com_PrintWarning(int, char const*, ...)
_Z16Com_PrintWarningiPKcz:
	push ebp
	mov ebp, esp
	push edi
	push ebx
	sub esp, 0x1020
	mov dword [esp+0x8], 0x1000
	mov dword [esp+0x4], _cstring_3
	lea ebx, [ebp-0x100c]
	mov [esp], ebx
	call _Z10I_strncpyzPcPKci
	mov edi, ebx
	cld
	mov ecx, 0xffffffff
	xor eax, eax
	repne scasb
	not ecx
	sub ecx, 0x1
	lea eax, [ebp+0x10]
	mov [ebp-0xc], eax
	mov [esp+0xc], eax
	mov eax, [ebp+0xc]
	mov [esp+0x8], eax
	mov eax, 0x1000
	sub eax, ecx
	mov [esp+0x4], eax
	lea ecx, [ebx+ecx]
	mov [esp], ecx
	call vsnprintf
	mov byte [ebp-0xd], 0x0
	mov dword [esp+0x8], 0x2
	mov [esp+0x4], ebx
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z16Com_PrintMessageiPKci
	add esp, 0x1020
	pop ebx
	pop edi
	pop ebp
	ret
	add [eax], al


;Com_BeginRedirect(char*, unsigned int, void (*)(char*))
_Z17Com_BeginRedirectPcjPFvS_E:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	mov ecx, [ebp+0x10]
	test eax, eax
	jz _Z17Com_BeginRedirectPcjPFvS_E_10
	test edx, edx
	jz _Z17Com_BeginRedirectPcjPFvS_E_10
	test ecx, ecx
	jz _Z17Com_BeginRedirectPcjPFvS_E_10
	mov [rd_buffer], eax
	mov [rd_buffersize], edx
	mov [rd_flush], ecx
	mov byte [eax], 0x0
_Z17Com_BeginRedirectPcjPFvS_E_10:
	pop ebp
	ret


;Com_ForceSafeMode()
_Z17Com_ForceSafeModev:
	push ebp
	mov ebp, esp
	mov dword [com_safemode], 0x1
	pop ebp
	ret
	nop


;Com_WriteConfig_f()
_Z17Com_WriteConfig_fv:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x54
	mov eax, cmd_args
	mov edx, [eax]
	cmp dword [eax+edx*4+0x44], 0x2
	jz _Z17Com_WriteConfig_fv_10
	mov dword [esp+0x4], _cstring_usage_writeconfi
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	add esp, 0x54
	pop ebx
	pop ebp
	ret
_Z17Com_WriteConfig_fv_10:
	mov dword [esp+0x8], 0x40
	mov eax, [eax+edx*4+0x64]
	mov eax, [eax+0x4]
	mov [esp+0x4], eax
	lea ebx, [ebp-0x48]
	mov [esp], ebx
	call _Z10I_strncpyzPcPKci
	mov dword [esp+0x8], _cstring_cfg
	mov dword [esp+0x4], 0x40
	mov [esp], ebx
	call _Z20Com_DefaultExtensionPciPKc
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_writing_s
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	mov edx, ebx
	xor eax, eax
	call _Z21Com_WriteConfigToFileiPKc
	add esp, 0x54
	pop ebx
	pop ebp
	ret


;Com_SetRecommended(int, int)
_Z18Com_SetRecommendedii:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1edc
	mov dword [esp+0x4], _cstring__autoconfigure
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	lea eax, [ebp-0x280]
	mov [esp], eax
	call _Z11Sys_GetInfoP7SysInfo
	movsd xmm0, qword [_double_1_02000000]
	mulsd xmm0, [ebp-0x278]
	movsd [ebp-0x278], xmm0
	mov eax, [ebp-0x268]
	cmp eax, 0x7f
	jg _Z18Com_SetRecommendedii_10
	mov dword [ebp-0x268], 0x80
	lea eax, [ebp-0x20]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_configure_mpcsv
	call FS_ReadFile
	mov [ebp-0x1eb0], eax
	test eax, eax
	js _Z18Com_SetRecommendedii_20
_Z18Com_SetRecommendedii_230:
	mov eax, [ebp-0x20]
	mov [ebp-0x1c], eax
	mov dword [esp], _cstring_configure_mpcsv
	call _Z21Com_BeginParseSessionPKc
	mov dword [esp], 0x1
	call _Z10Com_SetCSVi
	xor ebx, ebx
	mov byte [ebp-0x1ea9], 0x0
	xor edi, edi
	movsd xmm0, qword [_double__1_00000000]
	movsd [ebp-0x1ea0], xmm0
_Z18Com_SetRecommendedii_90:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov esi, eax
	movzx eax, byte [eax]
	test al, al
	jz _Z18Com_SetRecommendedii_30
_Z18Com_SetRecommendedii_80:
	cmp al, 0x23
	jz _Z18Com_SetRecommendedii_30
	mov dword [esp+0x4], _cstring_gpu
	mov [esp], esi
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z18Com_SetRecommendedii_40
	test ebx, ebx
	jnz _Z18Com_SetRecommendedii_50
	mov dword [esp+0x4], _cstring_cpu_ghz
	mov [esp], esi
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z18Com_SetRecommendedii_60
_Z18Com_SetRecommendedii_170:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	mov dword [esp+0x4], _cstring_sys_mb
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z18Com_SetRecommendedii_70
_Z18Com_SetRecommendedii_160:
	lea edx, [ebp-0x1680]
	lea eax, [ebp-0x1c]
	call _Z25Com_GetConfigureDvarNamesPPKcPA32_c
	mov ebx, eax
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov esi, eax
	movzx eax, byte [eax]
	test al, al
	jnz _Z18Com_SetRecommendedii_80
_Z18Com_SetRecommendedii_30:
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z18Com_SkipRestOfLinePPKc
	jmp _Z18Com_SetRecommendedii_90
_Z18Com_SetRecommendedii_50:
	mov [esp], esi
	call atof
	fstp qword [ebp-0x1e98]
	movsd xmm0, qword [ebp-0x1e98]
	ucomisd xmm0, [_double_0_00000000]
	jb _Z18Com_SetRecommendedii_100
_Z18Com_SetRecommendedii_470:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z15Com_ParseOnLinePPKc
	mov [esp], eax
	call atoi
	mov esi, eax
	cmp eax, 0x7f
	jle _Z18Com_SetRecommendedii_110
_Z18Com_SetRecommendedii_150:
	movsd xmm0, qword [ebp-0x278]
	ucomisd xmm0, [ebp-0x1e98]
	jb _Z18Com_SetRecommendedii_120
	cmp esi, [ebp-0x268]
	jg _Z18Com_SetRecommendedii_120
	movsd xmm0, qword [ebp-0x1e98]
	ucomisd xmm0, [ebp-0x1ea0]
	ja _Z18Com_SetRecommendedii_130
	movsd xmm0, qword [ebp-0x1ea0]
	ucomisd xmm0, [ebp-0x1e98]
	jz _Z18Com_SetRecommendedii_140
_Z18Com_SetRecommendedii_120:
	xor ecx, ecx
_Z18Com_SetRecommendedii_220:
	lea edx, [ebp-0x1c]
	mov eax, ebx
	call _Z26Com_GetConfigureDvarValuesiPPKcPA32_c
	jmp _Z18Com_SetRecommendedii_90
_Z18Com_SetRecommendedii_110:
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_configure_mpcsv_6
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z18Com_SetRecommendedii_150
_Z18Com_SetRecommendedii_70:
	mov dword [esp+0x4], _cstring_configure_mpcsv_7
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z18Com_SetRecommendedii_160
_Z18Com_SetRecommendedii_60:
	mov dword [esp+0x4], _cstring_configure_mpcsv_8
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z18Com_SetRecommendedii_170
_Z18Com_SetRecommendedii_40:
	call _Z14Com_UngetTokenv
	cmp byte [ebp-0x1ea9], 0x0
	jnz _Z18Com_SetRecommendedii_180
	lea edi, [ebp-0x280]
	mov [esp], edi
	call _Z11Sys_GetInfoP7SysInfo
	mov eax, [ebp-0x268]
	mov [esp+0x10], eax
	movsd xmm0, qword [ebp-0x278]
	movsd [esp+0x8], xmm0
	mov dword [esp+0x4], _cstring_configure_mpcsv_9
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
_Z18Com_SetRecommendedii_480:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov dword [esp+0x4], _cstring_gpu
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z18Com_SetRecommendedii_190
	call _Z14Com_UngetTokenv
_Z18Com_SetRecommendedii_340:
	lea eax, [ebp-0x264]
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_configure_mpcsv_10
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
_Z18Com_SetRecommendedii_330:
	call _Z19Com_EndParseSessionv
	mov ebx, [ebp-0x20]
	mov eax, [ebp-0x1eb0]
	test eax, eax
	jg _Z18Com_SetRecommendedii_200
	xor esi, esi
	mov [esp], ebx
	call FS_FreeFile
	lea eax, [esi+0x1]
	mov [esp], eax
	call _Z15Sys_ArchiveInfoi
	mov eax, [ebp+0xc]
	test eax, eax
	jnz _Z18Com_SetRecommendedii_210
_Z18Com_SetRecommendedii_250:
	add esp, 0x1edc
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18Com_SetRecommendedii_140:
	jp _Z18Com_SetRecommendedii_120
	cmp esi, edi
	jle _Z18Com_SetRecommendedii_120
	movsd xmm0, qword [ebp-0x1e98]
_Z18Com_SetRecommendedii_130:
	mov [ebp-0x668], esi
	movsd [ebp-0x680], xmm0
	lea edx, [ebp-0xe80]
	lea eax, [ebp-0x680]
	mov dword [esp+0x8], 0x25c
	mov [esp+0x4], eax
	mov [esp], edx
	call memcpy
	mov edi, [ebp-0xe68]
	movsd xmm0, qword [ebp-0xe80]
	movsd [ebp-0x1ea0], xmm0
	lea ecx, [ebp-0x1e80]
	mov byte [ebp-0x1ea9], 0x1
	jmp _Z18Com_SetRecommendedii_220
_Z18Com_SetRecommendedii_10:
	add eax, 0x8
	mov [ebp-0x268], eax
	lea eax, [ebp-0x20]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_configure_mpcsv
	call FS_ReadFile
	mov [ebp-0x1eb0], eax
	test eax, eax
	jns _Z18Com_SetRecommendedii_230
_Z18Com_SetRecommendedii_20:
	mov dword [esp+0x4], _cstring_exe_err_not_foun
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z18Com_SetRecommendedii_230
_Z18Com_SetRecommendedii_200:
	xor ecx, ecx
	xor edx, edx
_Z18Com_SetRecommendedii_240:
	mov eax, edx
	shl eax, 0x4
	sub eax, edx
	lea eax, [edx+eax*4]
	lea eax, [edx+eax*8]
	lea eax, [edx+eax*2]
	lea eax, [edx+eax*4]
	lea eax, [edx+eax*8]
	movsx edx, byte [ebx+ecx]
	lea edx, [eax+edx]
	add ecx, 0x1
	cmp [ebp-0x1eb0], ecx
	jnz _Z18Com_SetRecommendedii_240
	mov esi, edx
	and esi, 0xfffffff
	mov [esp], ebx
	call FS_FreeFile
	lea eax, [esi+0x1]
	mov [esp], eax
	call _Z15Sys_ArchiveInfoi
	mov eax, [ebp+0xc]
	test eax, eax
	jz _Z18Com_SetRecommendedii_250
_Z18Com_SetRecommendedii_210:
	call _Z21Dvar_AnyLatchedValuesv
	test al, al
	jz _Z18Com_SetRecommendedii_250
	mov dword [esp+0x4], _cstring_snd_restart
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Cbuf_AddTextiPKc
	add esp, 0x1edc
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18Com_SetRecommendedii_190:
	lea edx, [ebp-0x1680]
	lea eax, [ebp-0x1c]
	call _Z25Com_GetConfigureDvarNamesPPKcPA32_c
	mov [ebp-0x1ea8], eax
	mov byte [ebp-0x1ea1], 0x0
_Z18Com_SetRecommendedii_350:
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z9Com_ParsePPKc
	mov [ebp-0x1ebc], eax
	mov edx, [ebp-0x1c]
	test edx, edx
	jz _Z18Com_SetRecommendedii_260
_Z18Com_SetRecommendedii_320:
	movzx eax, byte [eax]
	test al, al
	jz _Z18Com_SetRecommendedii_270
	cmp al, 0x23
	jz _Z18Com_SetRecommendedii_270
	cmp byte [ebp-0x1ea1], 0x0
	jnz _Z18Com_SetRecommendedii_280
	mov byte [ebp-0x680], 0x2a
	mov edx, [ebp-0x1ebc]
	movzx eax, byte [edx]
	test al, al
	jnz _Z18Com_SetRecommendedii_290
	mov ebx, 0x1
	xor eax, eax
_Z18Com_SetRecommendedii_420:
	cmp byte [ebp+eax-0x680], 0x2a
	jz _Z18Com_SetRecommendedii_300
	mov byte [ebp+ebx-0x680], 0x2a
	add ebx, 0x1
_Z18Com_SetRecommendedii_300:
	mov byte [ebp+ebx-0x680], 0x0
	lea edx, [ebp-0x264]
	lea eax, [ebp-0x680]
	call _Z20Com_GpuStringComparePKcS0_
	test eax, eax
	jz _Z18Com_SetRecommendedii_310
_Z18Com_SetRecommendedii_280:
	xor ecx, ecx
	lea edx, [ebp-0x1c]
	mov eax, [ebp-0x1ea8]
	call _Z26Com_GetConfigureDvarValuesiPPKcPA32_c
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z9Com_ParsePPKc
	mov [ebp-0x1ebc], eax
	mov edx, [ebp-0x1c]
	test edx, edx
	jnz _Z18Com_SetRecommendedii_320
_Z18Com_SetRecommendedii_260:
	cmp byte [ebp-0x1ea1], 0x0
	jnz _Z18Com_SetRecommendedii_330
	jmp _Z18Com_SetRecommendedii_340
_Z18Com_SetRecommendedii_270:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z18Com_SkipRestOfLinePPKc
	jmp _Z18Com_SetRecommendedii_350
_Z18Com_SetRecommendedii_290:
	mov esi, edx
	add esi, 0x1
	mov [ebp-0x1e8c], edx
	mov ebx, 0x1
	jmp _Z18Com_SetRecommendedii_360
_Z18Com_SetRecommendedii_400:
	mov edx, [ebp-0x1e8c]
	movzx eax, byte [edx]
	mov [ebp+ebx-0x680], al
	add ebx, 0x1
	cmp ebx, 0x3ff
	jz _Z18Com_SetRecommendedii_370
_Z18Com_SetRecommendedii_410:
	mov [ebp-0x1e8c], esi
	movzx eax, byte [esi]
	add esi, 0x1
	test al, al
	jz _Z18Com_SetRecommendedii_380
_Z18Com_SetRecommendedii_360:
	movsx edx, al
	test edx, 0xffffff80
	jnz _Z18Com_SetRecommendedii_390
	mov eax, [0xd5cc084]
	mov eax, [eax+edx*4+0x34]
	shr eax, 0xe
	and eax, 0x1
_Z18Com_SetRecommendedii_430:
	test eax, eax
	jz _Z18Com_SetRecommendedii_400
	cmp byte [ebp+ebx-0x681], 0x20
	jz _Z18Com_SetRecommendedii_410
	mov byte [ebp+ebx-0x680], 0x20
	add ebx, 0x1
	cmp ebx, 0x3ff
	jnz _Z18Com_SetRecommendedii_410
_Z18Com_SetRecommendedii_370:
	mov dword [esp+0x4], _cstring_configure_mpcsv_11
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	mov [ebp-0x1e8c], esi
	movzx eax, byte [esi]
	add esi, 0x1
	test al, al
	jnz _Z18Com_SetRecommendedii_360
_Z18Com_SetRecommendedii_380:
	lea eax, [ebx-0x1]
	jmp _Z18Com_SetRecommendedii_420
_Z18Com_SetRecommendedii_390:
	mov dword [esp+0x4], 0x4000
	mov [esp], edx
	call __maskrune
	test eax, eax
	setnz al
	movzx eax, al
	jmp _Z18Com_SetRecommendedii_430
_Z18Com_SetRecommendedii_310:
	mov edi, [ebp-0x1ebc]
	mov [esp+0x8], edi
	mov dword [esp+0x4], _cstring_configure_mpcsv_12
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	mov ebx, _cstring_radeon_x16
	mov ecx, 0xc
	cld
	mov esi, [ebp-0x1ebc]
	mov edi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z18Com_SetRecommendedii_440
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z18Com_SetRecommendedii_440:
	test edx, edx
	jnz _Z18Com_SetRecommendedii_450
_Z18Com_SetRecommendedii_500:
	mov ebx, 0x1
_Z18Com_SetRecommendedii_510:
	lea ecx, [ebp-0xe80]
	lea edx, [ebp-0x1c]
	mov eax, [ebp-0x1ea8]
	call _Z26Com_GetConfigureDvarValuesiPPKcPA32_c
	test bl, bl
	jnz _Z18Com_SetRecommendedii_460
_Z18Com_SetRecommendedii_520:
	lea ecx, [ebp-0xe80]
	lea edx, [ebp-0x1680]
	mov eax, [ebp-0x1ea8]
	call _Z21Com_SetConfigureDvarsiPA32_KcS1_
	mov byte [ebp-0x1ea1], 0x1
	jmp _Z18Com_SetRecommendedii_350
_Z18Com_SetRecommendedii_100:
	jp _Z18Com_SetRecommendedii_470
	movsd [esp+0x8], xmm0
	mov dword [esp+0x4], _cstring_configure_mpcsv_13
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z18Com_SetRecommendedii_470
_Z18Com_SetRecommendedii_180:
	mov [esp+0x10], edi
	movsd xmm0, qword [ebp-0x1ea0]
	movsd [esp+0x8], xmm0
	mov dword [esp+0x4], _cstring_configure_mpcsv_14
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	mov dword [esp+0x4], _cstring_exec_configure_m
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Cbuf_AddTextiPKc
	mov dword [esp+0x4], 0x0
	mov edx, [ebp+0x8]
	mov [esp], edx
	call _Z12Cbuf_Executeii
	lea ecx, [ebp-0x1e80]
	lea edx, [ebp-0x1680]
	mov eax, ebx
	call _Z21Com_SetConfigureDvarsiPA32_KcS1_
	jmp _Z18Com_SetRecommendedii_480
_Z18Com_SetRecommendedii_450:
	mov ebx, _cstring_geforce_73
	mov ecx, 0xc
	mov esi, [ebp-0x1ebc]
	mov edi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z18Com_SetRecommendedii_490
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z18Com_SetRecommendedii_490:
	test edx, edx
	jz _Z18Com_SetRecommendedii_500
	xor ebx, ebx
	jmp _Z18Com_SetRecommendedii_510
_Z18Com_SetRecommendedii_460:
	mov dword [ebp-0xe60], 0x78303038
	mov dword [ebp-0xe5c], 0x303036
	jmp _Z18Com_SetRecommendedii_520


;Com_ShutdownEvents()
_Z18Com_ShutdownEventsv:
	push ebp
	mov ebp, esp
	pop ebp
	ret
	nop


;Com_SetErrorMessage(char const*)
_Z19Com_SetErrorMessagePKc:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov esi, [ebp+0x8]
	cmp dword [errorcode], 0x3
	jz _Z19Com_SetErrorMessagePKc_10
	mov eax, [noticeErrors]
	cmp byte [eax], 0x0
	jnz _Z19Com_SetErrorMessagePKc_20
_Z19Com_SetErrorMessagePKc_40:
	mov ebx, _cstring_menu_error
_Z19Com_SetErrorMessagePKc_50:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_error_message
	mov [esp], esi
	call _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	test eax, eax
	cmovz eax, esi
	mov [esp+0x4], ebx
	mov [esp], eax
	call _Z28Com_SetLocalizedErrorMessagePKcS0_
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Com_SetErrorMessagePKc_20:
	mov ebx, noticeErrors
_Z19Com_SetErrorMessagePKc_30:
	mov [esp+0x4], esi
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z19Com_SetErrorMessagePKc_10
	mov eax, [ebx+0x4]
	add ebx, 0x4
	cmp byte [eax], 0x0
	jnz _Z19Com_SetErrorMessagePKc_30
	jmp _Z19Com_SetErrorMessagePKc_40
_Z19Com_SetErrorMessagePKc_10:
	mov ebx, _cstring_menu_notice
	jmp _Z19Com_SetErrorMessagePKc_50


;Com_StartupVariable(char const*)
_Z19Com_StartupVariablePKc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov ebx, [com_numConsoleLines]
	test ebx, ebx
	jg _Z19Com_StartupVariablePKc_10
_Z19Com_StartupVariablePKc_30:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z19Com_StartupVariablePKc_10:
	xor edi, edi
	mov esi, com_consoleLines
	jmp _Z19Com_StartupVariablePKc_20
_Z19Com_StartupVariablePKc_60:
	call _Z22Cmd_EndTokenizedStringv
	add edi, 0x1
	add esi, 0x4
	cmp edi, [com_numConsoleLines]
	jge _Z19Com_StartupVariablePKc_30
_Z19Com_StartupVariablePKc_20:
	mov eax, [esi]
	mov [esp], eax
	call _Z18Cmd_TokenizeStringPKc
	mov ecx, [ebp+0x8]
	test ecx, ecx
	jz _Z19Com_StartupVariablePKc_40
	mov ebx, cmd_args
	mov eax, [ebx]
	cmp dword [ebx+eax*4+0x44], 0x1
	jle _Z19Com_StartupVariablePKc_50
	mov eax, [ebx+eax*4+0x64]
	mov eax, [eax+0x4]
_Z19Com_StartupVariablePKc_120:
	mov edx, [ebp+0x8]
	mov [esp+0x4], edx
	mov [esp], eax
	call strcmp
	test eax, eax
	jnz _Z19Com_StartupVariablePKc_60
	mov eax, [ebx]
	mov edx, [ebx+eax*4+0x44]
	test edx, edx
	jle _Z19Com_StartupVariablePKc_70
_Z19Com_StartupVariablePKc_100:
	mov eax, [ebx+eax*4+0x64]
	mov eax, [eax]
	mov dword [esp+0x4], _cstring_set
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z19Com_StartupVariablePKc_80
_Z19Com_StartupVariablePKc_110:
	mov edx, cmd_args
	mov eax, [edx]
	mov ebx, [edx+eax*4+0x44]
	test ebx, ebx
	jle _Z19Com_StartupVariablePKc_90
	mov eax, [edx+eax*4+0x64]
	mov eax, [eax]
_Z19Com_StartupVariablePKc_130:
	mov dword [esp+0x4], _cstring_seta
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z19Com_StartupVariablePKc_60
	call _Z11Dvar_SetA_fv
	jmp _Z19Com_StartupVariablePKc_60
_Z19Com_StartupVariablePKc_40:
	mov ebx, cmd_args
	mov eax, [ebx]
	mov edx, [ebx+eax*4+0x44]
	test edx, edx
	jg _Z19Com_StartupVariablePKc_100
_Z19Com_StartupVariablePKc_70:
	mov eax, _cstring_null
	mov dword [esp+0x4], _cstring_set
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z19Com_StartupVariablePKc_110
_Z19Com_StartupVariablePKc_80:
	call _Z10Dvar_Set_fv
	jmp _Z19Com_StartupVariablePKc_60
_Z19Com_StartupVariablePKc_50:
	mov eax, _cstring_null
	jmp _Z19Com_StartupVariablePKc_120
_Z19Com_StartupVariablePKc_90:
	mov eax, _cstring_null
	jmp _Z19Com_StartupVariablePKc_130
	nop


;Com_WriteDefaults_f()
_Z19Com_WriteDefaults_fv:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x50
	mov eax, cmd_args
	mov edx, [eax]
	cmp dword [eax+edx*4+0x44], 0x2
	jz _Z19Com_WriteDefaults_fv_10
	mov dword [esp+0x4], _cstring_usage_writedefau
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	add esp, 0x50
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Com_WriteDefaults_fv_10:
	mov dword [esp+0x8], 0x40
	mov eax, [eax+edx*4+0x64]
	mov eax, [eax+0x4]
	mov [esp+0x4], eax
	lea esi, [ebp-0x48]
	mov [esp], esi
	call _Z10I_strncpyzPcPKci
	mov dword [esp+0x8], _cstring_cfg
	mov dword [esp+0x4], 0x40
	mov [esp], esi
	call _Z20Com_DefaultExtensionPciPKc
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_writing_s
	mov dword [esp], 0x0
	call _Z10Com_PrintfiPKcz
	mov [esp], esi
	call _Z17FS_FOpenFileWritePKc
	mov ebx, eax
	test eax, eax
	jnz _Z19Com_WriteDefaults_fv_20
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_couldnt_write_s
	mov dword [esp], 0x10
	call _Z10Com_PrintfiPKcz
	add esp, 0x50
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Com_WriteDefaults_fv_20:
	mov dword [esp+0x4], _cstring__generated_by_ca
	mov [esp], eax
	call _Z9FS_PrintfiPKcz
	mov [esp], ebx
	call _Z18Dvar_WriteDefaultsi
	mov [esp], ebx
	call _Z13FS_FCloseFilei
	add esp, 0x50
	pop ebx
	pop esi
	pop ebp
	ret
	nop


;Com_ClientPacketEvent()
_Z21Com_ClientPacketEventv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x9c
	mov dword [esp+0x8], 0x20000
	mov dword [esp+0x4], clientCommonMsgBuf
	lea eax, [ebp-0x70]
	mov [esp], eax
	call _Z8MSG_InitP5msg_tPhi
	lea esi, [ebp-0x48]
	jmp _Z21Com_ClientPacketEventv_10
_Z21Com_ClientPacketEventv_20:
	call _Z16Sys_Millisecondsv
	mov ebx, [ebp-0x48]
	mov [ebp-0x30], ebx
	mov ecx, [ebp-0x44]
	mov [ebp-0x2c], ecx
	mov edx, [ebp-0x40]
	mov [ebp-0x28], edx
	mov [esp+0x14], eax
	lea eax, [ebp-0x70]
	mov [esp+0x10], eax
	mov [esp+0x4], ebx
	mov [esp+0x8], ecx
	mov [esp+0xc], edx
	mov dword [esp], 0x0
	call _Z14CL_PacketEventi8netadr_tP5msg_ti
_Z21Com_ClientPacketEventv_10:
	lea edx, [ebp-0x70]
	mov [esp+0x8], edx
	mov [esp+0x4], esi
	mov dword [esp], 0x0
	call _Z17NET_GetLoopPacket8netsrc_tP8netadr_tP5msg_t
	test eax, eax
	jnz _Z21Com_ClientPacketEventv_20
	mov eax, [com_sv_running]
	cmp byte [eax+0xc], 0x0
	jz _Z21Com_ClientPacketEventv_30
	add esp, 0x9c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Com_ClientPacketEventv_40:
	movzx esi, word [ebp-0x34]
	movzx edi, byte [ebp-0x35]
	movzx eax, byte [ebp-0x36]
	mov [ebp-0x79], al
	movzx edx, byte [ebp-0x37]
	mov [ebp-0x7a], dl
	movzx eax, byte [ebp-0x38]
	mov [ebp-0x7b], al
	mov ebx, [ebp-0x3c]
	call _Z16Sys_Millisecondsv
	mov [ebp-0x1c], si
	mov edx, edi
	mov [ebp-0x1d], dl
	movzx edx, byte [ebp-0x79]
	mov [ebp-0x1e], dl
	movzx edx, byte [ebp-0x7a]
	mov [ebp-0x1f], dl
	movzx edx, byte [ebp-0x7b]
	mov [ebp-0x20], dl
	mov [ebp-0x24], ebx
	mov [esp+0x14], eax
	lea eax, [ebp-0x70]
	mov [esp+0x10], eax
	mov [esp+0x4], ebx
	mov eax, [ebp-0x20]
	mov [esp+0x8], eax
	mov eax, [ebp-0x1c]
	mov [esp+0xc], eax
	mov dword [esp], 0x0
	call _Z14CL_PacketEventi8netadr_tP5msg_ti
_Z21Com_ClientPacketEventv_30:
	lea edx, [ebp-0x70]
	mov [esp+0x4], edx
	lea eax, [ebp-0x3c]
	mov [esp], eax
	call _Z19NET_GetClientPacketP8netadr_tP5msg_t
	test eax, eax
	jnz _Z21Com_ClientPacketEventv_40
	add esp, 0x9c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;Com_ServerPacketEvent()
_Z21Com_ServerPacketEventv:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x60
	mov dword [esp+0x8], 0x20000
	mov dword [esp+0x4], serverCommonMsgBuf
	lea ebx, [ebp-0x54]
	mov [esp], ebx
	call _Z8MSG_InitP5msg_tPhi
	mov eax, [com_sv_running]
	cmp byte [eax+0xc], 0x0
	jnz _Z21Com_ServerPacketEventv_10
	lea esi, [ebp-0x2c]
_Z21Com_ServerPacketEventv_30:
	mov [esp+0x8], ebx
	mov [esp+0x4], esi
	mov dword [esp], 0x1
	call _Z17NET_GetLoopPacket8netsrc_tP8netadr_tP5msg_t
	test eax, eax
	jz _Z21Com_ServerPacketEventv_20
_Z21Com_ServerPacketEventv_40:
	mov eax, [com_sv_running]
	cmp byte [eax+0xc], 0x0
	jz _Z21Com_ServerPacketEventv_30
	mov ecx, [ebp-0x2c]
	mov [ebp-0x14], ecx
	mov edx, [ebp-0x28]
	mov [ebp-0x10], edx
	mov eax, [ebp-0x24]
	mov [ebp-0xc], eax
	mov [esp+0xc], ebx
	mov [esp], ecx
	mov [esp+0x4], edx
	mov [esp+0x8], eax
	call _Z14SV_PacketEvent8netadr_tP5msg_t
	mov [esp+0x8], ebx
	mov [esp+0x4], esi
	mov dword [esp], 0x1
	call _Z17NET_GetLoopPacket8netsrc_tP8netadr_tP5msg_t
	test eax, eax
	jnz _Z21Com_ServerPacketEventv_40
_Z21Com_ServerPacketEventv_20:
	add esp, 0x60
	pop ebx
	pop esi
	pop ebp
	ret
_Z21Com_ServerPacketEventv_10:
	lea esi, [ebp-0x2c]
	jmp _Z21Com_ServerPacketEventv_50
_Z21Com_ServerPacketEventv_60:
	mov ecx, [ebp-0x2c]
	mov [ebp-0x20], ecx
	mov edx, [ebp-0x28]
	mov [ebp-0x1c], edx
	mov eax, [ebp-0x24]
	mov [ebp-0x18], eax
	mov [esp+0xc], ebx
	mov [esp], ecx
	mov [esp+0x4], edx
	mov [esp+0x8], eax
	call _Z14SV_PacketEvent8netadr_tP5msg_t
_Z21Com_ServerPacketEventv_50:
	mov [esp+0x4], ebx
	mov [esp], esi
	call _Z19NET_GetServerPacketP8netadr_tP5msg_t
	test eax, eax
	jnz _Z21Com_ServerPacketEventv_60
	jmp _Z21Com_ServerPacketEventv_30
	nop


;Com_ExecStartupConfigs(int, char const*)
_Z22Com_ExecStartupConfigsiPKc:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov dword [esp+0x4], _cstring_exec_default_mpc
	mov [esp], ebx
	call _Z12Cbuf_AddTextiPKc
	mov dword [esp+0x4], _cstring_exec_languagecfg
	mov [esp], ebx
	call _Z12Cbuf_AddTextiPKc
	test esi, esi
	jz _Z22Com_ExecStartupConfigsiPKc_10
	mov [esp+0x4], esi
	mov dword [esp], _cstring_exec_s
	call _Z2vaPKcz
	mov [esp+0x4], eax
	mov [esp], ebx
	call _Z12Cbuf_AddTextiPKc
_Z22Com_ExecStartupConfigsiPKc_10:
	mov [esp], ebx
	call _Z31CL_ControllerIndexFromClientNumi
	mov [esp+0x4], eax
	mov [esp], ebx
	call _Z12Cbuf_Executeii
	mov [esp], ebx
	call _Z31CL_ControllerIndexFromClientNumi
	mov dword [esp], 0x1
	call _Z18Dvar_SetInAutoExech
	mov dword [esp], 0x0
	call _Z18Dvar_SetInAutoExech
	call _Z12Com_SafeModev
	test eax, eax
	jz _Z22Com_ExecStartupConfigsiPKc_20
	mov dword [esp+0x4], _cstring_exec_safemode_mp
	mov [esp], ebx
	call _Z12Cbuf_AddTextiPKc
_Z22Com_ExecStartupConfigsiPKc_20:
	mov [esp], ebx
	call _Z31CL_ControllerIndexFromClientNumi
	mov [ebp+0xc], eax
	mov [ebp+0x8], ebx
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z12Cbuf_Executeii


;Com_GetTimescaleForSnd()
_Z22Com_GetTimescaleForSndv:
	push ebp
	mov ebp, esp
	sub esp, 0x4
	mov eax, [com_fixedtime]
	mov eax, [eax+0xc]
	test eax, eax
	jz _Z22Com_GetTimescaleForSndv_10
	cvtsi2ss xmm0, eax
	movss [ebp-0x4], xmm0
	fld dword [ebp-0x4]
	leave
	ret
_Z22Com_GetTimescaleForSndv_10:
	mov eax, [com_timescale]
	movss xmm0, dword [eax+0xc]
	mov eax, [dev_timescale]
	mulss xmm0, [eax+0xc]
	movss [ebp-0x4], xmm0
	fld dword [ebp-0x4]
	leave
	ret
	add [eax], al


;Com_CheckSetRecommended(int)
_Z23Com_CheckSetRecommendedi:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0x8]
	mov eax, [com_recommendedSet]
	cmp byte [eax+0xc], 0x0
	jz _Z23Com_CheckSetRecommendedi_10
	lea eax, [ebp-0x1c]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_configure_mpcsv
	call FS_ReadFile
	mov ebx, eax
	test eax, eax
	js _Z23Com_CheckSetRecommendedi_20
_Z23Com_CheckSetRecommendedi_70:
	mov esi, [ebp-0x1c]
	test ebx, ebx
	jle _Z23Com_CheckSetRecommendedi_30
	xor ecx, ecx
	xor edx, edx
_Z23Com_CheckSetRecommendedi_40:
	mov eax, edx
	shl eax, 0x4
	sub eax, edx
	lea eax, [edx+eax*4]
	lea eax, [edx+eax*8]
	lea eax, [edx+eax*2]
	lea eax, [edx+eax*4]
	lea eax, [edx+eax*8]
	movsx edx, byte [esi+ecx]
	lea edx, [eax+edx]
	add ecx, 0x1
	cmp ebx, ecx
	jnz _Z23Com_CheckSetRecommendedi_40
	mov ebx, edx
	and ebx, 0xfffffff
	mov [esp], esi
	call FS_FreeFile
	lea eax, [ebx+0x1]
	mov [esp], eax
	call _Z31Sys_HasConfigureChecksumChangedi
	test al, al
	jz _Z23Com_CheckSetRecommendedi_50
_Z23Com_CheckSetRecommendedi_10:
	mov dword [esp+0x4], 0x0
	mov [esp], edi
	call _Z18Com_SetRecommendedii
	mov dword [esp+0x4], 0x1
	mov eax, [com_recommendedSet]
	mov [esp], eax
	call _Z12Dvar_SetBoolPK6dvar_sh
_Z23Com_CheckSetRecommendedi_50:
	call _Z18Sys_HasInfoChangedv
	test al, al
	jz _Z23Com_CheckSetRecommendedi_60
	mov dword [esp+0x4], 0x0
	mov [esp], edi
	call _Z18Com_SetRecommendedii
_Z23Com_CheckSetRecommendedi_60:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z23Com_CheckSetRecommendedi_30:
	xor ebx, ebx
	mov [esp], esi
	call FS_FreeFile
	lea eax, [ebx+0x1]
	mov [esp], eax
	call _Z31Sys_HasConfigureChecksumChangedi
	test al, al
	jz _Z23Com_CheckSetRecommendedi_50
	jmp _Z23Com_CheckSetRecommendedi_10
_Z23Com_CheckSetRecommendedi_20:
	mov dword [esp+0x4], _cstring_exe_err_not_foun
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z23Com_CheckSetRecommendedi_70


;Com_GetDecimalDelimiter()
_Z23Com_GetDecimalDelimiterv:
	push ebp
	mov ebp, esp
	mov eax, loc_language
	mov eax, [eax]
	mov edx, [eax+0xc]
	lea eax, [edx-0x1]
	cmp eax, 0x3
	jbe _Z23Com_GetDecimalDelimiterv_10
	cmp edx, 0x6
	jz _Z23Com_GetDecimalDelimiterv_10
	cmp edx, 0x7
	jz _Z23Com_GetDecimalDelimiterv_10
	cmp edx, 0xe
	jz _Z23Com_GetDecimalDelimiterv_10
	mov eax, 0x2e
	pop ebp
	ret
_Z23Com_GetDecimalDelimiterv_10:
	mov eax, 0x2c
	pop ebp
	ret


;Com_SetWeaponInfoMemory(int)
_Z23Com_SetWeaponInfoMemoryi:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	mov [weaponInfoSource], eax
	pop ebp
	ret
	nop


;Com_FreeWeaponInfoMemory(int)
_Z24Com_FreeWeaponInfoMemoryi:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	cmp [weaponInfoSource], eax
	jz _Z24Com_FreeWeaponInfoMemoryi_10
	pop ebp
	ret
_Z24Com_FreeWeaponInfoMemoryi_10:
	mov dword [weaponInfoSource], 0x0
	pop ebp
	jmp _Z25BG_ShutdownWeaponDefFilesv


;Com_LocalizedFloatToString(float, char*, unsigned int, unsigned int)
_Z26Com_LocalizedFloatToStringfPcjj:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x20
	mov esi, [ebp+0xc]
	mov ebx, [ebp+0x10]
	cvtss2sd xmm0, [ebp+0x8]
	movsd [esp+0x10], xmm0
	mov eax, [ebp+0x14]
	mov [esp+0xc], eax
	mov dword [esp+0x8], _cstring_f
	lea eax, [ebx-0x1]
	mov [esp+0x4], eax
	mov [esp], esi
	call snprintf
	mov byte [esi+ebx-0x1], 0x0
	mov eax, loc_language
	mov eax, [eax]
	mov edx, [eax+0xc]
	lea eax, [edx-0x1]
	cmp eax, 0x3
	jbe _Z26Com_LocalizedFloatToStringfPcjj_10
	cmp edx, 0x6
	jz _Z26Com_LocalizedFloatToStringfPcjj_10
	cmp edx, 0x7
	jz _Z26Com_LocalizedFloatToStringfPcjj_10
	cmp edx, 0xe
	jz _Z26Com_LocalizedFloatToStringfPcjj_10
_Z26Com_LocalizedFloatToStringfPcjj_20:
	add esp, 0x20
	pop ebx
	pop esi
	pop ebp
	ret
_Z26Com_LocalizedFloatToStringfPcjj_10:
	test ebx, ebx
	jz _Z26Com_LocalizedFloatToStringfPcjj_20
	cmp byte [esi], 0x2e
	jz _Z26Com_LocalizedFloatToStringfPcjj_30
	xor edx, edx
_Z26Com_LocalizedFloatToStringfPcjj_40:
	add edx, 0x1
	cmp ebx, edx
	jz _Z26Com_LocalizedFloatToStringfPcjj_20
	lea eax, [esi+edx]
	cmp byte [eax], 0x2e
	jnz _Z26Com_LocalizedFloatToStringfPcjj_40
	mov byte [eax], 0x2c
_Z26Com_LocalizedFloatToStringfPcjj_50:
	add esp, 0x20
	pop ebx
	pop esi
	pop ebp
	ret
_Z26Com_LocalizedFloatToStringfPcjj_30:
	mov eax, esi
	mov byte [eax], 0x2c
	jmp _Z26Com_LocalizedFloatToStringfPcjj_50
	nop


;Com_Frame_Try_Block_Function()
_Z28Com_Frame_Try_Block_Functionv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x7c
	mov edi, [com_fullyInitialized]
	test edi, edi
	jz _Z28Com_Frame_Try_Block_Functionv_10
	mov edx, dvar_modifiedFlags
	mov eax, [edx]
	test al, 0x1
	jnz _Z28Com_Frame_Try_Block_Functionv_20
_Z28Com_Frame_Try_Block_Functionv_10:
	mov eax, [com_animCheck]
	movzx eax, byte [eax+0xc]
	mov [esp], eax
	call _Z12SetAnimChecki
	mov eax, [com_maxfps]
	mov edx, [eax+0xc]
	test edx, edx
	jle _Z28Com_Frame_Try_Block_Functionv_30
	mov eax, com_dedicated
	mov eax, [eax]
	mov esi, [eax+0xc]
	test esi, esi
	jz _Z28Com_Frame_Try_Block_Functionv_40
_Z28Com_Frame_Try_Block_Functionv_30:
	mov esi, 0x1
_Z28Com_Frame_Try_Block_Functionv_340:
	call _Z20Win_UpdateThreadLockv
	add dword [com_lastFrameIndex], 0x1
	mov eax, com_dedicated
	mov eax, [eax]
	mov ebx, [eax+0xc]
	test ebx, ebx
	jnz _Z28Com_Frame_Try_Block_Functionv_50
	mov dword [esp+0x4], _cstring_progress_time_sp
	mov dword [esp], 0xffffffff
	call _Z18PIXBeginNamedEventiPKcz
	jmp _Z28Com_Frame_Try_Block_Functionv_60
_Z28Com_Frame_Try_Block_Functionv_80:
	mov ebx, eax
	sub ebx, edx
	test ebx, ebx
	jg _Z28Com_Frame_Try_Block_Functionv_70
_Z28Com_Frame_Try_Block_Functionv_90:
	mov dword [esp], 0x1
	call _Z9Sys_Sleepi
_Z28Com_Frame_Try_Block_Functionv_60:
	call _Z13Com_EventLoopv
	call _Z16Sys_Millisecondsv
	mov [com_frameTime], eax
	mov edx, [com_lastFrameTime]
	cmp eax, edx
	jns _Z28Com_Frame_Try_Block_Functionv_80
	mov edx, eax
	mov [com_lastFrameTime], eax
	mov ebx, eax
	sub ebx, edx
	test ebx, ebx
	jle _Z28Com_Frame_Try_Block_Functionv_90
_Z28Com_Frame_Try_Block_Functionv_70:
	cmp esi, ebx
	cmovg ebx, esi
	lea eax, [ebx+edx]
	mov [com_lastFrameTime], eax
	test ebx, ebx
	mov eax, 0x1
	cmovz ebx, eax
	jmp _Z28Com_Frame_Try_Block_Functionv_100
_Z28Com_Frame_Try_Block_Functionv_120:
	mov edx, eax
	mov [com_lastFrameTime], eax
	mov ebx, eax
	sub ebx, edx
	cmp esi, ebx
	jle _Z28Com_Frame_Try_Block_Functionv_110
_Z28Com_Frame_Try_Block_Functionv_130:
	mov dword [esp], 0x1
	call _Z9Sys_Sleepi
_Z28Com_Frame_Try_Block_Functionv_50:
	call _Z13Com_EventLoopv
	call _Z16Sys_Millisecondsv
	mov [com_frameTime], eax
	mov edx, [com_lastFrameTime]
	cmp eax, edx
	js _Z28Com_Frame_Try_Block_Functionv_120
	mov ebx, eax
	sub ebx, edx
	cmp esi, ebx
	jg _Z28Com_Frame_Try_Block_Functionv_130
_Z28Com_Frame_Try_Block_Functionv_110:
	mov [com_lastFrameTime], eax
_Z28Com_Frame_Try_Block_Functionv_100:
	mov dword [esp], 0x0
	call _Z31CL_ControllerIndexFromClientNumi
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z12Cbuf_Executeii
	mov eax, [com_fixedtime]
	mov esi, [eax+0xc]
	test esi, esi
	jnz _Z28Com_Frame_Try_Block_Functionv_140
	mov eax, [com_timescale]
	movss xmm1, dword [eax+0xc]
	movss xmm0, dword [_float_1_00000000]
	ucomiss xmm1, xmm0
	jnz _Z28Com_Frame_Try_Block_Functionv_150
	jp _Z28Com_Frame_Try_Block_Functionv_150
	ucomiss xmm0, [com_codeTimeScale]
	jnz _Z28Com_Frame_Try_Block_Functionv_150
	jp _Z28Com_Frame_Try_Block_Functionv_150
	mov eax, [dev_timescale]
	ucomiss xmm0, [eax+0xc]
	jnz _Z28Com_Frame_Try_Block_Functionv_160
	jp _Z28Com_Frame_Try_Block_Functionv_160
	mov esi, ebx
	xor edi, edi
	jmp _Z28Com_Frame_Try_Block_Functionv_170
_Z28Com_Frame_Try_Block_Functionv_150:
	mov eax, [dev_timescale]
_Z28Com_Frame_Try_Block_Functionv_160:
	cvtsi2ss xmm0, ebx
	mulss xmm1, xmm0
	mulss xmm1, [com_codeTimeScale]
	mulss xmm1, [eax+0xc]
	addss xmm1, [_float_0_50000000]
	movss [esp], xmm1
	call floorf
	fstp dword [ebp-0x5c]
	cvttss2si esi, [ebp-0x5c]
_Z28Com_Frame_Try_Block_Functionv_140:
	mov edi, 0x1
_Z28Com_Frame_Try_Block_Functionv_170:
	test esi, esi
	mov eax, 0x1
	cmovle esi, eax
	mov eax, com_dedicated
	mov eax, [eax]
	mov ecx, [eax+0xc]
	test ecx, ecx
	jz _Z28Com_Frame_Try_Block_Functionv_180
	lea eax, [esi-0x1f5]
	cmp eax, 0x79f2a
	jbe _Z28Com_Frame_Try_Block_Functionv_190
_Z28Com_Frame_Try_Block_Functionv_320:
	mov eax, 0x1388
_Z28Com_Frame_Try_Block_Functionv_330:
	cmp esi, eax
	cmovle eax, esi
	mov edx, edi
	test dl, dl
	jz _Z28Com_Frame_Try_Block_Functionv_200
	test ebx, ebx
	jnz _Z28Com_Frame_Try_Block_Functionv_210
_Z28Com_Frame_Try_Block_Functionv_200:
	movss xmm1, dword [_float_1_00000000]
_Z28Com_Frame_Try_Block_Functionv_350:
	movss [com_timescaleValue], xmm1
	mov [esp], eax
	call _Z8SV_Framei
	mov esi, eax
	mov ebx, com_dedicated
	mov edx, [ebx]
	test byte [edx+0x8], 0x40
	jnz _Z28Com_Frame_Try_Block_Functionv_220
	mov eax, [edx+0x1c]
	cmp eax, [edx+0xc]
	jz _Z28Com_Frame_Try_Block_Functionv_230
	mov dword [esp+0x10], _cstring_true_if_this_is_
	mov dword [esp+0xc], 0x20
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], g_dedicatedEnumNames
	mov dword [esp], _cstring_dedicated
	call _Z17Dvar_RegisterEnumPKcPS0_itS0_
	mov [ebx], eax
	mov edx, [eax+0xc]
	test edx, edx
	jnz _Z28Com_Frame_Try_Block_Functionv_240
_Z28Com_Frame_Try_Block_Functionv_360:
	mov [esp], eax
	call _Z18Dvar_ClearModifiedPK6dvar_s
	mov dword [esp], 0x0
	call _Z11CL_Shutdowni
	call _Z14CL_ShutdownRefv
	call _Z16CL_InitDedicatedv
	call _Z23SV_AddDedicatedCommandsv
_Z28Com_Frame_Try_Block_Functionv_230:
	mov eax, [ebx]
	mov eax, [eax+0xc]
	test eax, eax
	jz _Z28Com_Frame_Try_Block_Functionv_250
_Z28Com_Frame_Try_Block_Functionv_260:
	add esp, 0x7c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z28Com_Frame_Try_Block_Functionv_220:
	mov eax, edx
	mov eax, [eax+0xc]
	test eax, eax
	jnz _Z28Com_Frame_Try_Block_Functionv_260
_Z28Com_Frame_Try_Block_Functionv_250:
	mov eax, [com_lastFrameTime]
	mov [esp], eax
	call _Z12R_SetEndTimei
	mov dword [esp+0x4], _cstring_pre_frame
	mov dword [esp], 0xffffffff
	call _Z18PIXBeginNamedEventiPKcz
	mov [esp+0x4], esi
	mov dword [esp], 0x0
	call _Z24CL_RunOncePerClientFrameii
	call _Z13Com_EventLoopv
	mov dword [esp], 0x0
	call _Z31CL_ControllerIndexFromClientNumi
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z12Cbuf_Executeii
	mov dword [esp+0x4], _cstring_cl_frame
	mov dword [esp], 0xffffffff
	call _Z18PIXBeginNamedEventiPKcz
	mov [esp+0x4], esi
	mov dword [esp], 0x0
	call _Z8CL_Frameii
	mov eax, dvar_modifiedFlags
	and dword [eax], 0xfffffffd
	mov eax, clientUIActives
	mov ebx, [eax+0xc]
	mov dword [esp], 0x0
	call _Z15UI_IsFullscreeni
	test eax, eax
	jnz _Z28Com_Frame_Try_Block_Functionv_270
	test ebx, ebx
	jz _Z28Com_Frame_Try_Block_Functionv_280
_Z28Com_Frame_Try_Block_Functionv_270:
	call _Z16SCR_UpdateScreenv
	mov [esp], esi
	call _Z14Ragdoll_Updatei
	call _Z16SCR_UpdateRumblev
	mov eax, [com_statmon]
	cmp byte [eax+0xc], 0x0
	jz _Z28Com_Frame_Try_Block_Functionv_290
	mov ebx, com_fileAccessed
	mov eax, [ebx]
	test eax, eax
	jnz _Z28Com_Frame_Try_Block_Functionv_300
_Z28Com_Frame_Try_Block_Functionv_370:
	mov ebx, [_ZZ11Com_StatmonvE15timeClientFrame]
	call _Z16Sys_Millisecondsv
	mov edx, eax
	mov [_ZZ11Com_StatmonvE15timeClientFrame], eax
	mov eax, [com_statmon]
	cmp byte [eax+0xc], 0x0
	jz _Z28Com_Frame_Try_Block_Functionv_290
	sub edx, ebx
	cmp edx, 0x21
	jle _Z28Com_Frame_Try_Block_Functionv_290
	test ebx, ebx
	jnz _Z28Com_Frame_Try_Block_Functionv_310
_Z28Com_Frame_Try_Block_Functionv_290:
	call _Z13R_WaitEndTimev
_Z28Com_Frame_Try_Block_Functionv_380:
	add esp, 0x7c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z28Com_Frame_Try_Block_Functionv_180:
	mov eax, [com_sv_running]
	cmp byte [eax+0xc], 0x0
	jz _Z28Com_Frame_Try_Block_Functionv_320
	mov eax, [com_maxFrameTime]
	mov eax, [eax+0xc]
	jmp _Z28Com_Frame_Try_Block_Functionv_330
_Z28Com_Frame_Try_Block_Functionv_40:
	mov ecx, 0x3e8
	mov eax, ecx
	mov ebx, edx
	cdq
	idiv ebx
	mov esi, eax
	test eax, eax
	jnz _Z28Com_Frame_Try_Block_Functionv_340
	jmp _Z28Com_Frame_Try_Block_Functionv_30
_Z28Com_Frame_Try_Block_Functionv_210:
	cvtsi2ss xmm1, eax
	cvtsi2ss xmm0, ebx
	divss xmm1, xmm0
	jmp _Z28Com_Frame_Try_Block_Functionv_350
_Z28Com_Frame_Try_Block_Functionv_190:
	mov [esp+0x8], esi
	mov dword [esp+0x4], _cstring_hitch_warning_i_
	mov dword [esp], 0x10
	call _Z16Com_PrintWarningiPKcz
	mov eax, 0x1388
	jmp _Z28Com_Frame_Try_Block_Functionv_330
_Z28Com_Frame_Try_Block_Functionv_20:
	and eax, 0xfffffffe
	mov [edx], eax
	call _Z20Com_HasPlayerProfilev
	test al, al
	jz _Z28Com_Frame_Try_Block_Functionv_10
	mov dword [esp+0x8], _cstring_config_mpcfg
	mov dword [esp+0x4], 0x40
	lea ebx, [ebp-0x58]
	mov [esp], ebx
	call _Z26Com_BuildPlayerProfilePathPciPKcz
	mov edx, ebx
	xor eax, eax
	call _Z21Com_WriteConfigToFileiPKc
	jmp _Z28Com_Frame_Try_Block_Functionv_10
_Z28Com_Frame_Try_Block_Functionv_240:
	mov dword [esp+0x10], _cstring_true_if_this_is_
	mov dword [esp+0xc], 0x40
	mov dword [esp+0x8], 0x0
	mov dword [esp+0x4], g_dedicatedEnumNames
	mov dword [esp], _cstring_dedicated
	call _Z17Dvar_RegisterEnumPKcPS0_itS0_
	mov eax, [ebx]
	jmp _Z28Com_Frame_Try_Block_Functionv_360
_Z28Com_Frame_Try_Block_Functionv_300:
	mov dword [esp+0x8], _cstring_code_warning_fil
	mov dword [esp+0x4], 0xbb8
	mov dword [esp], 0x1
	call _Z15StatMon_WarningiiPKc
	mov dword [ebx], 0x0
	jmp _Z28Com_Frame_Try_Block_Functionv_370
_Z28Com_Frame_Try_Block_Functionv_280:
	call _Z16UI_GetMenuScreenv
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z16UI_SetActiveMenuii
	jmp _Z28Com_Frame_Try_Block_Functionv_270
_Z28Com_Frame_Try_Block_Functionv_310:
	mov dword [esp+0x8], _cstring_code_warning_fps
	mov dword [esp+0x4], 0xbb8
	mov dword [esp], 0x0
	call _Z15StatMon_WarningiiPKc
	call _Z13R_WaitEndTimev
	jmp _Z28Com_Frame_Try_Block_Functionv_380
	nop


;Com_SetLocalizedErrorMessage(char const*, char const*)
_Z28Com_SetLocalizedErrorMessagePKcS0_:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0x8]
	mov dword [esp+0xc], _cstring_most_recent_erro
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], _cstring_null
	mov dword [esp], _cstring_com_errormessage
	call _Z19Dvar_RegisterStringPKcS0_tS0_
	mov [ui_errorMessage], eax
	mov dword [esp+0xc], _cstring_title_of_the_mos
	mov dword [esp+0x8], 0x40
	mov dword [esp+0x4], _cstring_null
	mov dword [esp], _cstring_com_errortitle
	call _Z19Dvar_RegisterStringPKcS0_tS0_
	mov [ui_errorTitle], eax
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_error_message
	mov eax, [ebp+0xc]
	mov [esp], eax
	call _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	test eax, eax
	jz _Z28Com_SetLocalizedErrorMessagePKcS0__10
	mov [esp+0x4], eax
	mov eax, [ui_errorTitle]
	mov [esp], eax
	call _Z14Dvar_SetStringPK6dvar_sPKc
_Z28Com_SetLocalizedErrorMessagePKcS0__20:
	mov [esp+0x4], ebx
	mov eax, [ui_errorMessage]
	mov [esp], eax
	call _Z14Dvar_SetStringPK6dvar_sPKc
	mov dword [esp+0x8], 0x1000
	mov [esp+0x4], ebx
	mov dword [esp], com_errorMessage
	call _Z10I_strncpyzPcPKci
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z28Com_SetLocalizedErrorMessagePKcS0__10:
	mov dword [esp+0x4], _cstring_null
	mov eax, [ui_errorTitle]
	mov [esp], eax
	call _Z14Dvar_SetStringPK6dvar_sPKc
	jmp _Z28Com_SetLocalizedErrorMessagePKcS0__20


;Com_Init(char*)
_Z8Com_InitPc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x42c
	mov dword [esp], 0x2
	call _Z12Sys_GetValuei
	mov [esp], eax
	call setjmp
	test eax, eax
	jnz _Z8Com_InitPc_10
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z27Com_Init_Try_Block_FunctionPc
_Z8Com_InitPc_70:
	mov dword [esp], 0x2
	call _Z12Sys_GetValuei
	mov [esp], eax
	call setjmp
	test eax, eax
	jnz _Z8Com_InitPc_20
	mov eax, [com_numConsoleLines]
	test eax, eax
	jg _Z8Com_InitPc_30
_Z8Com_InitPc_20:
	mov ebx, [com_errorEntered]
	test ebx, ebx
	jnz _Z8Com_InitPc_40
_Z8Com_InitPc_120:
	mov eax, [com_sv_running]
	cmp byte [eax+0xc], 0x0
	jnz _Z8Com_InitPc_50
	mov eax, com_dedicated
	mov eax, [eax]
	mov ecx, [eax+0xc]
	test ecx, ecx
	jz _Z8Com_InitPc_60
_Z8Com_InitPc_50:
	add esp, 0x42c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z8Com_InitPc_10:
	mov dword [esp+0x4], com_errorMessage
	mov dword [esp], _cstring_error_during_ini
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Sys_ErrorPKcz
	jmp _Z8Com_InitPc_70
_Z8Com_InitPc_60:
	mov dword [esp], 0x2
	call _Z12Sys_GetValuei
	mov [esp], eax
	call setjmp
	test eax, eax
	jnz _Z8Com_InitPc_80
	mov eax, cls
	mov edx, [eax+0x108]
	test edx, edx
	jz _Z8Com_InitPc_90
	call _Z17CL_StartHunkUsersv
_Z8Com_InitPc_130:
	add esp, 0x42c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z8Com_InitPc_30:
	xor edi, edi
	mov esi, com_consoleLines
	jmp _Z8Com_InitPc_100
_Z8Com_InitPc_110:
	add edi, 0x1
	add esi, 0x4
	cmp edi, [com_numConsoleLines]
	jge _Z8Com_InitPc_20
_Z8Com_InitPc_100:
	mov eax, [esi]
	cmp byte [eax], 0x0
	jz _Z8Com_InitPc_110
	mov [esp+0xc], eax
	mov dword [esp+0x8], _cstring_s1
	mov dword [esp+0x4], 0x401
	lea ebx, [ebp-0x419]
	mov [esp], ebx
	call _Z11Com_sprintfPciPKcz
	mov dword [esp], 0x0
	call _Z31CL_ControllerIndexFromClientNumi
	mov [esp+0x8], ebx
	mov [esp+0x4], eax
	mov dword [esp], 0x0
	call _Z18Cbuf_ExecuteBufferiiPKc
	jmp _Z8Com_InitPc_110
_Z8Com_InitPc_40:
	call _Z16Com_ErrorCleanupv
	jmp _Z8Com_InitPc_120
_Z8Com_InitPc_90:
	call _Z15CL_InitRendererv
	call _Z17CL_StartHunkUsersv
	jmp _Z8Com_InitPc_130
_Z8Com_InitPc_80:
	mov dword [esp+0x4], com_errorMessage
	mov dword [esp], _cstring_error_during_ini
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Sys_ErrorPKcz
	jmp _Z8Com_InitPc_50
	add [eax], al


;Com_Close()
_Z9Com_Closev:
	push ebp
	mov ebp, esp
	sub esp, 0x8
	call _Z16Com_ShutdownDObjv
	call _Z12DObjShutdownv
	call _Z13XAnimShutdownv
	call _Z17Com_ShutdownWorldv
	call _Z11CM_Shutdownv
	call _Z20SND_ShutdownChannelsv
	call Hunk_Clear
	mov eax, [useFastFile]
	cmp byte [eax+0xc], 0x0
	jz _Z9Com_Closev_10
	call _Z18DB_ShutdownXAssetsv
_Z9Com_Closev_10:
	call _Z12Scr_Shutdownv
	leave
	jmp _Z24Hunk_ShutdownDebugMemoryv


;Com_Error(errorParm_t, char const*, ...)
_Z9Com_Error11errorParm_tPKcz:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x24
	mov ebx, [ebp+0x8]
	mov dword [esp], 0x2
	call _Z24Sys_EnterCriticalSection15CriticalSection
	mov eax, [com_errorEntered]
	test eax, eax
	jnz _Z9Com_Error11errorParm_tPKcz_10
_Z9Com_Error11errorParm_tPKcz_110:
	mov dword [com_errorEntered], 0x1
	lea eax, [ebp+0x10]
	mov [ebp-0xc], eax
	mov [esp+0xc], eax
	mov eax, [ebp+0xc]
	mov [esp+0x8], eax
	mov dword [esp+0x4], 0x1000
	mov dword [esp], com_errorMessage
	call vsnprintf
	mov byte [com_errorMessage+0xfff], 0x0
	cmp ebx, 0x5
	jz _Z9Com_Error11errorParm_tPKcz_20
	cmp ebx, 0x7
	jz _Z9Com_Error11errorParm_tPKcz_20
	cmp ebx, 0x6
	jz _Z9Com_Error11errorParm_tPKcz_30
	cmp ebx, 0x8
	jz _Z9Com_Error11errorParm_tPKcz_40
	mov dword [com_fixedConsolePosition], 0x0
_Z9Com_Error11errorParm_tPKcz_100:
	mov [errorcode], ebx
	mov dword [esp], 0x2
	call _Z24Sys_LeaveCriticalSection15CriticalSection
	mov dword [esp], 0x2
	call _Z12Sys_GetValuei
	mov dword [esp+0x4], 0xffffffff
	mov [esp], eax
	call longjmp
_Z9Com_Error11errorParm_tPKcz_20:
	mov ecx, [com_fixedConsolePosition]
	test ecx, ecx
	jz _Z9Com_Error11errorParm_tPKcz_50
_Z9Com_Error11errorParm_tPKcz_150:
	mov eax, cls
	mov edx, [eax+0x110]
	test edx, edx
	jz _Z9Com_Error11errorParm_tPKcz_60
	cmp dword [errorcode], 0x3
	jz _Z9Com_Error11errorParm_tPKcz_70
	mov eax, [noticeErrors]
	cmp byte [eax], 0x0
	jnz _Z9Com_Error11errorParm_tPKcz_80
_Z9Com_Error11errorParm_tPKcz_140:
	mov ebx, _cstring_menu_error
_Z9Com_Error11errorParm_tPKcz_120:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_error_message
	mov dword [esp], com_errorMessage
	call _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	test eax, eax
	mov edx, com_errorMessage
	cmovz eax, edx
	mov [esp+0x4], ebx
	mov [esp], eax
	call _Z28Com_SetLocalizedErrorMessagePKcS0_
	call _Z16Sys_IsMainThreadv
	test al, al
	jnz _Z9Com_Error11errorParm_tPKcz_90
_Z9Com_Error11errorParm_tPKcz_160:
	mov eax, cls
	mov eax, [eax+0x110]
	test eax, eax
	jz _Z9Com_Error11errorParm_tPKcz_60
_Z9Com_Error11errorParm_tPKcz_180:
	mov dword [com_errorEntered], 0x0
	mov dword [esp], 0x2
	call _Z24Sys_LeaveCriticalSection15CriticalSection
	add esp, 0x24
	pop ebx
	pop ebp
	ret
_Z9Com_Error11errorParm_tPKcz_60:
	mov ebx, 0x2
	jmp _Z9Com_Error11errorParm_tPKcz_100
_Z9Com_Error11errorParm_tPKcz_10:
	mov dword [esp+0x4], com_errorMessage
	mov dword [esp], _cstring_recursive_error_
	call _Z9Sys_ErrorPKcz
	jmp _Z9Com_Error11errorParm_tPKcz_110
_Z9Com_Error11errorParm_tPKcz_30:
	mov dword [com_fixedConsolePosition], 0x1
	call _Z21CL_ConsoleFixPositionv
	mov bl, 0x2
	jmp _Z9Com_Error11errorParm_tPKcz_100
_Z9Com_Error11errorParm_tPKcz_70:
	mov ebx, _cstring_menu_notice
	jmp _Z9Com_Error11errorParm_tPKcz_120
_Z9Com_Error11errorParm_tPKcz_80:
	mov ebx, noticeErrors
_Z9Com_Error11errorParm_tPKcz_130:
	mov dword [esp+0x4], com_errorMessage
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z9Com_Error11errorParm_tPKcz_70
	mov eax, [ebx+0x4]
	add ebx, 0x4
	cmp byte [eax], 0x0
	jnz _Z9Com_Error11errorParm_tPKcz_130
	jmp _Z9Com_Error11errorParm_tPKcz_140
_Z9Com_Error11errorParm_tPKcz_50:
	mov dword [com_fixedConsolePosition], 0x1
	call _Z21CL_ConsoleFixPositionv
	jmp _Z9Com_Error11errorParm_tPKcz_150
_Z9Com_Error11errorParm_tPKcz_90:
	mov dword [esp+0x4], 0x1
	mov dword [esp], 0x0
	call _Z16UI_SetActiveMenuii
	jmp _Z9Com_Error11errorParm_tPKcz_160
_Z9Com_Error11errorParm_tPKcz_40:
	mov dword [com_fixedConsolePosition], 0x1
	call _Z21CL_ConsoleFixPositionv
	mov eax, cls
	mov eax, [eax+0x110]
	test eax, eax
	jnz _Z9Com_Error11errorParm_tPKcz_170
_Z9Com_Error11errorParm_tPKcz_190:
	mov eax, com_dedicated
	mov eax, [eax]
	mov eax, [eax+0xc]
	test eax, eax
	jz _Z9Com_Error11errorParm_tPKcz_100
	mov dword [esp], _cstring_2
	call _Z9Sys_PrintPKc
	mov dword [esp], com_errorMessage
	call _Z9Sys_PrintPKc
	mov dword [esp], _cstring_2
	call _Z9Sys_PrintPKc
	jmp _Z9Com_Error11errorParm_tPKcz_180
_Z9Com_Error11errorParm_tPKcz_170:
	call _Z16Sys_IsMainThreadv
	test al, al
	jz _Z9Com_Error11errorParm_tPKcz_190
	cmp dword [errorcode], 0x3
	jz _Z9Com_Error11errorParm_tPKcz_200
	mov eax, [noticeErrors]
	cmp byte [eax], 0x0
	jnz _Z9Com_Error11errorParm_tPKcz_210
_Z9Com_Error11errorParm_tPKcz_230:
	mov ebx, _cstring_menu_error
_Z9Com_Error11errorParm_tPKcz_240:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_error_message
	mov dword [esp], com_errorMessage
	call _Z23SEH_LocalizeTextMessagePKcS0_15msgLocErrType_t
	test eax, eax
	mov edx, com_errorMessage
	cmovz eax, edx
	mov [esp+0x4], ebx
	mov [esp], eax
	call _Z28Com_SetLocalizedErrorMessagePKcS0_
	mov dword [esp+0x4], 0x5
	mov dword [esp], 0x0
	call _Z16UI_SetActiveMenuii
	jmp _Z9Com_Error11errorParm_tPKcz_180
_Z9Com_Error11errorParm_tPKcz_210:
	mov ebx, noticeErrors
_Z9Com_Error11errorParm_tPKcz_220:
	mov dword [esp+0x4], com_errorMessage
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z9Com_Error11errorParm_tPKcz_200
	mov eax, [ebx+0x4]
	add ebx, 0x4
	cmp byte [eax], 0x0
	jnz _Z9Com_Error11errorParm_tPKcz_220
	jmp _Z9Com_Error11errorParm_tPKcz_230
_Z9Com_Error11errorParm_tPKcz_200:
	mov ebx, _cstring_menu_notice
	jmp _Z9Com_Error11errorParm_tPKcz_240
	nop


;Com_Frame()
_Z9Com_Framev:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov dword [esp+0x4], _cstring_com_frame
	mov dword [esp], 0xffffffff
	call _Z12PIXSetMarkeriPKcz
	mov dword [esp], 0x2
	call _Z12Sys_GetValuei
	mov [esp], eax
	call setjmp
	test eax, eax
	jz _Z9Com_Framev_10
_Z9Com_Framev_40:
	mov dword [esp], 0x2
	call _Z24Sys_EnterCriticalSection15CriticalSection
	mov eax, [com_errorEntered]
	test eax, eax
	jnz _Z9Com_Framev_20
	mov dword [esp], 0x2
	call _Z24Sys_LeaveCriticalSection15CriticalSection
_Z9Com_Framev_30:
	leave
	ret
_Z9Com_Framev_20:
	call _Z16Com_ErrorCleanupv
	mov dword [esp], 0x2
	call _Z24Sys_LeaveCriticalSection15CriticalSection
	mov eax, com_dedicated
	mov eax, [eax]
	mov eax, [eax+0xc]
	test eax, eax
	jnz _Z9Com_Framev_30
	call _Z15CL_InitRendererv
	call _Z18Com_StartHunkUsersv
	leave
	ret
_Z9Com_Framev_10:
	call _Z9DB_Updatev
	call _Z28Com_Frame_Try_Block_Functionv
	add dword [com_frameNumber], 0x1
	jmp _Z9Com_Framev_40
	nop


;Initialized global or static variables of common:
SECTION .data
s_lockThreadNames: dd _cstring_none, _cstring_minimal, _cstring_all, 0x0, 0x0, 0x0
noticeErrors: dd _cstring_exe_server_disco, _cstring_exe_disconnected1, _cstring_exe_serverisfull, _cstring_xboxlive_signedo, _cstring_xboxlive_cantjoi, _cstring_xboxlive_mpnotal, _cstring_xboxlive_mustlog, _cstring_menu_resetcustom, _cstring_xboxlive_netconn, _cstring_null, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
cl_cdkey: dd 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x20202020, 0x0
cl_cdkeychecksum: dd 0x20202020, 0x0, 0x0
com_missingAssetOpenFailed: dd 0x0
g_dedicatedEnumNames: dd _cstring_listen_server, _cstring_dedicated_lan_se, _cstring_dedicated_intern, 0x0
com_consoleLogOpenFailed: dd 0x0


;Initialized constant data of common:
SECTION .rdata


;Zero initialized global or static variables of common:
SECTION .bss
weaponInfoSource: resb 0x4
logfile: resb 0x4
errorcode: resb 0x18
com_errorMessage: resb 0x1000
com_lastFrameTime: resb 0x4
com_lastFrameIndex: resb 0x4
com_fullyInitialized: resb 0x4
com_codeTimeScale: resb 0x4
com_numConsoleLines: resb 0x10
com_consoleLines: resb 0xc0
serverCommonMsgBuf: resb 0x20000
clientCommonMsgBuf: resb 0x20000
com_safemode: resb 0x4
rd_flush: resb 0x4
rd_buffersize: resb 0x4
rd_buffer: resb 0x4
_ZZ15Com_OpenLogFilevE16opening_qconsole: resb 0x4
_ZZ11Com_StatmonvE15timeClientFrame: resb 0x4
_ZZ27Com_Init_Try_Block_FunctionPcE23Com_WriteDefaults_f_VAR: resb 0x14
_ZZ27Com_Init_Try_Block_FunctionPcE21Com_WriteConfig_f_VAR: resb 0x14
_ZZ27Com_Init_Try_Block_FunctionPcE14Com_Quit_f_VAR: resb 0x14
_ZZ27Com_Init_Try_Block_FunctionPcE16Com_Assert_f_VAR: resb 0x14
_ZZ27Com_Init_Try_Block_FunctionPcE16Com_Freeze_f_VAR: resb 0x14
_ZZ27Com_Init_Try_Block_FunctionPcE15Com_Crash_f_VAR: resb 0x14
_ZZ27Com_Init_Try_Block_FunctionPcE15Com_Error_f_VAR: resb 0x14
_ZZ16Com_ErrorCleanupvE10errorCount: resb 0x4
_ZZ16Com_ErrorCleanupvE13lastErrorTime: resb 0x58
com_errorEntered: resb 0x4
useFastFile: resb 0x8
cl_paused: resb 0x4
com_expectedHunkUsage: resb 0x4
com_sv_running: resb 0x4
nextmap: resb 0x4
com_developer: resb 0x4
com_statmon: resb 0x4
com_timescaleValue: resb 0x4
sv_paused: resb 0x4
com_frameTime: resb 0x4
com_animCheck: resb 0x4
com_authPort: resb 0x4
com_authServerName: resb 0x4
com_developer_script: resb 0x4
com_errorPrintsCount: resb 0x4
com_filter_output: resb 0x4
com_fixedConsolePosition: resb 0x4
com_fixedtime: resb 0x4
com_frameNumber: resb 0x4
com_hiDef: resb 0x4
com_introPlayed: resb 0x4
com_logfile: resb 0x4
com_masterPort: resb 0x4
com_masterServerName: resb 0x4
com_maxFrameTime: resb 0x4
com_maxfps: resb 0x4
com_recommendedSet: resb 0x4
com_timescale: resb 0x4
com_wideScreen: resb 0x4
dev_timescale: resb 0x4
shortversion: resb 0x4
sys_lockThreads: resb 0x4
sys_smp_allowed: resb 0x4
ui_errorMessage: resb 0x4
ui_errorTitle: resb 0x4
version: resb 0x4


;All cstrings:
SECTION .rdata
_cstring_console_mplog:		db "console_mp.log",0
_cstring_build_slogfile_o:		db "Build %s",0ah,"logfile opened on %s",0ah,0
_cstring_1:		db "1",0
_cstring_r_aasamples:		db "r_aaSamples",0
_cstring_r_altmodellighti:		db "r_altModelLightingUpdate",0
_cstring_r_zfeather:		db "r_zfeather",0
_cstring_sm_enable:		db "sm_enable",0
_cstring_0:		db "0",0
_cstring_true_if_this_is_:		db "True if this is a dedicated server",0
_cstring_dedicated:		db "dedicated",0
_cstring_cap_frames_per_s:		db "Cap frames per second",0
_cstring_com_maxfps:		db "com_maxfps",0
_cstring_enables_loading_:		db "Enables loading data from fast files. Only tools can run without fast files.",0
_cstring_usefastfile:		db "useFastFile",0
_cstring_prevents_specifi:		db "Prevents specified threads from changing CPUs; improves profiling and may fix some bugs, but can hurt performance",0
_cstring_sys_lockthreads:		db "sys_lockThreads",0
_cstring_allow_multithrea:		db "Allow multi-threading",0
_cstring_sys_smp_allowed:		db "sys_smp_allowed",0
_cstring_master_server_na:		db "Master server name for listing public inet games",0
_cstring_cod4masteractivi:		db "cod4master.activision.com",0
_cstring_masterservername:		db "masterServerName",0
_cstring_authentication_s:		db "Authentication server name for listing public inet games",0
_cstring_authservername:		db "authServerName",0
_cstring_master_server_po:		db "Master server port",0
_cstring_masterport:		db "masterPort",0
_cstring_auth_server_port:		db "Auth server port",0
_cstring_authport:		db "authPort",0
_cstring_enable_developme:		db "Enable development options",0
_cstring_developer:		db "developer",0
_cstring_enable_developer:		db "Enable developer script comments",0
_cstring_developer_script:		db "developer_script",0
_cstring_write_to_log_fil:		db "Write to log file - 0 = disabled, 1 = async file write, 2 = Sync every write",0
_cstring_logfile:		db "logfile",0
_cstring_draw_stats_monit:		db "Draw stats monitor",0
_cstring_com_statmon:		db "com_statmon",0
_cstring_scale_time_of_ea:		db "Scale time of each frame",0
_cstring_com_timescale:		db "com_timescale",0
_cstring_timescale:		db "timescale",0
_cstring_use_a_fixed_time:		db "Use a fixed time rate for each frame",0
_cstring_fixedtime:		db "fixedtime",0
_cstring_time_slows_down_:		db "Time slows down if a frame takes longer than this many milliseconds",0
_cstring_com_maxframetime:		db "com_maxFrameTime",0
_cstring_pause_the_server:		db "Pause the server",0
_cstring_sv_paused:		db "sv_paused",0
_cstring_pause_the_client:		db "Pause the client",0
_cstring_cl_paused:		db "cl_paused",0
_cstring_server_is_runnin:		db "Server is running",0
_cstring_sv_running:		db "sv_running",0
_cstring_use_console_filt:		db "Use console filters for filtering output.",0
_cstring_com_filter_outpu:		db "com_filter_output",0
_cstring_intro_movie_has_:		db "Intro movie has been played",0
_cstring_com_introplayed:		db "com_introPlayed",0
_cstring_check_anim_tree:		db "Check anim tree",0
_cstring_com_animcheck:		db "com_animCheck",0
_cstring_true_if_the_game:		db "True if the game video is running in high-def.",0
_cstring_hidef:		db "hiDef",0
_cstring_true_if_the_game1:		db "True if the game video is running in 16x9 aspect, false if 4x3.",0
_cstring_widescreen:		db "wideScreen",0
_cstring_players:		db "players",0
_cstring_couldnt_write_s:		db "Couldn",27h,"t write %s.",0ah,0
_cstring__generated_by_ca:		db "// generated by Call of Duty, do not modify",0ah,0
_cstring_unbindall:		db "unbindall",0ah,0
_cstring_freeze_seconds:		db "freeze <seconds>",0ah,0
_cstring_testing_drop_err:		db 015h,"Testing drop error",0
_cstring_testing_fatal_er:		db 015h,"Testing fatal error",0
_cstring_configure_mpcsv_:		db 015h,"configure_mp.csv: dvar name ",22h,"%s",22h," longer than %i",0ah,0
_cstring_configure_mpcsv_1:		db 015h,"configure_mp.csv: more than %i dvars",0ah,0
_cstring_configure_mpcsv_2:		db 015h,"configure_mp.csv: unexpected end-of-file",0
_cstring_configure_mpcsv_3:		db 015h,"configure_mp.csv: extra dvar value column(s): value = %s",0ah,0
_cstring_configure_mpcsv_4:		db 015h,"configure_mp.csv: missing entry in dvar value column %i",0ah,0
_cstring_configure_mpcsv_5:		db 015h,"configure_mp.csv: entry ",27h,"%s",27h," in dvar value column %i is longer than %i",0ah,0
_cstring_feb_12_2009:		db "Feb 12 2009",0
_cstring_macosxsi386:		db "MacOSXS-i386",0
_cstring_17:		db "1.7",0
_cstring_cod4_mp:		db "CoD4 MP",0
_cstring_s_s_build_s_s:		db "%s %s build %s %s",0ah,0
_cstring_use_recommended_:		db "Use recommended settings",0
_cstring_com_recommendeds:		db "com_recommendedSet",0
_cstring_quit:		db "quit",0
_cstring_writeconfig:		db "writeconfig",0
_cstring_writedefaults:		db "writedefaults",0
_cstring_s_s_build_s_s1:		db "%s %s build %s %s",0
_cstring_game_version:		db "Game version",0
_cstring_null:		db 0
_cstring_version:		db "version",0
_cstring_short_game_versi:		db "Short game version",0
_cstring_shortversion:		db "shortversion",0
_cstring_init:		db "$init",0
_cstring_end_init_d_ms:		db "end $init %d ms",0ah,0
_cstring__common_initiali:		db "--- Common Initialization Complete ---",0ah,0
_cstring_begin_init:		db "begin $init",0ah,0
_cstring_error:		db "error",0
_cstring_crash:		db "crash",0
_cstring_freeze:		db "freeze",0
_cstring_assert:		db "assert",0
_cstring_cinematic_iw_log:		db "cinematic IW_logo",0ah,0
_cstring_cinematic_atvi_s:		db "cinematic atvi; set nextmap ",22h,"cinematic Aspyr; set nextmap cinematic cod_intro",22h,0
_cstring_ui_mp:		db "ui_mp",0
_cstring_error_during_ini:		db "Error during initialization:",0ah,"%s",0ah,0
_cstring_menu_error:		db "MENU_ERROR",0
_cstring_error_message:		db "error message",0
_cstring_disconnecting_s:		db "********************",0ah,"Disconnecting: %s",0ah,"********************",0ah,0
_cstring_menu_notice:		db "MENU_NOTICE",0
_cstring_s:		db "%s",0
_cstring_exe_disconnected:		db "EXE_DISCONNECTEDFROMOWNLISTENSERVER",0
_cstring_error_s:		db "********************",0ah,"ERROR: %s",0ah,"********************",0ah,0
_cstring_quitting:		db "quitting...",0ah,0
_cstring_exe_serverquit:		db "EXE_SERVERQUIT",0
_cstring_s1:		db "%s",0ah,0
_cstring_missing_value:		db "MISSING VALUE",0ah,0
_cstring_dvar_restart:		db "dvar_restart",0
_cstring_safe:		db "safe",0
_cstring_com_eventloop_ba:		db 015h,"Com_EventLoop: bad event type %i",0
_cstring_:		db 0ah,0
_cstring_codkey:		db "codkey",0
_cstring_11:		db "^1",0
_cstring_1error_:		db "^1Error: ",0
_cstring_3:		db "^3",0
_cstring_usage_writeconfi:		db "Usage: writeconfig <filename>",0ah,0
_cstring_cfg:		db ".cfg",0
_cstring_writing_s:		db "Writing %s.",0ah,0
_cstring__autoconfigure:		db "========= autoconfigure",0ah,0
_cstring_configure_mpcsv:		db "configure_mp.csv",0
_cstring_gpu:		db "gpu",0
_cstring_cpu_ghz:		db "cpu ghz",0
_cstring_sys_mb:		db "sys mb",0
_cstring_configure_mpcsv_6:		db 015h,"configure_mp.csv: sys mb %i not allowed to be less than 128",0ah,0
_cstring_configure_mpcsv_7:		db 015h,"configure_mp.csv: ",22h,"sys mb",22h," should be the second column",0ah,0
_cstring_configure_mpcsv_8:		db 015h,"configure_mp.csv: ",22h,"cpu ghz",22h," should be the first column",0ah,0
_cstring_configure_mpcsv_9:		db 015h,"configure_mp.csv: ",014h,"EXE_ERR_COULDNT_CONFIGURE",015h," %.0f GHz %i MB",0ah,0
_cstring_configure_mpcsv_10:		db 015h,"configure_mp.csv: ",014h,"EXE_ERR_COULDNT_CONFIGURE",015h," ",22h,"%s",22h,0ah,0
_cstring_exe_err_not_foun:		db "EXE_ERR_NOT_FOUND",015h,"configure_mp.csv",0
_cstring_snd_restart:		db "snd_restart",0ah,0
_cstring_configure_mpcsv_11:		db 015h,"configure_mp.csv: ",22h,"find",22h," string is too long",0ah,0
_cstring_configure_mpcsv_12:		db "configure_mp.csv: using GPU configuration ",22h,"%s",22h,0ah,0
_cstring_radeon_x16:		db "Radeon X16*",0
_cstring_configure_mpcsv_13:		db 015h,"configure_mp.csv: cpu ghz %g not allowed to be less than 0",0ah,0
_cstring_configure_mpcsv_14:		db "configure_mp.csv: using CPU configuration %.0f GHz %i MB",0ah,0
_cstring_exec_configure_m:		db "exec configure_mp.cfg",0
_cstring_geforce_73:		db "GeForce 73*",0
_cstring_set:		db "set",0
_cstring_seta:		db "seta",0
_cstring_usage_writedefau:		db "Usage: writedefaults <filename>",0ah,0
_cstring_exec_default_mpc:		db "exec default_mp.cfg",0ah,0
_cstring_exec_languagecfg:		db "exec language.cfg",0ah,0
_cstring_exec_s:		db "exec %s",0ah,0
_cstring_exec_safemode_mp:		db "exec safemode_mp.cfg",0ah,0
_cstring_f:		db "%.*f",0
_cstring_progress_time_sp:		db "progress time spin",0
_cstring_pre_frame:		db "pre frame",0
_cstring_cl_frame:		db "CL_Frame",0
_cstring_hitch_warning_i_:		db "Hitch warning: %i msec frame time",0ah,0
_cstring_config_mpcfg:		db "config_mp.cfg",0
_cstring_code_warning_fil:		db "code_warning_file",0
_cstring_code_warning_fps:		db "code_warning_fps",0
_cstring_most_recent_erro:		db "Most recent error message",0
_cstring_com_errormessage:		db "com_errorMessage",0
_cstring_title_of_the_mos:		db "Title of the most recent error message",0
_cstring_com_errortitle:		db "com_errorTitle",0
_cstring_recursive_error_:		db "recursive error after: %s",0
_cstring_2:		db 0ah,"==========================",0ah,0
_cstring_com_frame:		db "Com_Frame",0
_cstring_none:		db "none",0
_cstring_minimal:		db "minimal",0
_cstring_all:		db "all",0
_cstring_exe_server_disco:		db "EXE_SERVER_DISCONNECTED",0
_cstring_exe_disconnected1:		db "EXE_DISCONNECTED",0
_cstring_exe_serverisfull:		db "EXE_SERVERISFULL",0
_cstring_xboxlive_signedo:		db "XBOXLIVE_SIGNEDOUTOFLIVE",0
_cstring_xboxlive_cantjoi:		db "XBOXLIVE_CANTJOINSESSION",0
_cstring_xboxlive_mpnotal:		db "XBOXLIVE_MPNOTALLOWED",0
_cstring_xboxlive_mustlog:		db "XBOXLIVE_MUSTLOGIN",0
_cstring_menu_resetcustom:		db "MENU_RESETCUSTOMCLASSES",0
_cstring_xboxlive_netconn:		db "XBOXLIVE_NETCONNECTION",0
_cstring_listen_server:		db "listen server",0
_cstring_dedicated_lan_se:		db "dedicated LAN server",0
_cstring_dedicated_intern:		db "dedicated internet server",0



;All constant floats and doubles:
SECTION .rdata
_double_0_00100000:		dq 0x3f50624dd2f1a9fc	; 0.001
_double_1_02000000:		dq 0x3ff051eb851eb852	; 1.02
_double__1_00000000:		dq 0xbff0000000000000	; -1
_double_0_00000000:		dq 0x0	; 0
_float_1_00000000:		dd 0x3f800000	; 1
_float_0_50000000:		dd 0x3f000000	; 0.5

