;Imports of fx_load_obj:
	extern _Z9Com_ParsePPKc
	extern _Z10I_strncpyzPcPKci
	extern _Z14Com_ParseFloatPPKc
	extern _Z12Com_ParseIntPPKc
	extern useFastFile
	extern _Z14Com_MatchTokenPPKcS0_i
	extern _Z14Com_UngetTokenv
	extern _Z15Com_ScriptErrorPKcz
	extern _Z8I_strcmpPKcS0_
	extern _Z10Com_PrintfiPKcz
	extern _Z18Hunk_AllocInternali
	extern _Z19DB_FindXAssetHeader10XAssetTypePKc
	extern _Z9I_stricmpPKcS0_
	extern strcpy
	extern _Z10FX_ConvertPK17FxEditorEffectDefPFPviE
	extern ReplaceStringInternal
	extern _Z23Material_RegisterHandlePKci
	extern _Z15R_RegisterModelPKc
	extern atof
	extern _Z30FxCurve_AllocAndCreateWithKeysPKfii
	extern _Z23Hunk_AllocAlignInternalii
	extern memcpy
	extern _Z9Com_Error11errorParm_tPKcz
	extern memset
	extern _Z11Com_sprintfPciPKcz
	extern FS_ReadFile
	extern FS_FreeFile
	extern _Z14Com_PrintErroriPKcz
	extern _Z18PhysPresetPrecachePKcPFPviE
	extern _Z21Com_BeginParseSessionPKc
	extern _Z21Com_SetSpaceDelimitedi
	extern _Z27Com_SetParseNegativeNumbersi
	extern strcmp
	extern _Z19Com_EndParseSessionv

;Exports of fx_load_obj:
	global fx_load
	global s_elemFields
	global _Z12FX_ParseNamePPKcP15FxEditorElemDef
	global _Z21FX_ParseNonAtlasFlagsPPKcP15FxEditorElemDef
	global _Z18FX_ParseSpawnRangePPKcP15FxEditorElemDef
	global _Z19FX_ParseFadeInRangePPKcP15FxEditorElemDef
	global _Z20FX_ParseFadeOutRangePPKcP15FxEditorElemDef
	global _Z30FX_ParseSpawnFrustumCullRadiusPPKcP15FxEditorElemDef
	global _Z23FX_ParseSpawnDefLoopingPPKcP15FxEditorElemDef
	global _Z23FX_ParseSpawnDefOneShotPPKcP15FxEditorElemDef
	global _Z22FX_ParseSpawnDelayMsecPPKcP15FxEditorElemDef
	global _Z20FX_ParseLifeSpanMsecPPKcP15FxEditorElemDef
	global _Z17FX_ParseSpawnOrgXPPKcP15FxEditorElemDef
	global _Z17FX_ParseSpawnOrgYPPKcP15FxEditorElemDef
	global _Z17FX_ParseSpawnOrgZPPKcP15FxEditorElemDef
	global _Z25FX_ParseSpawnOffsetRadiusPPKcP15FxEditorElemDef
	global _Z25FX_ParseSpawnOffsetHeightPPKcP15FxEditorElemDef
	global _Z23FX_ParseSpawnAnglePitchPPKcP15FxEditorElemDef
	global _Z21FX_ParseSpawnAngleYawPPKcP15FxEditorElemDef
	global _Z22FX_ParseSpawnAngleRollPPKcP15FxEditorElemDef
	global _Z21FX_ParseAngleVelPitchPPKcP15FxEditorElemDef
	global _Z19FX_ParseAngleVelYawPPKcP15FxEditorElemDef
	global _Z20FX_ParseAngleVelRollPPKcP15FxEditorElemDef
	global _Z18FX_ParseInitialRotPPKcP15FxEditorElemDef
	global _Z15FX_ParseGravityPPKcP15FxEditorElemDef
	global _Z18FX_ParseElasticityPPKcP15FxEditorElemDef
	global _Z21FX_ParseAtlasBehaviorPPKcP15FxEditorElemDef
	global _Z18FX_ParseAtlasIndexPPKcP15FxEditorElemDef
	global _Z16FX_ParseAtlasFpsPPKcP15FxEditorElemDef
	global _Z22FX_ParseAtlasLoopCountPPKcP15FxEditorElemDef
	global _Z25FX_ParseAtlasColIndexBitsPPKcP15FxEditorElemDef
	global _Z25FX_ParseAtlasRowIndexBitsPPKcP15FxEditorElemDef
	global _Z23FX_ParseAtlasEntryCountPPKcP15FxEditorElemDef
	global _Z18FX_ParseVelGraph0XPPKcP15FxEditorElemDef
	global _Z18FX_ParseVelGraph0YPPKcP15FxEditorElemDef
	global _Z18FX_ParseVelGraph0ZPPKcP15FxEditorElemDef
	global _Z18FX_ParseVelGraph1XPPKcP15FxEditorElemDef
	global _Z18FX_ParseVelGraph1YPPKcP15FxEditorElemDef
	global _Z18FX_ParseVelGraph1ZPPKcP15FxEditorElemDef
	global _Z16FX_ParseRotGraphPPKcP15FxEditorElemDef
	global _Z18FX_ParseSizeGraph0PPKcP15FxEditorElemDef
	global _Z18FX_ParseSizeGraph1PPKcP15FxEditorElemDef
	global _Z18FX_ParseScaleGraphPPKcP15FxEditorElemDef
	global _Z18FX_ParseColorGraphPPKcP15FxEditorElemDef
	global _Z18FX_ParseAlphaGraphPPKcP15FxEditorElemDef
	global _Z20FX_ParseLightingFracPPKcP15FxEditorElemDef
	global _Z18FX_ParseCollOffsetPPKcP15FxEditorElemDef
	global _Z18FX_ParseCollRadiusPPKcP15FxEditorElemDef
	global _Z18FX_ParseFxOnImpactPPKcP15FxEditorElemDef
	global _Z17FX_ParseFxOnDeathPPKcP15FxEditorElemDef
	global _Z17FX_ParseSortOrderPPKcP15FxEditorElemDef
	global _Z16FX_ParseEmissionPPKcP15FxEditorElemDef
	global _Z16FX_ParseEmitDistPPKcP15FxEditorElemDef
	global _Z24FX_ParseEmitDistVariancePPKcP15FxEditorElemDef
	global _Z23FX_ParseTrailRepeatTimePPKcP15FxEditorElemDef
	global _Z22FX_ParseTrailSplitDistPPKcP15FxEditorElemDef
	global _Z23FX_ParseTrailScrollTimePPKcP15FxEditorElemDef
	global _Z23FX_ParseTrailRepeatDistPPKcP15FxEditorElemDef
	global _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef
	global _Z23FX_ParseBillboardSpritePPKcP15FxEditorElemDef
	global _Z22FX_ParseOrientedSpritePPKcP15FxEditorElemDef
	global _Z13FX_ParseCloudPPKcP15FxEditorElemDef
	global _Z12FX_ParseTailPPKcP15FxEditorElemDef
	global _Z13FX_ParseTrailPPKcP15FxEditorElemDef
	global _Z13FX_ParseDecalPPKcP15FxEditorElemDef
	global _Z13FX_ParseModelPPKcP15FxEditorElemDef
	global _Z13FX_ParseLightPPKcP15FxEditorElemDef
	global _Z17FX_ParseSpotLightPPKcP15FxEditorElemDef
	global _Z14FX_ParseRunnerPPKcP15FxEditorElemDef
	global _Z13FX_ParseSoundPPKcP15FxEditorElemDef
	global _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet
	global _Z20FX_Register_FastFilePKc
	global _Z19FX_Register_LoadObjPKc
	global _Z31FX_RegisterAsset_SoundAliasNamePKcP13FxElemVisuals
	global _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	global _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals
	global _Z22FX_RegisterAsset_ModelPKcP13FxElemVisuals
	global _Z26FX_RegisterAsset_EffectDefPKcP13FxElemVisuals
	global _Z13FX_ParseCurvePPKciffPPK7FxCurve
	global _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	global _Z31FX_RegisterAsset_DecalMaterialsPKcP17FxElemMarkVisuals
	global _Z13FX_LoadFailedPKc
	global typePrefixes.130273
	global _Z11FX_AllocMemi
	global _Z11FX_RegisterPKc
	global _Z16FX_UnregisterAllv
	global _Z19FX_ForEachEffectDefPFvPK11FxEffectDefPvES2_
	global _Z19FX_LoadEditorEffectPKcP17FxEditorEffectDef
	global _Z21FX_RegisterPhysPresetPKc
	global _Z24FX_RegisterDefaultEffectv
	global _Z24FX_RegisterMarkMaterialsPKcPP8Material
	global _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef
	global s_allFlagDefs


SECTION .text


;FX_ParseName(char const**, FxEditorElemDef*)
_Z12FX_ParseNamePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov dword [esp+0x8], 0x30
	mov [esp+0x4], eax
	mov eax, [ebp+0xc]
	mov [esp], eax
	call _Z10I_strncpyzPcPKci
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseNonAtlasFlags(char const**, FxEditorElemDef*)
_Z21FX_ParseNonAtlasFlagsPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	mov dword [ebp-0xc], 0x0
	lea ecx, [edx+0x30]
	mov [ebp-0x14], ecx
	add edx, 0x34
	mov [ebp-0x10], edx
	lea edx, [ebp-0x14]
	call _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet
	movzx eax, al
	leave
	ret


;FX_ParseSpawnRange(char const**, FxEditorElemDef*)
_Z18FX_ParseSpawnRangePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x38]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x38]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseFadeInRange(char const**, FxEditorElemDef*)
_Z19FX_ParseFadeInRangePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x40]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x40]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseFadeOutRange(char const**, FxEditorElemDef*)
_Z20FX_ParseFadeOutRangePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x48]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x48]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnFrustumCullRadius(char const**, FxEditorElemDef*)
_Z30FX_ParseSpawnFrustumCullRadiusPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z14Com_ParseFloatPPKc
	mov eax, [ebp+0xc]
	fstp dword [eax+0x50]
	mov eax, 0x1
	leave
	ret


;FX_ParseSpawnDefLooping(char const**, FxEditorElemDef*)
_Z23FX_ParseSpawnDefLoopingPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov [esp], ebx
	call _Z12Com_ParseIntPPKc
	mov [esi+0x54], eax
	mov [esp], ebx
	call _Z12Com_ParseIntPPKc
	mov [esi+0x58], eax
	mov eax, 0x1
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret


;FX_ParseSpawnDefOneShot(char const**, FxEditorElemDef*)
_Z23FX_ParseSpawnDefOneShotPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x5c]
	mov [esp], esi
	call _Z12Com_ParseIntPPKc
	mov [ebx+0x5c], eax
	mov [esp], esi
	call _Z12Com_ParseIntPPKc
	mov [edi+0x4], eax
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnDelayMsec(char const**, FxEditorElemDef*)
_Z22FX_ParseSpawnDelayMsecPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x64]
	mov [esp], esi
	call _Z12Com_ParseIntPPKc
	mov [ebx+0x64], eax
	mov [esp], esi
	call _Z12Com_ParseIntPPKc
	mov [edi+0x4], eax
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseLifeSpanMsec(char const**, FxEditorElemDef*)
_Z20FX_ParseLifeSpanMsecPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x6c]
	mov [esp], esi
	call _Z12Com_ParseIntPPKc
	mov [ebx+0x6c], eax
	mov [esp], esi
	call _Z12Com_ParseIntPPKc
	mov [edi+0x4], eax
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnOrgX(char const**, FxEditorElemDef*)
_Z17FX_ParseSpawnOrgXPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x74]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x74]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnOrgY(char const**, FxEditorElemDef*)
_Z17FX_ParseSpawnOrgYPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x7c]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x7c]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnOrgZ(char const**, FxEditorElemDef*)
_Z17FX_ParseSpawnOrgZPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x84]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x84]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnOffsetRadius(char const**, FxEditorElemDef*)
_Z25FX_ParseSpawnOffsetRadiusPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x8c]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x8c]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnOffsetHeight(char const**, FxEditorElemDef*)
_Z25FX_ParseSpawnOffsetHeightPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x94]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x94]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnAnglePitch(char const**, FxEditorElemDef*)
_Z23FX_ParseSpawnAnglePitchPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x9c]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x9c]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnAngleYaw(char const**, FxEditorElemDef*)
_Z21FX_ParseSpawnAngleYawPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xa4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xa4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseSpawnAngleRoll(char const**, FxEditorElemDef*)
_Z22FX_ParseSpawnAngleRollPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xac]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xac]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseAngleVelPitch(char const**, FxEditorElemDef*)
_Z21FX_ParseAngleVelPitchPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xb4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xb4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseAngleVelYaw(char const**, FxEditorElemDef*)
_Z19FX_ParseAngleVelYawPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xbc]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xbc]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseAngleVelRoll(char const**, FxEditorElemDef*)
_Z20FX_ParseAngleVelRollPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xc4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xc4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseInitialRot(char const**, FxEditorElemDef*)
_Z18FX_ParseInitialRotPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xcc]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xcc]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseGravity(char const**, FxEditorElemDef*)
_Z15FX_ParseGravityPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xd4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xd4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseElasticity(char const**, FxEditorElemDef*)
_Z18FX_ParseElasticityPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0xdc]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0xdc]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseAtlasBehavior(char const**, FxEditorElemDef*)
_Z21FX_ParseAtlasBehaviorPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	add edx, 0xe4
	mov [ebp-0xc], edx
	mov dword [ebp-0x14], 0x0
	mov dword [ebp-0x10], 0x0
	lea edx, [ebp-0x14]
	call _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet
	movzx eax, al
	leave
	ret


;FX_ParseAtlasIndex(char const**, FxEditorElemDef*)
_Z18FX_ParseAtlasIndexPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0xe8], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseAtlasFps(char const**, FxEditorElemDef*)
_Z16FX_ParseAtlasFpsPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0xec], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseAtlasLoopCount(char const**, FxEditorElemDef*)
_Z22FX_ParseAtlasLoopCountPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0xf0], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseAtlasColIndexBits(char const**, FxEditorElemDef*)
_Z25FX_ParseAtlasColIndexBitsPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0xf4], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseAtlasRowIndexBits(char const**, FxEditorElemDef*)
_Z25FX_ParseAtlasRowIndexBitsPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0xf8], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseAtlasEntryCount(char const**, FxEditorElemDef*)
_Z23FX_ParseAtlasEntryCountPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0xfc], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseVelGraph0X(char const**, FxEditorElemDef*)
_Z18FX_ParseVelGraph0XPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x100]
	add edx, 0x118
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseVelGraph0Y(char const**, FxEditorElemDef*)
_Z18FX_ParseVelGraph0YPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x104]
	add edx, 0x120
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseVelGraph0Z(char const**, FxEditorElemDef*)
_Z18FX_ParseVelGraph0ZPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x108]
	add edx, 0x128
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseVelGraph1X(char const**, FxEditorElemDef*)
_Z18FX_ParseVelGraph1XPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x10c]
	add edx, 0x130
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseVelGraph1Y(char const**, FxEditorElemDef*)
_Z18FX_ParseVelGraph1YPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x110]
	add edx, 0x138
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseVelGraph1Z(char const**, FxEditorElemDef*)
_Z18FX_ParseVelGraph1ZPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x114]
	add edx, 0x140
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseRotGraph(char const**, FxEditorElemDef*)
_Z16FX_ParseRotGraphPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x148]
	add edx, 0x14c
	mov [esp], edx
	movss xmm1, dword [_float_0_50000000]
	movss xmm0, dword [_float__0_50000000]
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseSizeGraph0(char const**, FxEditorElemDef*)
_Z18FX_ParseSizeGraph0PPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x154]
	add edx, 0x15c
	mov [esp], edx
	movss xmm1, dword [_float_1_00000000]
	pxor xmm0, xmm0
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseSizeGraph1(char const**, FxEditorElemDef*)
_Z18FX_ParseSizeGraph1PPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x158]
	add edx, 0x164
	mov [esp], edx
	movss xmm1, dword [_float_1_00000000]
	pxor xmm0, xmm0
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseScaleGraph(char const**, FxEditorElemDef*)
_Z18FX_ParseScaleGraphPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	lea ecx, [edx+0x16c]
	add edx, 0x170
	mov [esp], edx
	movss xmm1, dword [_float_1_00000000]
	pxor xmm0, xmm0
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret


;FX_ParseColorGraph(char const**, FxEditorElemDef*)
_Z18FX_ParseColorGraphPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x28
	mov eax, [ebp+0x8]
	lea ecx, [ebp-0xc]
	mov edx, [ebp+0xc]
	add edx, 0x178
	mov [esp], edx
	movss xmm1, dword [_float_1_00000000]
	pxor xmm0, xmm0
	mov edx, 0x3
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret
	nop


;FX_ParseAlphaGraph(char const**, FxEditorElemDef*)
_Z18FX_ParseAlphaGraphPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x28
	mov eax, [ebp+0x8]
	lea ecx, [ebp-0xc]
	mov edx, [ebp+0xc]
	add edx, 0x180
	mov [esp], edx
	movss xmm1, dword [_float_1_00000000]
	pxor xmm0, xmm0
	mov edx, 0x1
	call _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve
	movzx eax, al
	leave
	ret
	nop


;FX_ParseLightingFrac(char const**, FxEditorElemDef*)
_Z20FX_ParseLightingFracPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z14Com_ParseFloatPPKc
	mov eax, [ebp+0xc]
	fstp dword [eax+0x188]
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseCollOffset(char const**, FxEditorElemDef*)
_Z18FX_ParseCollOffsetPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	lea edi, [esi+0x18c]
	mov [esp], ebx
	call _Z14Com_ParseFloatPPKc
	fstp dword [esi+0x18c]
	mov [esp], ebx
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov [esp], ebx
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x8]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;FX_ParseCollRadius(char const**, FxEditorElemDef*)
_Z18FX_ParseCollRadiusPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z14Com_ParseFloatPPKc
	mov eax, [ebp+0xc]
	fstp dword [eax+0x198]
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseFxOnImpact(char const**, FxEditorElemDef*)
_Z18FX_ParseFxOnImpactPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0xc]
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov ecx, eax
	cmp byte [eax], 0x0
	jz _Z18FX_ParseFxOnImpactPPKcP15FxEditorElemDef_10
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz edx, eax
	mov [esp], ecx
	call edx
	mov [ebx+0x19c], eax
	mov eax, 0x1
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z18FX_ParseFxOnImpactPPKcP15FxEditorElemDef_10:
	mov dword [ebx+0x19c], 0x0
	mov eax, 0x1
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;FX_ParseFxOnDeath(char const**, FxEditorElemDef*)
_Z17FX_ParseFxOnDeathPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0xc]
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov ecx, eax
	cmp byte [eax], 0x0
	jz _Z17FX_ParseFxOnDeathPPKcP15FxEditorElemDef_10
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz edx, eax
	mov [esp], ecx
	call edx
	mov [ebx+0x1a0], eax
	mov eax, 0x1
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z17FX_ParseFxOnDeathPPKcP15FxEditorElemDef_10:
	mov dword [ebx+0x1a0], 0x0
	mov eax, 0x1
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;FX_ParseSortOrder(char const**, FxEditorElemDef*)
_Z17FX_ParseSortOrderPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0x1a4], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseEmission(char const**, FxEditorElemDef*)
_Z16FX_ParseEmissionPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0xc]
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov ecx, eax
	cmp byte [eax], 0x0
	jz _Z16FX_ParseEmissionPPKcP15FxEditorElemDef_10
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz edx, eax
	mov [esp], ecx
	call edx
	mov [ebx+0x1a8], eax
	mov eax, 0x1
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z16FX_ParseEmissionPPKcP15FxEditorElemDef_10:
	mov dword [ebx+0x1a8], 0x0
	mov eax, 0x1
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;FX_ParseEmitDist(char const**, FxEditorElemDef*)
_Z16FX_ParseEmitDistPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x1ac]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x1ac]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;FX_ParseEmitDistVariance(char const**, FxEditorElemDef*)
_Z24FX_ParseEmitDistVariancePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x1b4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x1b4]
	mov [esp], esi
	call _Z14Com_ParseFloatPPKc
	fstp dword [edi+0x4]
	mov eax, 0x1
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_ParseTrailRepeatTime(char const**, FxEditorElemDef*)
_Z23FX_ParseTrailRepeatTimePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z14Com_ParseFloatPPKc
	fstp st0
	mov eax, 0x1
	leave
	ret


;FX_ParseTrailSplitDist(char const**, FxEditorElemDef*)
_Z22FX_ParseTrailSplitDistPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0x244], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseTrailScrollTime(char const**, FxEditorElemDef*)
_Z23FX_ParseTrailScrollTimePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z14Com_ParseFloatPPKc
	mov eax, [ebp+0xc]
	fstp dword [eax+0x24c]
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseTrailRepeatDist(char const**, FxEditorElemDef*)
_Z23FX_ParseTrailRepeatDistPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z12Com_ParseIntPPKc
	mov edx, [ebp+0xc]
	mov [edx+0x248], eax
	mov eax, 0x1
	leave
	ret
	nop


;FX_ParseTrailDef(char const**, FxEditorElemDef*)
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_
	mov [esp], edi
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jz _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_10
	mov dword [esi+0x750], 0x0
	jmp _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_20
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_40:
	call _Z14Com_UngetTokenv
	mov eax, [esi+0x750]
	cmp eax, 0x40
	jz _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_30
	lea ebx, [eax+eax*4]
	lea ebx, [esi+ebx*4+0x250]
	mov [esp], edi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx]
	mov [esp], edi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x4]
	mov [esp], edi
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx+0x10]
	add dword [esi+0x750], 0x1
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_20:
	mov [esp], edi
	call _Z9Com_ParsePPKc
	cmp byte [eax], 0x7d
	jnz _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_40
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_
	mov [esp], edi
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jz _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_10
	mov dword [esi+0x854], 0x0
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_60:
	mov [esp], edi
	call _Z9Com_ParsePPKc
	cmp byte [eax], 0x7d
	jz _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_50
	call _Z14Com_UngetTokenv
	mov [esp], edi
	call _Z12Com_ParseIntPPKc
	mov edx, [esi+0x854]
	mov [esi+edx*2+0x754], ax
	add edx, 0x1
	mov [esi+0x854], edx
	add edx, 0xffffff80
	jnz _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_60
	mov dword [esp], _cstring_ran_out_of_trail
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_30:
	mov dword [esp], _cstring_ran_out_of_trail1
	call _Z15Com_ScriptErrorPKcz
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_10:
	xor eax, eax
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_70:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_50:
	mov eax, 0x1
	jmp _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef_70


;FX_ParseBillboardSprite(char const**, FxEditorElemDef*)
_Z23FX_ParseBillboardSpritePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	xor edx, edx
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret
	nop


;FX_ParseOrientedSprite(char const**, FxEditorElemDef*)
_Z22FX_ParseOrientedSpritePPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0x1
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseCloud(char const**, FxEditorElemDef*)
_Z13FX_ParseCloudPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0x4
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseTail(char const**, FxEditorElemDef*)
_Z12FX_ParseTailPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0x2
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseTrail(char const**, FxEditorElemDef*)
_Z13FX_ParseTrailPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0x3
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseDecal(char const**, FxEditorElemDef*)
_Z13FX_ParseDecalPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x12c
	mov ebx, [ebp+0xc]
	lea edi, [ebx+0x1c4]
	cmp byte [ebx+0x1bc], 0xb
	jz _Z13FX_ParseDecalPPKcP15FxEditorElemDef_10
	mov dword [esp], _cstring_more_than_one_ty
	call _Z15Com_ScriptErrorPKcz
_Z13FX_ParseDecalPPKcP15FxEditorElemDef_20:
	xor eax, eax
	movzx eax, al
	add esp, 0x12c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13FX_ParseDecalPPKcP15FxEditorElemDef_10:
	mov byte [ebx+0x1bc], 0x9
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jz _Z13FX_ParseDecalPPKcP15FxEditorElemDef_20
	mov dword [ebx+0x1c0], 0x0
	lea esi, [ebp-0x11c]
	jmp _Z13FX_ParseDecalPPKcP15FxEditorElemDef_30
_Z13FX_ParseDecalPPKcP15FxEditorElemDef_50:
	cmp dword [ebx+0x1c0], 0x10
	jz _Z13FX_ParseDecalPPKcP15FxEditorElemDef_40
	mov dword [esp+0x8], 0x104
	mov [esp+0x4], eax
	mov [esp], esi
	call _Z10I_strncpyzPcPKci
	mov eax, [ebx+0x1c0]
	lea eax, [edi+eax*8]
	mov [esp+0x4], eax
	mov [esp], esi
	call _Z31FX_RegisterAsset_DecalMaterialsPKcP17FxElemMarkVisuals
	test al, al
	jz _Z13FX_ParseDecalPPKcP15FxEditorElemDef_20
	add dword [ebx+0x1c0], 0x1
_Z13FX_ParseDecalPPKcP15FxEditorElemDef_30:
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	cmp byte [eax], 0x7d
	jnz _Z13FX_ParseDecalPPKcP15FxEditorElemDef_50
	mov eax, 0x1
	movzx eax, al
	add esp, 0x12c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13FX_ParseDecalPPKcP15FxEditorElemDef_40:
	mov dword [esp+0x4], 0x10
	mov dword [esp], _cstring_more_than_i_visu
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	movzx eax, al
	add esp, 0x12c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;FX_ParseModel(char const**, FxEditorElemDef*)
_Z13FX_ParseModelPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z22FX_RegisterAsset_ModelPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0x5
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseLight(char const**, FxEditorElemDef*)
_Z13FX_ParseLightPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0xc]
	cmp byte [eax+0x1bc], 0xb
	jz _Z13FX_ParseLightPPKcP15FxEditorElemDef_10
	mov dword [esp], _cstring_more_than_one_ty
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	movzx eax, al
	leave
	ret
_Z13FX_ParseLightPPKcP15FxEditorElemDef_10:
	mov byte [eax+0x1bc], 0x6
	mov eax, 0x1
	movzx eax, al
	leave
	ret


;FX_ParseSpotLight(char const**, FxEditorElemDef*)
_Z17FX_ParseSpotLightPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0xc]
	cmp byte [eax+0x1bc], 0xb
	jz _Z17FX_ParseSpotLightPPKcP15FxEditorElemDef_10
	mov dword [esp], _cstring_more_than_one_ty
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	movzx eax, al
	leave
	ret
_Z17FX_ParseSpotLightPPKcP15FxEditorElemDef_10:
	mov byte [eax+0x1bc], 0x7
	mov eax, 0x1
	movzx eax, al
	leave
	ret


;FX_ParseRunner(char const**, FxEditorElemDef*)
_Z14FX_ParseRunnerPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z26FX_RegisterAsset_EffectDefPKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0xa
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseSound(char const**, FxEditorElemDef*)
_Z13FX_ParseSoundPPKcP15FxEditorElemDef:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	mov dword [esp+0x4], _Z31FX_RegisterAsset_SoundAliasNamePKcP13FxElemVisuals
	lea edx, [ecx+0x1c4]
	mov [esp], edx
	mov edx, 0x8
	call _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E
	movzx eax, al
	leave
	ret


;FX_ParseFlagsField(char const**, FxFlagOutputSet*)
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov [ebp-0x1c], eax
	mov [ebp-0x20], edx
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_90:
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov edi, eax
	cmp byte [eax], 0x3b
	jz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_10
	mov edx, [s_allFlagDefs]
	test edx, edx
	jz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_20
	mov ebx, s_allFlagDefs
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_50:
	mov eax, [ebx+0x4]
	mov ecx, [ebp-0x20]
	mov esi, [ecx+eax*4]
	test esi, esi
	jz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_30
	mov [esp+0x4], edx
	mov [esp], edi
	call _Z8I_strcmpPKcS0_
	test eax, eax
	jz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_40
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_30:
	add ebx, 0x10
	mov edx, [ebx]
	test edx, edx
	jnz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_50
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_20:
	mov dword [esp+0x4], _cstring_valid_flags
	mov dword [esp], 0x15
	call _Z10Com_PrintfiPKcz
	mov edx, [s_allFlagDefs]
	test edx, edx
	jz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_60
	mov ebx, s_allFlagDefs+0x4
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_80:
	mov eax, [ebx]
	mov ecx, [ebp-0x20]
	mov eax, [ecx+eax*4]
	test eax, eax
	jz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_70
	mov [esp+0x8], edx
	mov dword [esp+0x4], _cstring___s
	mov dword [esp], 0x15
	call _Z10Com_PrintfiPKcz
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_70:
	mov edx, [ebx+0xc]
	add ebx, 0x10
	test edx, edx
	jnz _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_80
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_60:
	mov [esp+0x4], edi
	mov dword [esp], _cstring_unknown_flag_s
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_100:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_40:
	mov eax, [ebx+0x8]
	not eax
	and eax, [esi]
	mov [esi], eax
	or eax, [ebx+0xc]
	mov [esi], eax
	mov eax, [ebp-0x1c]
	jmp _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_90
_Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_10:
	call _Z14Com_UngetTokenv
	mov eax, 0x1
	jmp _Z18FX_ParseFlagsFieldPPKcP15FxFlagOutputSet_100


;Hunk_AllocPhysPresetPrecache(int)
_Z28Hunk_AllocPhysPresetPrecachei:
	push ebp
	mov ebp, esp
	pop ebp
	jmp _Z18Hunk_AllocInternali
	nop


;FX_Register_FastFile(char const*)
_Z20FX_Register_FastFilePKc:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp+0x4], eax
	mov dword [esp], 0x19
	call _Z19DB_FindXAssetHeader10XAssetTypePKc
	leave
	ret
	nop


;FX_Register_LoadObj(char const*)
_Z19FX_Register_LoadObjPKc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x10b6c
	mov edi, [ebp+0x8]
	movzx ecx, byte [edi]
	test cl, cl
	jnz _Z19FX_Register_LoadObjPKc_10
	xor ebx, ebx
_Z19FX_Register_LoadObjPKc_80:
	mov eax, [ebx*4+fx_load+0x4]
	test eax, eax
	jz _Z19FX_Register_LoadObjPKc_20
_Z19FX_Register_LoadObjPKc_40:
	mov eax, [eax]
	mov [esp+0x4], eax
	mov [esp], edi
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z19FX_Register_LoadObjPKc_30
	add ebx, 0x1
	and ebx, 0x1ff
	mov eax, [ebx*4+fx_load+0x4]
	test eax, eax
	jnz _Z19FX_Register_LoadObjPKc_40
_Z19FX_Register_LoadObjPKc_20:
	mov [esp+0x4], edi
	lea esi, [ebp-0x10b5c]
	mov [esp], esi
	call strcpy
	mov [esp+0x4], esi
	mov [esp], edi
	call _Z19FX_LoadEditorEffectPKcP17FxEditorEffectDef
	test al, al
	jnz _Z19FX_Register_LoadObjPKc_50
_Z19FX_Register_LoadObjPKc_100:
	mov eax, edi
	call _Z13FX_LoadFailedPKc
	mov edx, eax
_Z19FX_Register_LoadObjPKc_90:
	mov eax, fx_load
	mov [eax+ebx*4+0x4], edx
_Z19FX_Register_LoadObjPKc_30:
	mov eax, [ebx*4+fx_load+0x4]
	add esp, 0x10b6c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z19FX_Register_LoadObjPKc_10:
	mov ebx, 0x77
	xor esi, esi
_Z19FX_Register_LoadObjPKc_70:
	cmp cl, 0x2f
	jz _Z19FX_Register_LoadObjPKc_60
	lea eax, [ecx-0x41]
	lea edx, [ecx+0x20]
	cmp al, 0x19
	cmovbe ecx, edx
_Z19FX_Register_LoadObjPKc_60:
	movsx eax, cl
	imul eax, ebx
	add esi, eax
	add ebx, 0x1
	movzx ecx, byte [edi+ebx-0x77]
	test cl, cl
	jnz _Z19FX_Register_LoadObjPKc_70
	mov ebx, esi
	and ebx, 0x1ff
	jmp _Z19FX_Register_LoadObjPKc_80
_Z19FX_Register_LoadObjPKc_50:
	mov dword [esp+0x4], _Z11FX_AllocMemi
	mov [esp], esi
	call _Z10FX_ConvertPK17FxEditorEffectDefPFPviE
	mov edx, eax
	test eax, eax
	jnz _Z19FX_Register_LoadObjPKc_90
	jmp _Z19FX_Register_LoadObjPKc_100
	nop


;FX_RegisterAsset_SoundAliasName(char const*, FxElemVisuals*)
_Z31FX_RegisterAsset_SoundAliasNamePKcP13FxElemVisuals:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp+0x4], eax
	mov eax, [ebp+0xc]
	mov [esp], eax
	call ReplaceStringInternal
	mov eax, 0x1
	leave
	ret
	nop


;unsigned char FX_ParseAssetArray<FxElemVisuals, 32>(char const**, unsigned char, FxEditorElemDef*, FxElemVisuals (&) [32], unsigned char (*)(char const*, FxElemVisuals*))
_Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x12c
	mov edi, eax
	mov ebx, ecx
	movzx eax, dl
	cmp byte [ecx+0x1bc], 0xb
	jz _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_10
	mov dword [esp], _cstring_more_than_one_ty
	call _Z15Com_ScriptErrorPKcz
_Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_20:
	xor eax, eax
	add esp, 0x12c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_10:
	mov [ecx+0x1bc], al
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_
	mov [esp], edi
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jz _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_20
	mov dword [ebx+0x1c0], 0x0
	lea esi, [ebp-0x11c]
	jmp _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_30
_Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_50:
	cmp dword [ebx+0x1c0], 0x20
	jz _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_40
	mov dword [esp+0x8], 0x104
	mov [esp+0x4], eax
	mov [esp], esi
	call _Z10I_strncpyzPcPKci
	mov eax, [ebx+0x1c0]
	mov edx, [ebp+0x8]
	lea eax, [edx+eax*4]
	mov [esp+0x4], eax
	mov [esp], esi
	call dword [ebp+0xc]
	test al, al
	jz _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_20
	add dword [ebx+0x1c0], 0x1
_Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_30:
	mov [esp], edi
	call _Z9Com_ParsePPKc
	cmp byte [eax], 0x7d
	jnz _Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_50
	mov eax, 0x1
	add esp, 0x12c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18FX_ParseAssetArrayI13FxElemVisualsLi32EEhPPKchP15FxEditorElemDefRAT0__T_PFhS2_PS6_E_40:
	mov dword [esp+0x4], 0x20
	mov dword [esp], _cstring_more_than_i_visu
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	add esp, 0x12c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FX_RegisterAsset_Material(char const*, FxElemVisuals*)
_Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, _cstring_default
	mov ebx, 0x9
	cld
	mov esi, [ebp+0x8]
	mov ecx, ebx
	repe cmpsb
	mov eax, 0x0
	jz _Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals_10
	movzx eax, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub eax, ecx
_Z25FX_RegisterAsset_MaterialPKcP13FxElemVisuals_10:
	test eax, eax
	mov eax, _cstring_default3d
	cmovnz eax, [ebp+0x8]
	mov dword [esp+0x4], 0x6
	mov [esp], eax
	call _Z23Material_RegisterHandlePKci
	mov edx, [ebp+0xc]
	mov [edx], eax
	test eax, eax
	setnz al
	movzx eax, al
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;FX_RegisterAsset_Model(char const*, FxElemVisuals*)
_Z22FX_RegisterAsset_ModelPKcP13FxElemVisuals:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z15R_RegisterModelPKc
	mov edx, [ebp+0xc]
	mov [edx], eax
	test eax, eax
	setnz al
	movzx eax, al
	leave
	ret


;FX_RegisterAsset_EffectDef(char const*, FxElemVisuals*)
_Z26FX_RegisterAsset_EffectDefPKcP13FxElemVisuals:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz edx, eax
	mov eax, [ebp+0x8]
	mov [esp], eax
	call edx
	mov edx, [ebp+0xc]
	mov [edx], eax
	test eax, eax
	setnz al
	movzx eax, al
	leave
	ret
	nop


;FX_ParseCurve(char const**, int, float, float, FxCurve const**)
_Z13FX_ParseCurvePPKciffPPK7FxCurve:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x84c
	mov [ebp-0x824], eax
	mov [ebp-0x828], edx
	movss [ebp-0x82c], xmm0
	movss [ebp-0x830], xmm1
	mov [ebp-0x834], ecx
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_
	mov [esp], eax
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jnz _Z13FX_ParseCurvePPKciffPPK7FxCurve_10
_Z13FX_ParseCurvePPKciffPPK7FxCurve_130:
	add esp, 0x84c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13FX_ParseCurvePPKciffPPK7FxCurve_10:
	mov edi, [ebp-0x828]
	add edi, 0x1
	xor ebx, ebx
	lea esi, [ebp-0x818]
	jmp _Z13FX_ParseCurvePPKciffPPK7FxCurve_20
_Z13FX_ParseCurvePPKciffPPK7FxCurve_50:
	cmp ebx, 0x200
	jz _Z13FX_ParseCurvePPKciffPPK7FxCurve_30
	mov [esp], eax
	call atof
	fstp qword [ebp-0x820]
	cvtsd2ss xmm2, [ebp-0x820]
	movss [esi], xmm2
	mov eax, ebx
	cdq
	idiv edi
	test edx, edx
	jz _Z13FX_ParseCurvePPKciffPPK7FxCurve_40
	movaps xmm0, xmm2
	subss xmm0, [ebp-0x830]
	pxor xmm1, xmm1
	cmpss xmm1, xmm0, 0x6
	movaps xmm0, xmm2
	andps xmm0, xmm1
	movss xmm3, dword [ebp-0x830]
	andnps xmm1, xmm3
	orps xmm1, xmm0
	movss xmm0, dword [ebp-0x82c]
	subss xmm0, xmm2
	pxor xmm2, xmm2
	cmpss xmm2, xmm0, 0x6
	movaps xmm0, xmm2
	andps xmm1, xmm2
	movss xmm3, dword [ebp-0x82c]
	andnps xmm0, xmm3
	orps xmm0, xmm1
	movss [esi], xmm0
_Z13FX_ParseCurvePPKciffPPK7FxCurve_40:
	add ebx, 0x1
	add esi, 0x4
_Z13FX_ParseCurvePPKciffPPK7FxCurve_20:
	mov eax, [ebp-0x824]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	cmp byte [eax], 0x7d
	jnz _Z13FX_ParseCurvePPKciffPPK7FxCurve_50
	mov eax, ebx
	cdq
	idiv edi
	mov ebx, eax
	test edx, edx
	jnz _Z13FX_ParseCurvePPKciffPPK7FxCurve_60
	cmp eax, 0x1
	jle _Z13FX_ParseCurvePPKciffPPK7FxCurve_70
	movss xmm1, dword [ebp-0x818]
	ucomiss xmm1, [_float_0_00000000]
	jnz _Z13FX_ParseCurvePPKciffPPK7FxCurve_80
	jp _Z13FX_ParseCurvePPKciffPPK7FxCurve_80
	lea eax, [eax*4-0x4]
	imul eax, edi
	movss xmm0, dword [_float_1_00000000]
	ucomiss xmm0, [ebp+eax-0x818]
	jp _Z13FX_ParseCurvePPKciffPPK7FxCurve_80
	jz _Z13FX_ParseCurvePPKciffPPK7FxCurve_90
_Z13FX_ParseCurvePPKciffPPK7FxCurve_80:
	mov dword [esp], _cstring_curves_must_alwa
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	add esp, 0x84c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13FX_ParseCurvePPKciffPPK7FxCurve_60:
	mov dword [esp], _cstring_curve_has_a_part
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	add esp, 0x84c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13FX_ParseCurvePPKciffPPK7FxCurve_90:
	ucomiss xmm1, [ebp+edi*4-0x818]
	jae _Z13FX_ParseCurvePPKciffPPK7FxCurve_100
	mov edx, 0x1
_Z13FX_ParseCurvePPKciffPPK7FxCurve_120:
	add edx, 0x1
	cmp ebx, edx
	jz _Z13FX_ParseCurvePPKciffPPK7FxCurve_110
	mov ecx, edx
	imul ecx, edi
	lea eax, [edx-0x1]
	imul eax, edi
	movss xmm0, dword [ebp+eax*4-0x818]
	ucomiss xmm0, [ebp+ecx*4-0x818]
	jb _Z13FX_ParseCurvePPKciffPPK7FxCurve_120
	mov edi, ecx
_Z13FX_ParseCurvePPKciffPPK7FxCurve_140:
	cvtss2sd xmm0, [ebp+eax*4-0x818]
	movsd [esp+0x10], xmm0
	cvtss2sd xmm0, [ebp+edi*4-0x818]
	movsd [esp+0x8], xmm0
	mov [esp+0x4], edx
	mov dword [esp], _cstring_curves_times_mus
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	jmp _Z13FX_ParseCurvePPKciffPPK7FxCurve_130
_Z13FX_ParseCurvePPKciffPPK7FxCurve_70:
	mov dword [esp], _cstring_curves_must_alwa1
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	jmp _Z13FX_ParseCurvePPKciffPPK7FxCurve_130
_Z13FX_ParseCurvePPKciffPPK7FxCurve_100:
	mov edx, 0x1
	xor eax, eax
	jmp _Z13FX_ParseCurvePPKciffPPK7FxCurve_140
_Z13FX_ParseCurvePPKciffPPK7FxCurve_110:
	mov [esp+0x8], edx
	mov edx, [ebp-0x828]
	mov [esp+0x4], edx
	lea eax, [ebp-0x818]
	mov [esp], eax
	call _Z30FxCurve_AllocAndCreateWithKeysPKfii
	mov edx, [ebp-0x834]
	mov [edx], eax
	mov eax, 0x1
	jmp _Z13FX_ParseCurvePPKciffPPK7FxCurve_130
_Z13FX_ParseCurvePPKciffPPK7FxCurve_30:
	mov eax, ebx
	xor edx, edx
	div edi
	mov [esp+0x8], eax
	mov eax, [ebp-0x828]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_idimensional_val
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	jmp _Z13FX_ParseCurvePPKciffPPK7FxCurve_130
	nop


;FX_ParseGraphRange(char const**, int, float, float, float*, FxCurve const**)
_Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov esi, eax
	mov edi, edx
	movss [ebp-0x1c], xmm0
	movss [ebp-0x20], xmm1
	mov ebx, ecx
	mov [esp], eax
	call _Z14Com_ParseFloatPPKc
	fstp dword [ebx]
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_
	mov [esp], esi
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jnz _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_10
_Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_20:
	xor eax, eax
_Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_30:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_10:
	mov ecx, [ebp+0x8]
	movss xmm1, dword [ebp-0x20]
	movss xmm0, dword [ebp-0x1c]
	mov edx, edi
	mov eax, esi
	call _Z13FX_ParseCurvePPKciffPPK7FxCurve
	test al, al
	jz _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_20
	mov ecx, [ebp+0x8]
	add ecx, 0x4
	movss xmm1, dword [ebp-0x20]
	movss xmm0, dword [ebp-0x1c]
	mov edx, edi
	mov eax, esi
	call _Z13FX_ParseCurvePPKciffPPK7FxCurve
	test al, al
	jz _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_20
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_1
	mov [esp], esi
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jz _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_20
	mov eax, 0x1
	jmp _Z18FX_ParseGraphRangePPKciffPfPPK7FxCurve_30
	nop


;FX_RegisterAsset_DecalMaterials(char const*, FxElemMarkVisuals*)
_Z31FX_RegisterAsset_DecalMaterialsPKcP17FxElemMarkVisuals:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0xc]
	mov [esp+0x4], eax
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z24FX_RegisterMarkMaterialsPKcPP8Material
	movzx eax, al
	leave
	ret
	nop


;FX_LoadFailed(char const*)
_Z13FX_LoadFailedPKc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov [ebp-0x1c], eax
	mov ecx, [fx_load+0x804]
	test ecx, ecx
	jz _Z13FX_LoadFailedPKc_10
	mov eax, [fx_load+0x804]
_Z13FX_LoadFailedPKc_60:
	mov edi, [eax]
	mov esi, 0xffffffff
	xor edx, edx
	cld
	mov ecx, esi
	mov eax, edx
	repne scasb
	not ecx
	mov eax, [fx_load+0x804]
	mov ebx, [eax+0x8]
	sub ebx, ecx
	mov dword [esp+0x4], 0x4
	mov ecx, esi
	mov edi, [ebp-0x1c]
	mov eax, edx
	repne scasb
	not ecx
	add ecx, ebx
	mov [esp], ecx
	call _Z23Hunk_AllocAlignInternalii
	mov esi, eax
	mov [esp+0x8], ebx
	mov eax, [fx_load+0x804]
	mov [esp+0x4], eax
	mov [esp], esi
	call memcpy
	lea ebx, [esi+ebx]
	mov [esi], ebx
	mov eax, [ebp-0x1c]
	mov [esp+0x4], eax
	mov [esp], ebx
	call strcpy
	mov ebx, esi
	sub ebx, [fx_load+0x804]
	mov edx, ebx
	add edx, [esi+0x1c]
	mov [esi+0x1c], edx
	mov eax, [esi+0x14]
	add eax, [esi+0x10]
	test eax, eax
	jle _Z13FX_LoadFailedPKc_20
	xor edi, edi
	xor ecx, ecx
	jmp _Z13FX_LoadFailedPKc_30
_Z13FX_LoadFailedPKc_40:
	mov edx, [esi+0x1c]
_Z13FX_LoadFailedPKc_30:
	add [ecx+edx+0xb4], ebx
	mov eax, ecx
	add eax, [esi+0x1c]
	add [eax+0xb8], ebx
	add edi, 0x1
	add ecx, 0xfc
	mov eax, [esi+0x14]
	add eax, [esi+0x10]
	cmp eax, edi
	jg _Z13FX_LoadFailedPKc_40
_Z13FX_LoadFailedPKc_20:
	mov eax, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13FX_LoadFailedPKc_10:
	mov dword [esp+0x4], _cstring_miscmissing_fx
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z13FX_LoadFailedPKc_50
_Z13FX_LoadFailedPKc_70:
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz edx, eax
	mov dword [esp], _cstring_miscmissing_fx
	call edx
	mov [fx_load+0x804], eax
	jmp _Z13FX_LoadFailedPKc_60
_Z13FX_LoadFailedPKc_50:
	mov dword [esp+0x4], _cstring_couldnt_load_def
	mov dword [esp], 0x1
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z13FX_LoadFailedPKc_70


;FX_AllocMem(int)
_Z11FX_AllocMemi:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov dword [esp+0x4], 0x4
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z23Hunk_AllocAlignInternalii
	leave
	ret
	nop


;FX_Register(char const*)
_Z11FX_RegisterPKc:
	push ebp
	mov ebp, esp
	mov eax, useFastFile
	mov eax, [eax]
	mov ecx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz ecx, eax
	pop ebp
	jmp ecx


;FX_UnregisterAll()
_Z16FX_UnregisterAllv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov dword [esp+0x8], 0x808
	mov dword [esp+0x4], 0x0
	mov dword [esp], fx_load
	call memset
	leave
	ret


;FX_ForEachEffectDef(void (*)(FxEffectDef const*, void*), void*)
_Z19FX_ForEachEffectDefPFvPK11FxEffectDefPvES2_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov edi, [ebp+0xc]
	mov ebx, fx_load
	mov esi, fx_load+0x800
_Z19FX_ForEachEffectDefPFvPK11FxEffectDefPvES2__20:
	mov eax, [ebx+0x4]
	test eax, eax
	jz _Z19FX_ForEachEffectDefPFvPK11FxEffectDefPvES2__10
	mov [esp+0x4], edi
	mov [esp], eax
	call dword [ebp+0x8]
_Z19FX_ForEachEffectDefPFvPK11FxEffectDefPvES2__10:
	add ebx, 0x4
	cmp esi, ebx
	jnz _Z19FX_ForEachEffectDefPFvPK11FxEffectDefPvES2__20
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;FX_LoadEditorEffect(char const*, FxEditorEffectDef*)
_Z19FX_LoadEditorEffectPKcP17FxEditorEffectDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x6c
	mov esi, [ebp+0x8]
	mov edi, [ebp+0xc]
	mov [esp+0xc], esi
	mov dword [esp+0x8], _cstring_fxsefx
	mov dword [esp+0x4], 0x40
	lea ebx, [ebp-0x5c]
	mov [esp], ebx
	call _Z11Com_sprintfPciPKcz
	lea eax, [ebp-0x1c]
	mov [esp+0x4], eax
	mov [esp], ebx
	call FS_ReadFile
	test eax, eax
	js _Z19FX_LoadEditorEffectPKcP17FxEditorEffectDef_10
	mov [esp+0x4], esi
	mov [esp], edi
	call strcpy
	mov [esp+0x8], edi
	mov [esp+0x4], ebx
	mov eax, [ebp-0x1c]
	mov [esp], eax
	call _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef
	mov ebx, eax
	mov eax, [ebp-0x1c]
	mov [esp], eax
	call FS_FreeFile
	movzx eax, bl
	add esp, 0x6c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z19FX_LoadEditorEffectPKcP17FxEditorEffectDef_10:
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_s_not_found
	mov dword [esp], 0x15
	call _Z14Com_PrintErroriPKcz
	xor eax, eax
	add esp, 0x6c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;FX_RegisterPhysPreset(char const*)
_Z21FX_RegisterPhysPresetPKc:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov dword [esp+0x4], _Z28Hunk_AllocPhysPresetPrecachei
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z18PhysPresetPrecachePKcPFPviE
	leave
	ret
	nop
	add [eax], al


;FX_RegisterDefaultEffect()
_Z24FX_RegisterDefaultEffectv:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z20FX_Register_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z19FX_Register_LoadObjPKc
	cmovz edx, eax
	mov dword [esp], _cstring_miscmissing_fx
	call edx
	mov [fx_load+0x804], eax
	leave
	ret


;FX_RegisterMarkMaterials(char const*, Material**)
_Z24FX_RegisterMarkMaterialsPKcPP8Material:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x13c
	mov ecx, 0x9
	cld
	mov esi, [ebp+0x8]
	mov edi, _cstring_default
	repe cmpsb
	mov eax, 0x0
	jz _Z24FX_RegisterMarkMaterialsPKcPP8Material_10
	movzx eax, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub eax, ecx
_Z24FX_RegisterMarkMaterialsPKcPP8Material_10:
	test eax, eax
	mov eax, _cstring_default3d
	cmovnz eax, [ebp+0x8]
	mov [ebp+0x8], eax
	mov byte [ebp-0x119], 0x1
	xor ebx, ebx
_Z24FX_RegisterMarkMaterialsPKcPP8Material_40:
	mov [esp+0x10], eax
	mov eax, [ebx+typePrefixes.130273]
	mov [esp+0xc], eax
	mov dword [esp+0x8], _cstring_ss
	mov dword [esp+0x4], 0x100
	lea edx, [ebp-0x118]
	mov [esp], edx
	call _Z11Com_sprintfPciPKcz
	mov ecx, 0x9
	cld
	lea esi, [ebp-0x118]
	mov edi, _cstring_default
	repe cmpsb
	mov edx, 0x0
	jz _Z24FX_RegisterMarkMaterialsPKcPP8Material_20
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z24FX_RegisterMarkMaterialsPKcPP8Material_20:
	mov eax, _cstring_default3d
	test edx, edx
	lea edx, [ebp-0x118]
	cmovnz eax, edx
	mov dword [esp+0x4], 0x6
	mov [esp], eax
	call _Z23Material_RegisterHandlePKci
	mov edx, [ebp+0xc]
	mov [ebx+edx], eax
	test eax, eax
	mov eax, 0x0
	movzx edx, byte [ebp-0x119]
	cmovz edx, eax
	mov [ebp-0x119], dl
	add ebx, 0x4
	cmp ebx, 0x8
	jnz _Z24FX_RegisterMarkMaterialsPKcPP8Material_30
	movzx eax, dl
	add esp, 0x13c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z24FX_RegisterMarkMaterialsPKcPP8Material_30:
	mov eax, [ebp+0x8]
	jmp _Z24FX_RegisterMarkMaterialsPKcPP8Material_40
	nop


;FX_LoadEditorEffectFromBuffer(char const*, char const*, FxEditorEffectDef*)
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov eax, [ebp+0xc]
	mov [esp], eax
	call _Z21Com_BeginParseSessionPKc
	mov dword [esp], 0x0
	call _Z21Com_SetSpaceDelimitedi
	mov dword [esp], 0x1
	call _Z27Com_SetParseNegativeNumbersi
	mov eax, [ebp+0x8]
	mov [ebp-0x1c], eax
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov dword [esp+0x4], _cstring_iwfx
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_10
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z12Com_ParseIntPPKc
	mov [ebp-0x30], eax
	cmp eax, 0x2
	jg _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_20
	mov eax, [ebp+0x10]
	mov dword [eax+0x40], 0x0
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_180:
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z9Com_ParsePPKc
	mov edx, [ebp-0x1c]
	test edx, edx
	jz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_30
	cmp byte [eax], 0x7b
	jnz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_40
	mov eax, [ebp+0x10]
	mov edx, [eax+0x40]
	cmp edx, 0x20
	jz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_50
	mov eax, edx
	shl eax, 0x5
	add eax, edx
	lea eax, [edx+eax*4]
	lea eax, [edx+eax*2]
	mov edx, [ebp+0x10]
	lea eax, [edx+eax*8+0x44]
	mov [ebp-0x2c], eax
	mov dword [esp+0x8], 0x858
	mov dword [esp+0x4], 0x0
	mov [esp], eax
	call memset
	cmp dword [ebp-0x30], 0x1
	jle _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_60
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_160:
	mov edx, [ebp-0x2c]
	mov byte [edx+0x1bc], 0xb
	mov dword [edx+0x1a4], 0x5
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_130:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov edi, eax
	cmp byte [eax], 0x7d
	jz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_70
	xor esi, esi
	mov ebx, s_elemFields
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_80
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_100:
	add esi, 0x1
	add ebx, 0x8
	cmp esi, 0x45
	jz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_90
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_80:
	mov eax, [ebx]
	mov [esp+0x4], eax
	mov [esp], edi
	call strcmp
	test eax, eax
	jnz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_100
	mov edx, [ebp-0x2c]
	mov [esp+0x4], edx
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call dword [esi*8+s_elemFields+0x4]
	test al, al
	jnz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_110
	xor eax, eax
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_140:
	movzx ebx, al
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_120:
	call _Z19Com_EndParseSessionv
	mov eax, ebx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_10:
	mov dword [esp], _cstring_effect_needs_to_
	call _Z15Com_ScriptErrorPKcz
	xor ebx, ebx
	call _Z19Com_EndParseSessionv
	mov eax, ebx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_20:
	mov dword [esp+0x8], 0x2
	mov [esp+0x4], eax
	mov dword [esp], _cstring_version_i_is_too
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	movzx ebx, al
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_120
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_110:
	mov dword [esp+0x8], 0x1
	mov dword [esp+0x4], _cstring_2
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z14Com_MatchTokenPPKcS0_i
	test eax, eax
	jnz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_130
	xor eax, eax
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_140
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_90:
	mov dword [esp+0x4], _cstring_valid_effects_el
	mov dword [esp], 0x15
	call _Z10Com_PrintfiPKcz
	mov ebx, s_elemFields
	mov esi, typePrefixes.130273
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_150:
	mov eax, [ebx]
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring___s
	mov dword [esp], 0x15
	call _Z10Com_PrintfiPKcz
	add ebx, 0x8
	cmp esi, ebx
	jnz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_150
	mov [esp+0x4], edi
	mov dword [esp], _cstring_unkown_field_s
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_140
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_60:
	mov eax, [ebp-0x2c]
	mov dword [eax+0x30], 0x400
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_160
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_70:
	mov eax, [ebp-0x2c]
	cmp byte [eax+0x1bc], 0xb
	jz _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_170
	mov edx, [ebp+0x10]
	add dword [edx+0x40], 0x1
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_180
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_30:
	mov eax, 0x1
	movzx ebx, al
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_120
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_40:
	mov [esp+0x4], eax
	mov dword [esp], _cstring_expected__to_sta
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	movzx ebx, al
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_120
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_50:
	mov dword [esp+0x4], 0x20
	mov dword [esp], _cstring_cannot_have_more
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	movzx ebx, al
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_120
_Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_170:
	mov dword [esp], _cstring_no_visual_type_s
	call _Z15Com_ScriptErrorPKcz
	xor eax, eax
	jmp _Z29FX_LoadEditorEffectFromBufferPKcS0_P17FxEditorEffectDef_140
	nop


;Initialized global or static variables of fx_load_obj:
SECTION .data


;Initialized constant data of fx_load_obj:
SECTION .rdata
s_elemFields: dd _cstring_name, _Z12FX_ParseNamePPKcP15FxEditorElemDef, _cstring_editorflags, _Z21FX_ParseNonAtlasFlagsPPKcP15FxEditorElemDef, _cstring_flags, _Z21FX_ParseNonAtlasFlagsPPKcP15FxEditorElemDef, _cstring_spawnrange, _Z18FX_ParseSpawnRangePPKcP15FxEditorElemDef, _cstring_fadeinrange, _Z19FX_ParseFadeInRangePPKcP15FxEditorElemDef, _cstring_fadeoutrange, _Z20FX_ParseFadeOutRangePPKcP15FxEditorElemDef, _cstring_spawnfrustumcull, _Z30FX_ParseSpawnFrustumCullRadiusPPKcP15FxEditorElemDef, _cstring_spawnlooping, _Z23FX_ParseSpawnDefLoopingPPKcP15FxEditorElemDef, _cstring_spawnoneshot, _Z23FX_ParseSpawnDefOneShotPPKcP15FxEditorElemDef, _cstring_spawndelaymsec, _Z22FX_ParseSpawnDelayMsecPPKcP15FxEditorElemDef, _cstring_lifespanmsec, _Z20FX_ParseLifeSpanMsecPPKcP15FxEditorElemDef, _cstring_spawnorgx, _Z17FX_ParseSpawnOrgXPPKcP15FxEditorElemDef, _cstring_spawnorgy, _Z17FX_ParseSpawnOrgYPPKcP15FxEditorElemDef, _cstring_spawnorgz, _Z17FX_ParseSpawnOrgZPPKcP15FxEditorElemDef, _cstring_spawnoffsetradiu, _Z25FX_ParseSpawnOffsetRadiusPPKcP15FxEditorElemDef, _cstring_spawnoffsetheigh, _Z25FX_ParseSpawnOffsetHeightPPKcP15FxEditorElemDef, _cstring_spawnanglepitch, _Z23FX_ParseSpawnAnglePitchPPKcP15FxEditorElemDef, _cstring_spawnangleyaw, _Z21FX_ParseSpawnAngleYawPPKcP15FxEditorElemDef, _cstring_spawnangleroll, _Z22FX_ParseSpawnAngleRollPPKcP15FxEditorElemDef, _cstring_anglevelpitch, _Z21FX_ParseAngleVelPitchPPKcP15FxEditorElemDef, _cstring_anglevelyaw, _Z19FX_ParseAngleVelYawPPKcP15FxEditorElemDef, _cstring_anglevelroll, _Z20FX_ParseAngleVelRollPPKcP15FxEditorElemDef, _cstring_initialrot, _Z18FX_ParseInitialRotPPKcP15FxEditorElemDef, _cstring_gravity, _Z15FX_ParseGravityPPKcP15FxEditorElemDef, _cstring_elasticity, _Z18FX_ParseElasticityPPKcP15FxEditorElemDef, _cstring_atlasbehavior, _Z21FX_ParseAtlasBehaviorPPKcP15FxEditorElemDef, _cstring_atlasindex, _Z18FX_ParseAtlasIndexPPKcP15FxEditorElemDef, _cstring_atlasfps, _Z16FX_ParseAtlasFpsPPKcP15FxEditorElemDef, _cstring_atlasloopcount, _Z22FX_ParseAtlasLoopCountPPKcP15FxEditorElemDef, _cstring_atlascolindexbit, _Z25FX_ParseAtlasColIndexBitsPPKcP15FxEditorElemDef, _cstring_atlasrowindexbit, _Z25FX_ParseAtlasRowIndexBitsPPKcP15FxEditorElemDef, _cstring_atlasentrycount, _Z23FX_ParseAtlasEntryCountPPKcP15FxEditorElemDef, _cstring_velgraph0x, _Z18FX_ParseVelGraph0XPPKcP15FxEditorElemDef, _cstring_velgraph0y, _Z18FX_ParseVelGraph0YPPKcP15FxEditorElemDef, _cstring_velgraph0z, _Z18FX_ParseVelGraph0ZPPKcP15FxEditorElemDef, _cstring_velgraph1x, _Z18FX_ParseVelGraph1XPPKcP15FxEditorElemDef, _cstring_velgraph1y, _Z18FX_ParseVelGraph1YPPKcP15FxEditorElemDef, _cstring_velgraph1z, _Z18FX_ParseVelGraph1ZPPKcP15FxEditorElemDef, _cstring_rotgraph, _Z16FX_ParseRotGraphPPKcP15FxEditorElemDef, _cstring_sizegraph0, _Z18FX_ParseSizeGraph0PPKcP15FxEditorElemDef, _cstring_sizegraph1, _Z18FX_ParseSizeGraph1PPKcP15FxEditorElemDef, _cstring_scalegraph, _Z18FX_ParseScaleGraphPPKcP15FxEditorElemDef, _cstring_colorgraph, _Z18FX_ParseColorGraphPPKcP15FxEditorElemDef, _cstring_alphagraph, _Z18FX_ParseAlphaGraphPPKcP15FxEditorElemDef, _cstring_lightingfrac, _Z20FX_ParseLightingFracPPKcP15FxEditorElemDef, _cstring_colloffset, _Z18FX_ParseCollOffsetPPKcP15FxEditorElemDef, _cstring_collradius, _Z18FX_ParseCollRadiusPPKcP15FxEditorElemDef, _cstring_fxonimpact, _Z18FX_ParseFxOnImpactPPKcP15FxEditorElemDef, _cstring_fxondeath, _Z17FX_ParseFxOnDeathPPKcP15FxEditorElemDef, _cstring_sortorder, _Z17FX_ParseSortOrderPPKcP15FxEditorElemDef, _cstring_emission, _Z16FX_ParseEmissionPPKcP15FxEditorElemDef, _cstring_emitdist, _Z16FX_ParseEmitDistPPKcP15FxEditorElemDef, _cstring_emitdistvariance, _Z24FX_ParseEmitDistVariancePPKcP15FxEditorElemDef, _cstring_trailrepeattime, _Z23FX_ParseTrailRepeatTimePPKcP15FxEditorElemDef, _cstring_trailsplitdist, _Z22FX_ParseTrailSplitDistPPKcP15FxEditorElemDef, _cstring_trailscrolltime, _Z23FX_ParseTrailScrollTimePPKcP15FxEditorElemDef, _cstring_trailrepeatdist, _Z23FX_ParseTrailRepeatDistPPKcP15FxEditorElemDef, _cstring_traildef, _Z16FX_ParseTrailDefPPKcP15FxEditorElemDef, _cstring_billboardsprite, _Z23FX_ParseBillboardSpritePPKcP15FxEditorElemDef, _cstring_orientedsprite, _Z22FX_ParseOrientedSpritePPKcP15FxEditorElemDef, _cstring_cloud, _Z13FX_ParseCloudPPKcP15FxEditorElemDef, _cstring_tail, _Z12FX_ParseTailPPKcP15FxEditorElemDef, _cstring_trail, _Z13FX_ParseTrailPPKcP15FxEditorElemDef, _cstring_decal, _Z13FX_ParseDecalPPKcP15FxEditorElemDef, _cstring_model, _Z13FX_ParseModelPPKcP15FxEditorElemDef, _cstring_light, _Z13FX_ParseLightPPKcP15FxEditorElemDef, _cstring_spotlight, _Z17FX_ParseSpotLightPPKcP15FxEditorElemDef, _cstring_runner, _Z14FX_ParseRunnerPPKcP15FxEditorElemDef, _cstring_sound, _Z13FX_ParseSoundPPKcP15FxEditorElemDef
typePrefixes.130273: dd _cstring_mc, _cstring_wc, 0x0, 0x0, 0x0, 0x0
s_allFlagDefs: dd _cstring_looping, 0x0, 0x1, 0x1, _cstring_userandcolor, 0x0, 0x2, 0x2, _cstring_userandalpha, 0x0, 0x4, 0x4, _cstring_userandsize0, 0x0, 0x8, 0x8, _cstring_userandsize1, 0x0, 0x10, 0x10, _cstring_userandscale, 0x0, 0x20, 0x20, _cstring_userandrotdelta, 0x0, 0x40, 0x40, _cstring_modcolorbyalpha, 0x0, 0x80, 0x80, _cstring_userandvel0, 0x0, 0x100, 0x100, _cstring_userandvel1, 0x0, 0x200, 0x200, _cstring_usebackcompatvel, 0x0, 0x400, 0x400, _cstring_absvel0, 0x0, 0x800, 0x800, _cstring_absvel1, 0x0, 0x1000, 0x1000, _cstring_playontouch, 0x0, 0x2000, 0x2000, _cstring_playondeath, 0x0, 0x4000, 0x4000, _cstring_playonrun, 0x0, 0x8000, 0x8000, _cstring_boundingsphere, 0x0, 0x10000, 0x10000, _cstring_useitemclip, 0x0, 0x20000, 0x20000, _cstring_disabled, 0x0, 0x80000000, 0x80000000, _cstring_spawnrelative, 0x1, 0x2, 0x2, _cstring_spawnfrustumcull1, 0x1, 0x4, 0x4, _cstring_runnerusesrandro, 0x1, 0x8, 0x8, _cstring_spawnoffsetnone, 0x1, 0x30, 0x0, _cstring_spawnoffsetspher, 0x1, 0x30, 0x10, _cstring_spawnoffsetcylin, 0x1, 0x30, 0x20, _cstring_runreltoworld, 0x1, 0xc0, 0x0, _cstring_runreltospawn, 0x1, 0xc0, 0x40, _cstring_runreltoeffect, 0x1, 0xc0, 0x80, _cstring_runreltooffset, 0x1, 0xc0, 0xc0, _cstring_usecollision, 0x1, 0x100, 0x100, _cstring_dieontouch, 0x1, 0x200, 0x200, _cstring_drawpastfog, 0x1, 0x400, 0x400, _cstring_drawwithviewmode, 0x1, 0x800, 0x800, _cstring_blockssight, 0x1, 0x1000, 0x1000, _cstring_modelusesphysics, 0x1, 0x8000000, 0x8000000, _cstring_nonuniformscale, 0x1, 0x10000000, 0x10000000, _cstring_startfixed, 0x2, 0x3, 0x0, _cstring_startrandom, 0x2, 0x3, 0x1, _cstring_startindexed, 0x2, 0x3, 0x2, _cstring_playoverlife, 0x2, 0x4, 0x4, _cstring_looponlyntimes, 0x2, 0x8, 0x8, 0x0, 0x0, 0x0, 0x0


;Zero initialized global or static variables of fx_load_obj:
SECTION .bss
fx_load: resb 0x880


;All cstrings:
SECTION .rdata
_cstring_:		db "{",0
_cstring_ran_out_of_trail:		db "ran out of trail inds in edElemDef->trailDef",0ah,0
_cstring_ran_out_of_trail1:		db "ran out of trail verts in edElemDef->trailDef",0ah,0
_cstring_more_than_one_ty:		db "More than one type of visuals present in effect element",0ah,0
_cstring_more_than_i_visu:		db "More than %i visuals in array",0ah,0
_cstring_valid_flags:		db "Valid flags:",0ah,0
_cstring___s:		db "  %s",0ah,0
_cstring_unknown_flag_s:		db "Unknown flag ",27h,"%s",27h,0ah,0
_cstring_default:		db "$default",0
_cstring_default3d:		db "$default3d",0
_cstring_curves_must_alwa:		db "Curves must always start at time 0 and end at time 1.",0ah,0
_cstring_curve_has_a_part:		db "Curve has a partial key.",0ah,0
_cstring_curves_times_mus:		db "Curves times must be monotonically increasing (key %i is at %g <= %g).",0ah,0
_cstring_curves_must_alwa1:		db "Curves must always have at least 2 keys.",0ah,0
_cstring_idimensional_val:		db "%i-dimensional values cannot have more than %i keys.",0ah,0
_cstring_1:		db "}",0
_cstring_miscmissing_fx:		db "misc/missing_fx",0
_cstring_couldnt_load_def:		db "Couldn",27h,"t load default effect",0
_cstring_fxsefx:		db "fx/%s.efx",0
_cstring_s_not_found:		db "%s not found",0ah,0
_cstring_ss:		db "%s/%s",0
_cstring_iwfx:		db "iwfx",0
_cstring_effect_needs_to_:		db "Effect needs to be updated from the legacy format.",0ah,0
_cstring_version_i_is_too:		db "Version %i is too high. I can only handle up to %i.",0ah,0
_cstring_2:		db ";",0
_cstring_valid_effects_el:		db "Valid effects element fields:",0ah,0
_cstring_unkown_field_s:		db "unkown field ",27h,"%s",27h,0ah,0
_cstring_expected__to_sta:		db "Expected ",27h,"{",27h," to start a new segment, found ",27h,"%s",27h," instead.",0ah,0
_cstring_cannot_have_more:		db "Cannot have more than %i segments.",0ah,0
_cstring_no_visual_type_s:		db "no visual type specified",0ah,0
_cstring_name:		db "name",0
_cstring_editorflags:		db "editorFlags",0
_cstring_flags:		db "flags",0
_cstring_spawnrange:		db "spawnRange",0
_cstring_fadeinrange:		db "fadeInRange",0
_cstring_fadeoutrange:		db "fadeOutRange",0
_cstring_spawnfrustumcull:		db "spawnFrustumCullRadius",0
_cstring_spawnlooping:		db "spawnLooping",0
_cstring_spawnoneshot:		db "spawnOneShot",0
_cstring_spawndelaymsec:		db "spawnDelayMsec",0
_cstring_lifespanmsec:		db "lifeSpanMsec",0
_cstring_spawnorgx:		db "spawnOrgX",0
_cstring_spawnorgy:		db "spawnOrgY",0
_cstring_spawnorgz:		db "spawnOrgZ",0
_cstring_spawnoffsetradiu:		db "spawnOffsetRadius",0
_cstring_spawnoffsetheigh:		db "spawnOffsetHeight",0
_cstring_spawnanglepitch:		db "spawnAnglePitch",0
_cstring_spawnangleyaw:		db "spawnAngleYaw",0
_cstring_spawnangleroll:		db "spawnAngleRoll",0
_cstring_anglevelpitch:		db "angleVelPitch",0
_cstring_anglevelyaw:		db "angleVelYaw",0
_cstring_anglevelroll:		db "angleVelRoll",0
_cstring_initialrot:		db "initialRot",0
_cstring_gravity:		db "gravity",0
_cstring_elasticity:		db "elasticity",0
_cstring_atlasbehavior:		db "atlasBehavior",0
_cstring_atlasindex:		db "atlasIndex",0
_cstring_atlasfps:		db "atlasFps",0
_cstring_atlasloopcount:		db "atlasLoopCount",0
_cstring_atlascolindexbit:		db "atlasColIndexBits",0
_cstring_atlasrowindexbit:		db "atlasRowIndexBits",0
_cstring_atlasentrycount:		db "atlasEntryCount",0
_cstring_velgraph0x:		db "velGraph0X",0
_cstring_velgraph0y:		db "velGraph0Y",0
_cstring_velgraph0z:		db "velGraph0Z",0
_cstring_velgraph1x:		db "velGraph1X",0
_cstring_velgraph1y:		db "velGraph1Y",0
_cstring_velgraph1z:		db "velGraph1Z",0
_cstring_rotgraph:		db "rotGraph",0
_cstring_sizegraph0:		db "sizeGraph0",0
_cstring_sizegraph1:		db "sizeGraph1",0
_cstring_scalegraph:		db "scaleGraph",0
_cstring_colorgraph:		db "colorGraph",0
_cstring_alphagraph:		db "alphaGraph",0
_cstring_lightingfrac:		db "lightingFrac",0
_cstring_colloffset:		db "collOffset",0
_cstring_collradius:		db "collRadius",0
_cstring_fxonimpact:		db "fxOnImpact",0
_cstring_fxondeath:		db "fxOnDeath",0
_cstring_sortorder:		db "sortOrder",0
_cstring_emission:		db "emission",0
_cstring_emitdist:		db "emitDist",0
_cstring_emitdistvariance:		db "emitDistVariance",0
_cstring_trailrepeattime:		db "trailRepeatTime",0
_cstring_trailsplitdist:		db "trailSplitDist",0
_cstring_trailscrolltime:		db "trailScrollTime",0
_cstring_trailrepeatdist:		db "trailRepeatDist",0
_cstring_traildef:		db "trailDef",0
_cstring_billboardsprite:		db "billboardSprite",0
_cstring_orientedsprite:		db "orientedSprite",0
_cstring_cloud:		db "cloud",0
_cstring_tail:		db "tail",0
_cstring_trail:		db "trail",0
_cstring_decal:		db "decal",0
_cstring_model:		db "model",0
_cstring_light:		db "light",0
_cstring_spotlight:		db "spotLight",0
_cstring_runner:		db "runner",0
_cstring_sound:		db "sound",0
_cstring_mc:		db "mc",0
_cstring_wc:		db "wc",0
_cstring_looping:		db "looping",0
_cstring_userandcolor:		db "useRandColor",0
_cstring_userandalpha:		db "useRandAlpha",0
_cstring_userandsize0:		db "useRandSize0",0
_cstring_userandsize1:		db "useRandSize1",0
_cstring_userandscale:		db "useRandScale",0
_cstring_userandrotdelta:		db "useRandRotDelta",0
_cstring_modcolorbyalpha:		db "modColorByAlpha",0
_cstring_userandvel0:		db "useRandVel0",0
_cstring_userandvel1:		db "useRandVel1",0
_cstring_usebackcompatvel:		db "useBackCompatVel",0
_cstring_absvel0:		db "absVel0",0
_cstring_absvel1:		db "absVel1",0
_cstring_playontouch:		db "playOnTouch",0
_cstring_playondeath:		db "playOnDeath",0
_cstring_playonrun:		db "playOnRun",0
_cstring_boundingsphere:		db "boundingSphere",0
_cstring_useitemclip:		db "useItemClip",0
_cstring_disabled:		db "disabled",0
_cstring_spawnrelative:		db "spawnRelative",0
_cstring_spawnfrustumcull1:		db "spawnFrustumCull",0
_cstring_runnerusesrandro:		db "runnerUsesRandRot",0
_cstring_spawnoffsetnone:		db "spawnOffsetNone",0
_cstring_spawnoffsetspher:		db "spawnOffsetSphere",0
_cstring_spawnoffsetcylin:		db "spawnOffsetCylinder",0
_cstring_runreltoworld:		db "runRelToWorld",0
_cstring_runreltospawn:		db "runRelToSpawn",0
_cstring_runreltoeffect:		db "runRelToEffect",0
_cstring_runreltooffset:		db "runRelToOffset",0
_cstring_usecollision:		db "useCollision",0
_cstring_dieontouch:		db "dieOnTouch",0
_cstring_drawpastfog:		db "drawPastFog",0
_cstring_drawwithviewmode:		db "drawWithViewModel",0
_cstring_blockssight:		db "blocksSight",0
_cstring_modelusesphysics:		db "modelUsesPhysics",0
_cstring_nonuniformscale:		db "nonUniformScale",0
_cstring_startfixed:		db "startFixed",0
_cstring_startrandom:		db "startRandom",0
_cstring_startindexed:		db "startIndexed",0
_cstring_playoverlife:		db "playOverLife",0
_cstring_looponlyntimes:		db "loopOnlyNTimes",0



;All constant floats and doubles:
SECTION .rdata
_float_0_50000000:		dd 0x3f000000	; 0.5
_float__0_50000000:		dd 0xbf000000	; -0.5
_float_1_00000000:		dd 0x3f800000	; 1
_float_0_00000000:		dd 0x0	; 0

