;Imports of scr_variable:
	extern _Z18FS_FOpenFileByModePKcPi8fsMode_t
	extern Hunk_AllocateTempMemoryHigh
	extern _Z7FS_ReadPvii
	extern _Z13FS_FCloseFilei
	extern _Z2vaPKcz
	extern _Z9Com_Error11errorParm_tPKcz
	extern _Z19DB_FindXAssetHeader10XAssetTypePKc
	extern _Z10TempMalloci
	extern sprintf
	extern FS_ListFiles
	extern FS_FreeFileList
	extern useFastFile
	extern _Z21Com_BeginParseSessionPKc
	extern _Z9Com_ParsePPKc
	extern tolower
	extern _Z21SL_GetCanonicalStringPKc
	extern _Z16TempMemorySetPosPc
	extern strcpy
	extern _Z19Com_EndParseSessionv
	extern Hunk_ClearTempMemoryHigh
	extern _Z9I_stricmpPKcS0_
	extern _Z17Scr_TerminalErrorPKc
	extern _Z17SL_AddRefToStringj
	extern _Z20SL_RemoveRefToStringj
	extern _Z7MT_FreePvi
	extern _Z19GetEntityFieldValuejii
	extern _Z8MT_Allocii
	extern _Z9Scr_ErrorPKc
	extern _Z18SL_ConvertToStringj
	extern _Z15SL_GetStringLenj
	extern _Z21SL_GetStringForVectorPKf
	extern SL_GetStringOfSize
	extern _Z20SL_GetStringForFloatf
	extern _Z18SL_GetStringForInti
	extern _Z20SL_ConvertFromStringPKc
	extern _Z15VM_CancelNotifyjj
	extern _Z20Scr_CancelNotifyListj
	extern _Z13Scr_MakeArrayv
	extern _Z12Scr_AddArrayv
	extern _Z18Scr_AddConstStringj
	extern _Z10Scr_AddInti
	extern SL_GetString_
	extern _Z19SetEntityFieldValuejiiP13VariableValue
	extern _Z12Scr_GetAnimsj
	extern _Z21XAnimGetAnimDebugNamePK7XAnim_sj
	extern Z_TryVirtualAllocInternal
	extern qsort
	extern _Z10Com_PrintfiPKcz
	extern Z_VirtualFreeInternal
	extern _Z20Scr_PrintPrevCodePosiPKcj

;Exports of scr_variable:
	global _Z17ThreadInfoComparePKvS0_
	global _Z25Scr_GetSourceFile_LoadObjPKc
	global _Z26Scr_GetSourceFile_FastFilePKc
	global _Z22Scr_AddFields_FastFilePKcS0_
	global _Z21Scr_AddFields_LoadObjPKcS0_
	global _Z18Scr_GetObjectUsagej
	global _Z20Scr_AddFieldsForFilePKc
	global _Z28GetNewVariableIndexInternal3jjj
	global _Z9CopyArrayjj
	global _Z20MakeVariableExternaljP21VariableValueInternal
	global _Z27Scr_EvalVariableEntityFieldjj
	global _Z22Scr_MakeValuePrimitivej
	global _Z18Scr_CastWeakerPairP13VariableValueS0_
	global _Z10AllocValuev
	global _Z10ClearArrayjP13VariableValue
	global _Z10FindObjectj
	global _Z10GetObjectAj
	global _Z10Scr_EvalOrP13VariableValueS0_
	global _Z11AllocObjectv
	global _Z11AllocThreadj
	global _Z11ClearObjectj
	global _Z11GetVariablejj
	global _Z11Scr_EvalAndP13VariableValueS0_
	global _Z11Scr_EvalModP13VariableValueS0_
	global _Z11Scr_GetSelfj
	global _Z12FindEntityIdij
	global _Z12FindVariablejj
	global _Z12GetArraySizej
	global _Z12GetValueTypej
	global _Z12IsObjectFreej
	global _Z12Scr_CastBoolP13VariableValue
	global _Z12Scr_EvalExOrP13VariableValueS0_
	global _Z12Scr_EvalLessP13VariableValueS0_
	global _Z12Scr_EvalPlusP13VariableValueS0_
	global _Z12Scr_GetVarIdj
	global _Z13AddRefToValuei13VariableUnion
	global _Z13GetObjectTypej
	global _Z13IsFieldObjectj
	global _Z13Scr_AddFieldsPKcS0_
	global _Z13Scr_EvalArrayP13VariableValueS0_
	global _Z13Scr_EvalMinusP13VariableValueS0_
	global _Z13Scr_FindFieldPKcPi
	global _Z13Scr_FreeValuej
	global _Z13Scr_GetOffsetjPKc
	global _Z14AddRefToObjectj
	global _Z14GetNewVariablejj
	global _Z14RemoveVariablejj
	global _Z14Scr_AllocArrayv
	global _Z14Scr_CastStringP13VariableValue
	global _Z14Scr_CastVectorP13VariableValue
	global _Z14Scr_EvalDivideP13VariableValueS0_
	global _Z14Scr_KillThreadj
	global _Z14Scr_StopThreadj
	global _Z15FindLastSiblingj
	global _Z15FindNextSiblingj
	global _Z15FindPrevSiblingj
	global _Z15GetStartLocalIdj
	global _Z15GetVariableNamej
	global _Z15Scr_AllocVectorPKf
	global _Z15Scr_EvalBoolNotP13VariableValue
	global _Z15Scr_EvalGreaterP13VariableValueS0_
	global _Z15Scr_FreeObjectsv
	global _Z15Scr_GetEntityIdij
	global _Z15Scr_SetClassMapj
	global _Z16AllocChildThreadjj
	global _Z16FindFirstSiblingj
	global _Z16GetArrayVariablejj
	global _Z16GetParentLocalIdj
	global _Z16RemoveRefToValuei13VariableUnion
	global _Z16Scr_AddArrayKeysj
	global _Z16Scr_EvalArrayRefj
	global _Z16Scr_EvalEqualityP13VariableValueS0_
	global _Z16Scr_EvalMultiplyP13VariableValueS0_
	global _Z16Scr_EvalVariablej
	global _Z16Scr_InitClassMapv
	global _Z16SetVariableValuejP13VariableValue
	global _Z17FindArrayVariableji
	global _Z17GetObjectVariablejj
	global _Z17IsValidArrayIndexj
	global _Z17RemoveRefToObjectj
	global _Z17RemoveRefToVectorPKf
	global _Z17Scr_AddClassFieldjPKcj
	global _Z17Scr_ClearWaitTimej
	global _Z17Scr_EvalLessEqualP13VariableValueS0_
	global _Z17Scr_EvalShiftLeftP13VariableValueS0_
	global _Z17Scr_EvalSizeValueP13VariableValue
	global _Z17Scr_FreeEntityNumij
	global _Z17Scr_InitVariablesv
	global _Z18ClearVariableFieldjjP13VariableValue
	global _Z18ClearVariableValuej
	global _Z18FindObjectVariablejj
	global _Z18RemoveNextVariablej
	global _Z18SafeRemoveVariablejj
	global _Z18Scr_EvalInequalityP13VariableValueS0_
	global _Z18Scr_EvalShiftRightP13VariableValueS0_
	global _Z18Scr_FreeEntityListv
	global _Z18Scr_GetEntityIdRefj
	global _Z18Scr_RemoveClassMapj
	global _Z19GetNewArrayVariablejj
	global _Z19RemoveVariableValuejj
	global _Z19Scr_CastDebugStringP13VariableValue
	global _Z19Scr_EvalFieldObjectjP13VariableValue
	global _Z19Scr_KillEndonThreadj
	global _Z19SetNewVariableValuejP13VariableValue
	global _Z20GetNewObjectVariablejj
	global _Z20GetSafeParentLocalIdj
	global _Z20GetVariableKeyObjectj
	global _Z20RemoveObjectVariablejj
	global _Z20Scr_EvalGreaterEqualP13VariableValueS0_
	global _Z20Scr_FreeGameVariablei
	global _Z20Scr_GetNumScriptVarsv
	global _Z21GetArrayVariableIndexjj
	global _Z21Scr_AllocGameVariablev
	global _Z21Scr_DumpScriptThreadsv
	global _Z21Scr_EvalVariableFieldj
	global _Z21Scr_FindVariableFieldjj
	global _Z21Scr_GetThreadWaitTimej
	global _Z21Scr_SetThreadWaitTimejj
	global _Z21Scr_ShutdownVariablesv
	global _Z21SetVariableFieldValuejP13VariableValue
	global _Z22RemoveRefToEmptyObjectj
	global _Z22Scr_EvalBinaryOperatoriP13VariableValueS0_
	global _Z22Scr_EvalBoolComplementP13VariableValue
	global _Z22Scr_EvalVariableObjectj
	global _Z23GetVariableValueAddressj
	global _Z23Scr_GetThreadNotifyNamej
	global _Z23Scr_SetThreadNotifyNamejj
	global _Z24GetInternalVariableIndexj
	global _Z24GetVariableIndexInternaljj
	global _Z24Scr_GetClassnumForCharIdc
	global _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
	global _Z25Scr_GetVariableFieldIndexjj
	global _Z26Scr_RemoveThreadNotifyNamej
	global _Z27GetNewObjectVariableReversejj
	global _Z27SetVariableEntityFieldValuejjP13VariableValue
	global _Z30Scr_DumpScriptVariablesDefaultv
	global _Z8GetArrayj
	global _Z9FreeValuej
	global scrVarPub
	global var_typename
	global g_classMap
	global scrVarGlob


SECTION .text


;ThreadInfoCompare(void const*, void const*)
_Z17ThreadInfoComparePKvS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x4
	mov esi, [ebp+0x8]
	mov edi, [ebp+0xc]
	mov ecx, [esi+0x80]
	test ecx, ecx
	jg _Z17ThreadInfoComparePKvS0__10
	mov ebx, [edi+0x80]
_Z17ThreadInfoComparePKvS0__20:
	mov eax, ecx
	sub eax, ebx
	add esp, 0x4
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17ThreadInfoComparePKvS0__10:
	mov ebx, [edi+0x80]
	test ebx, ebx
	jle _Z17ThreadInfoComparePKvS0__20
	mov edx, [esi]
	mov eax, [edi]
	cmp eax, edx
	jz _Z17ThreadInfoComparePKvS0__30
	sub edx, eax
	mov eax, edx
_Z17ThreadInfoComparePKvS0__50:
	add esp, 0x4
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17ThreadInfoComparePKvS0__30:
	mov [ebp-0x10], esi
	xor esi, esi
_Z17ThreadInfoComparePKvS0__40:
	add esi, 0x1
	cmp esi, ecx
	jz _Z17ThreadInfoComparePKvS0__20
	cmp esi, ebx
	jz _Z17ThreadInfoComparePKvS0__20
	mov eax, [ebp-0x10]
	mov edx, [eax+0x4]
	mov eax, [edi+0x4]
	add dword [ebp-0x10], 0x4
	add edi, 0x4
	cmp eax, edx
	jz _Z17ThreadInfoComparePKvS0__40
	sub edx, eax
	mov eax, edx
	jmp _Z17ThreadInfoComparePKvS0__50
	nop


;Scr_GetSourceFile_LoadObj(char const*)
_Z25Scr_GetSourceFile_LoadObjPKc:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x20
	mov ebx, [ebp+0x8]
	mov dword [esp+0x8], 0x0
	lea eax, [ebp-0xc]
	mov [esp+0x4], eax
	mov [esp], ebx
	call _Z18FS_FOpenFileByModePKcPi8fsMode_t
	mov esi, eax
	test eax, eax
	js _Z25Scr_GetSourceFile_LoadObjPKc_10
_Z25Scr_GetSourceFile_LoadObjPKc_20:
	lea eax, [esi+0x1]
	mov [esp], eax
	call Hunk_AllocateTempMemoryHigh
	mov ebx, eax
	mov eax, [ebp-0xc]
	mov [esp+0x8], eax
	mov [esp+0x4], esi
	mov [esp], ebx
	call _Z7FS_ReadPvii
	mov byte [ebx+esi], 0x0
	mov eax, [ebp-0xc]
	mov [esp], eax
	call _Z13FS_FCloseFilei
	mov eax, ebx
	add esp, 0x20
	pop ebx
	pop esi
	pop ebp
	ret
_Z25Scr_GetSourceFile_LoadObjPKc_10:
	mov [esp+0x4], ebx
	mov dword [esp], _cstring_cannot_find_s
	call _Z2vaPKcz
	mov [esp+0x4], eax
	mov dword [esp], 0x2
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z25Scr_GetSourceFile_LoadObjPKc_20


;Scr_GetSourceFile_FastFile(char const*)
_Z26Scr_GetSourceFile_FastFilePKc:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov esi, [ebp+0x8]
	mov [esp+0x4], esi
	mov dword [esp], 0x1f
	call _Z19DB_FindXAssetHeader10XAssetTypePKc
	mov ebx, eax
	test eax, eax
	jz _Z26Scr_GetSourceFile_FastFilePKc_10
	mov eax, [ebx+0x8]
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z26Scr_GetSourceFile_FastFilePKc_10:
	mov [esp+0x4], esi
	mov dword [esp], _cstring_cannot_find_s
	call _Z2vaPKcz
	mov [esp+0x4], eax
	mov dword [esp], 0x2
	call _Z9Com_Error11errorParm_tPKcz
	mov eax, [ebx+0x8]
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
	nop


;Scr_AddFields_FastFile(char const*, char const*)
_Z22Scr_AddFields_FastFilePKcS0_:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x64
	mov dword [esp], 0x0
	call _Z10TempMalloci
	mov [scrVarPub], eax
	mov byte [eax], 0x0
	mov eax, [ebp+0xc]
	mov [esp+0x10], eax
	mov dword [esp+0xc], _cstring_keys
	mov eax, [ebp+0x8]
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_sss
	lea ebx, [ebp-0x48]
	mov [esp], ebx
	call sprintf
	mov eax, ebx
	call _Z20Scr_AddFieldsForFilePKc
	mov dword [esp], 0x1
	call _Z10TempMalloci
	mov byte [eax], 0x0
	add esp, 0x64
	pop ebx
	pop ebp
	ret


;Scr_AddFields_LoadObj(char const*, char const*)
_Z21Scr_AddFields_LoadObjPKcS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x7c
	mov dword [esp+0x10], 0xa
	lea eax, [ebp-0x1c]
	mov [esp+0xc], eax
	mov dword [esp+0x8], 0x0
	mov eax, [ebp+0xc]
	mov [esp+0x4], eax
	mov eax, [ebp+0x8]
	mov [esp], eax
	call FS_ListFiles
	mov esi, eax
	mov dword [esp], 0x0
	call _Z10TempMalloci
	mov [scrVarPub], eax
	mov byte [eax], 0x0
	mov ebx, [ebp-0x1c]
	test ebx, ebx
	jg _Z21Scr_AddFields_LoadObjPKcS0__10
_Z21Scr_AddFields_LoadObjPKcS0__40:
	test esi, esi
	jz _Z21Scr_AddFields_LoadObjPKcS0__20
	mov dword [esp+0x4], 0xa
	mov [esp], esi
	call FS_FreeFileList
_Z21Scr_AddFields_LoadObjPKcS0__20:
	mov dword [esp], 0x1
	call _Z10TempMalloci
	mov byte [eax], 0x0
	add esp, 0x7c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_AddFields_LoadObjPKcS0__10:
	xor ebx, ebx
	lea edi, [ebp-0x5c]
_Z21Scr_AddFields_LoadObjPKcS0__30:
	mov eax, [esi+ebx*4]
	mov [esp+0xc], eax
	mov eax, [ebp+0x8]
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_ss
	mov [esp], edi
	call sprintf
	mov eax, edi
	call _Z20Scr_AddFieldsForFilePKc
	add ebx, 0x1
	cmp ebx, [ebp-0x1c]
	jl _Z21Scr_AddFields_LoadObjPKcS0__30
	jmp _Z21Scr_AddFields_LoadObjPKcS0__40


;Scr_GetObjectUsage(unsigned int)
_Z18Scr_GetObjectUsagej:
_Z18Scr_GetObjectUsagej_540:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0xac
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_10
	movss xmm2, dword [_float_1_00000000]
	movaps xmm3, xmm2
_Z18Scr_GetObjectUsagej_40:
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_20
_Z18Scr_GetObjectUsagej_50:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_100:
	addss xmm2, xmm0
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_30
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_40
_Z18Scr_GetObjectUsagej_30:
	movaps xmm0, xmm2
	add esp, 0xac
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18Scr_GetObjectUsagej_20:
	shl edx, 0x4
	lea esi, [edx+scrVarGlob+0x10]
	mov eax, [esi+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_50
	movzx eax, word [esi+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_60
	movaps xmm4, xmm3
_Z18Scr_GetObjectUsagej_90:
	shl edx, 0x4
	lea edi, [edx+scrVarGlob+0x80020]
	mov edx, [edi+0x4]
	mov eax, [edi+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_70
_Z18Scr_GetObjectUsagej_110:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_160:
	addss xmm4, xmm0
	movzx eax, word [edi+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_80
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_90
_Z18Scr_GetObjectUsagej_80:
	movzx eax, word [esi+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	divss xmm4, xmm0
	movaps xmm0, xmm4
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_100
_Z18Scr_GetObjectUsagej_10:
	movss xmm2, dword [_float_1_00000000]
	movaps xmm0, xmm2
	add esp, 0xac
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18Scr_GetObjectUsagej_60:
	movaps xmm4, xmm3
	jmp _Z18Scr_GetObjectUsagej_80
_Z18Scr_GetObjectUsagej_70:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x64], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_110
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_120
	movaps xmm6, xmm3
_Z18Scr_GetObjectUsagej_150:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x60], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_130
_Z18Scr_GetObjectUsagej_170:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_220:
	addss xmm6, xmm0
	mov edx, [ebp-0x60]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_140
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_150
_Z18Scr_GetObjectUsagej_140:
	mov ecx, [ebp-0x64]
	movzx eax, word [ecx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	divss xmm6, xmm0
	movaps xmm0, xmm6
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_160
_Z18Scr_GetObjectUsagej_130:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x5c], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_170
	mov edx, [ebp-0x5c]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_180
	movss [ebp-0x58], xmm3
_Z18Scr_GetObjectUsagej_210:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x54], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_190
_Z18Scr_GetObjectUsagej_230:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_280:
	addss xmm0, [ebp-0x58]
	movss [ebp-0x58], xmm0
	mov edx, [ebp-0x54]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_200
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_210
_Z18Scr_GetObjectUsagej_200:
	mov ecx, [ebp-0x5c]
	movzx eax, word [ecx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	movss xmm1, dword [ebp-0x58]
	divss xmm1, xmm0
	movaps xmm0, xmm1
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_220
_Z18Scr_GetObjectUsagej_190:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x50], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_230
	mov edx, [ebp-0x50]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_240
	movss [ebp-0x4c], xmm3
_Z18Scr_GetObjectUsagej_270:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x48], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_250
_Z18Scr_GetObjectUsagej_290:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_340:
	addss xmm0, [ebp-0x4c]
	movss [ebp-0x4c], xmm0
	mov edx, [ebp-0x48]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_260
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_270
_Z18Scr_GetObjectUsagej_260:
	mov ecx, [ebp-0x50]
	movzx eax, word [ecx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	movss xmm1, dword [ebp-0x4c]
	divss xmm1, xmm0
	movaps xmm0, xmm1
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_280
_Z18Scr_GetObjectUsagej_120:
	movaps xmm6, xmm3
	jmp _Z18Scr_GetObjectUsagej_140
_Z18Scr_GetObjectUsagej_180:
	movss [ebp-0x58], xmm3
	jmp _Z18Scr_GetObjectUsagej_200
_Z18Scr_GetObjectUsagej_250:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x44], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_290
	mov edx, [ebp-0x44]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_300
	movss [ebp-0x40], xmm3
_Z18Scr_GetObjectUsagej_330:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x3c], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_310
_Z18Scr_GetObjectUsagej_350:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_400:
	addss xmm0, [ebp-0x40]
	movss [ebp-0x40], xmm0
	mov edx, [ebp-0x3c]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_320
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_330
_Z18Scr_GetObjectUsagej_320:
	mov ecx, [ebp-0x44]
	movzx eax, word [ecx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	movss xmm1, dword [ebp-0x40]
	divss xmm1, xmm0
	movaps xmm0, xmm1
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_340
_Z18Scr_GetObjectUsagej_240:
	movss [ebp-0x4c], xmm3
	jmp _Z18Scr_GetObjectUsagej_260
_Z18Scr_GetObjectUsagej_310:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x38], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_350
	mov edx, [ebp-0x38]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_360
	movss [ebp-0x34], xmm3
_Z18Scr_GetObjectUsagej_390:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x30], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_370
_Z18Scr_GetObjectUsagej_410:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_460:
	addss xmm0, [ebp-0x34]
	movss [ebp-0x34], xmm0
	mov ecx, [ebp-0x30]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_380
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_390
_Z18Scr_GetObjectUsagej_380:
	mov edx, [ebp-0x38]
	movzx eax, word [edx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	movss xmm1, dword [ebp-0x34]
	divss xmm1, xmm0
	movaps xmm0, xmm1
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_400
_Z18Scr_GetObjectUsagej_300:
	movss [ebp-0x40], xmm3
	jmp _Z18Scr_GetObjectUsagej_320
_Z18Scr_GetObjectUsagej_370:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x2c], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_410
	mov edx, [ebp-0x2c]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_420
	movaps xmm7, xmm3
_Z18Scr_GetObjectUsagej_450:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x28], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_430
_Z18Scr_GetObjectUsagej_470:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_520:
	addss xmm7, xmm0
	mov ecx, [ebp-0x28]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_440
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_450
_Z18Scr_GetObjectUsagej_440:
	mov edx, [ebp-0x2c]
	movzx eax, word [edx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	divss xmm7, xmm0
	movaps xmm0, xmm7
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_460
_Z18Scr_GetObjectUsagej_360:
	movss [ebp-0x34], xmm3
	jmp _Z18Scr_GetObjectUsagej_380
_Z18Scr_GetObjectUsagej_430:
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov [ebp-0x24], edx
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_470
	mov edx, [ebp-0x24]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_480
	movaps xmm5, xmm3
_Z18Scr_GetObjectUsagej_510:
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov [ebp-0x20], edx
	mov ecx, edx
	mov edx, [edx+0x4]
	mov eax, [ecx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z18Scr_GetObjectUsagej_490
_Z18Scr_GetObjectUsagej_530:
	movaps xmm0, xmm3
_Z18Scr_GetObjectUsagej_550:
	addss xmm5, xmm0
	mov ecx, [ebp-0x20]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z18Scr_GetObjectUsagej_500
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z18Scr_GetObjectUsagej_510
_Z18Scr_GetObjectUsagej_500:
	mov edx, [ebp-0x24]
	movzx eax, word [edx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	divss xmm5, xmm0
	movaps xmm0, xmm5
	addss xmm0, xmm3
	jmp _Z18Scr_GetObjectUsagej_520
_Z18Scr_GetObjectUsagej_420:
	movaps xmm7, xmm3
	jmp _Z18Scr_GetObjectUsagej_440
_Z18Scr_GetObjectUsagej_490:
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x1c], eax
	mov eax, [eax+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z18Scr_GetObjectUsagej_530
	mov eax, edx
	movss [ebp-0x78], xmm2
	movss [ebp-0x88], xmm4
	movss [ebp-0x98], xmm5
	movss [ebp-0xa8], xmm6
	movss [ebp-0xb8], xmm7
	call _Z18Scr_GetObjectUsagej_540
	mov edx, [ebp-0x1c]
	movzx eax, word [edx+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	movss xmm7, dword [ebp-0xb8]
	movss xmm6, dword [ebp-0xa8]
	movss xmm5, dword [ebp-0x98]
	movss xmm4, dword [ebp-0x88]
	movss xmm2, dword [ebp-0x78]
	jmp _Z18Scr_GetObjectUsagej_550
_Z18Scr_GetObjectUsagej_480:
	movaps xmm5, xmm3
	jmp _Z18Scr_GetObjectUsagej_500
	nop


;Scr_AddFieldsForFile(char const*)
_Z20Scr_AddFieldsForFilePKc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x4c
	mov [ebp-0x3c], eax
	mov eax, useFastFile
	mov eax, [eax]
	mov edx, _Z26Scr_GetSourceFile_FastFilePKc
	cmp byte [eax+0xc], 0x0
	mov eax, _Z25Scr_GetSourceFile_LoadObjPKc
	cmovz edx, eax
	mov eax, [ebp-0x3c]
	mov [esp], eax
	call edx
	mov [ebp-0x1c], eax
	mov dword [esp], _cstring_scr_addfields
	call _Z21Com_BeginParseSessionPKc
	mov dword [esp], 0x0
	call _Z10TempMalloci
	mov [ebp-0x34], eax
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z9Com_ParsePPKc
	mov ebx, eax
	mov ecx, [ebp-0x1c]
	test ecx, ecx
	jz _Z20Scr_AddFieldsForFilePKc_10
_Z20Scr_AddFieldsForFilePKc_100:
	mov edi, _cstring_float
	mov ecx, 0x6
	cld
	mov esi, eax
	repe cmpsb
	mov edx, 0x0
	jz _Z20Scr_AddFieldsForFilePKc_20
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z20Scr_AddFieldsForFilePKc_20:
	test edx, edx
	jz _Z20Scr_AddFieldsForFilePKc_30
	mov edi, _cstring_int
	mov ecx, 0x4
	mov esi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z20Scr_AddFieldsForFilePKc_40
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z20Scr_AddFieldsForFilePKc_40:
	test edx, edx
	jnz _Z20Scr_AddFieldsForFilePKc_50
	mov dword [ebp-0x30], 0x6
_Z20Scr_AddFieldsForFilePKc_170:
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov [ebp-0x38], eax
	mov edx, [ebp-0x1c]
	test edx, edx
	jz _Z20Scr_AddFieldsForFilePKc_60
_Z20Scr_AddFieldsForFilePKc_130:
	mov edi, eax
_Z20Scr_AddFieldsForFilePKc_140:
	cld
	mov ecx, 0xffffffff
	xor eax, eax
	repne scasb
	not ecx
	mov [ebp-0x40], ecx
	mov eax, ecx
	sub eax, 0x1
	js _Z20Scr_AddFieldsForFilePKc_70
	mov esi, [ebp-0x38]
	add esi, eax
	xor edi, edi
_Z20Scr_AddFieldsForFilePKc_80:
	movsx eax, byte [esi]
	mov [esp], eax
	call tolower
	mov [esi], al
	add edi, 0x1
	sub esi, 0x1
	cmp [ebp-0x40], edi
	jnz _Z20Scr_AddFieldsForFilePKc_80
_Z20Scr_AddFieldsForFilePKc_70:
	mov ecx, [ebp-0x38]
	mov [esp], ecx
	call _Z21SL_GetCanonicalStringPKc
	mov [ebp-0x2c], eax
	mov ebx, [scrVarPub]
	cmp byte [ebx], 0x0
	jnz _Z20Scr_AddFieldsForFilePKc_90
_Z20Scr_AddFieldsForFilePKc_110:
	mov eax, [ebp-0x34]
	mov [esp], eax
	call _Z16TempMemorySetPosPc
	mov eax, [ebp-0x40]
	add eax, 0x4
	mov [esp], eax
	call _Z10TempMalloci
	mov ebx, eax
	mov edx, [ebp-0x38]
	mov [esp+0x4], edx
	mov [esp], eax
	call strcpy
	mov ecx, [ebp-0x40]
	lea eax, [ebx+ecx]
	movzx edx, word [ebp-0x2c]
	mov [eax], dx
	movzx ecx, byte [ebp-0x30]
	mov [eax+0x2], cl
	lea edx, [eax+0x3]
	mov [ebp-0x34], edx
	mov byte [eax+0x3], 0x0
	lea edx, [ebp-0x1c]
	mov [esp], edx
	call _Z9Com_ParsePPKc
	mov ebx, eax
	mov ecx, [ebp-0x1c]
	test ecx, ecx
	jnz _Z20Scr_AddFieldsForFilePKc_100
_Z20Scr_AddFieldsForFilePKc_10:
	call _Z19Com_EndParseSessionv
	call Hunk_ClearTempMemoryHigh
_Z20Scr_AddFieldsForFilePKc_200:
	add esp, 0x4c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z20Scr_AddFieldsForFilePKc_120:
	lea eax, [esi+ebx]
	lea ebx, [eax+0x3]
	cmp byte [eax+0x3], 0x0
	jz _Z20Scr_AddFieldsForFilePKc_110
_Z20Scr_AddFieldsForFilePKc_90:
	cld
	mov ecx, 0xffffffff
	mov edi, ebx
	xor eax, eax
	repne scasb
	mov esi, ecx
	not esi
	mov [esp+0x4], ebx
	mov eax, [ebp-0x38]
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jnz _Z20Scr_AddFieldsForFilePKc_120
	cmp word [esi+ebx], 0x0
	jz _Z20Scr_AddFieldsForFilePKc_110
	mov edx, [ebp-0x3c]
	mov [esp+0xc], edx
	mov ecx, [ebp-0x38]
	mov [esp+0x8], ecx
	mov dword [esp+0x4], _cstring_duplicate_key_s_
	mov dword [esp], 0x2
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z20Scr_AddFieldsForFilePKc_110
_Z20Scr_AddFieldsForFilePKc_30:
	mov dword [ebp-0x30], 0x5
	lea eax, [ebp-0x1c]
	mov [esp], eax
	call _Z9Com_ParsePPKc
	mov [ebp-0x38], eax
	mov edx, [ebp-0x1c]
	test edx, edx
	jnz _Z20Scr_AddFieldsForFilePKc_130
_Z20Scr_AddFieldsForFilePKc_60:
	mov edx, [ebp-0x3c]
	mov [esp+0x4], edx
	mov dword [esp], _cstring_missing_field_na
	call _Z2vaPKcz
	mov [esp+0x4], eax
	mov dword [esp], 0x2
	call _Z9Com_Error11errorParm_tPKcz
	mov edi, [ebp-0x38]
	jmp _Z20Scr_AddFieldsForFilePKc_140
_Z20Scr_AddFieldsForFilePKc_50:
	mov edi, _cstring_string
	mov ecx, 0x7
	cld
	mov esi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z20Scr_AddFieldsForFilePKc_150
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z20Scr_AddFieldsForFilePKc_150:
	test edx, edx
	jnz _Z20Scr_AddFieldsForFilePKc_160
	mov dword [ebp-0x30], 0x2
	jmp _Z20Scr_AddFieldsForFilePKc_170
_Z20Scr_AddFieldsForFilePKc_160:
	mov edi, _cstring_vector
	mov ecx, 0x7
	cld
	mov esi, ebx
	repe cmpsb
	mov edx, 0x0
	jz _Z20Scr_AddFieldsForFilePKc_180
	movzx edx, byte [esi-0x1]
	movzx ecx, byte [edi-0x1]
	sub edx, ecx
_Z20Scr_AddFieldsForFilePKc_180:
	test edx, edx
	jnz _Z20Scr_AddFieldsForFilePKc_190
	mov dword [ebp-0x30], 0x4
	jmp _Z20Scr_AddFieldsForFilePKc_170
_Z20Scr_AddFieldsForFilePKc_190:
	mov ecx, [ebp-0x3c]
	mov [esp+0x8], ecx
	mov [esp+0x4], ebx
	mov dword [esp], _cstring_unknown_type_s_i
	call _Z2vaPKcz
	mov [esp+0x4], eax
	mov dword [esp], 0x2
	call _Z9Com_Error11errorParm_tPKcz
	jmp _Z20Scr_AddFieldsForFilePKc_200
	nop


;GetNewVariableIndexInternal3(unsigned int, unsigned int, unsigned int)
_Z28GetNewVariableIndexInternal3jjj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov dword [ebp-0x40], 0x0
	mov dword [ebp-0x3c], 0x0
	mov [ebp-0x44], eax
	mov [ebp-0x48], edx
	mov [ebp-0x4c], ecx
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+0x80020]
	lea eax, [edi+scrVarGlob]
	mov [ebp-0x2c], eax
	movzx edx, word [edi+scrVarGlob]
	mov [ebp-0x32], dx
	movzx edx, dx
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x30], eax
	mov ecx, [eax+0x8]
	and ecx, 0x60
	mov [ebp-0x28], ecx
	jnz _Z28GetNewVariableIndexInternal3jjj_10
	mov eax, [ebp-0x2c]
	movzx ecx, word [eax+0xc]
	mov eax, [ebp-0x30]
	movzx esi, word [eax+0x4]
	cmp ecx, edx
	jz _Z28GetNewVariableIndexInternal3jjj_20
	mov eax, [ebp-0x2c]
	test byte [eax+0x8], 0x60
	jz _Z28GetNewVariableIndexInternal3jjj_30
	movzx edx, word [ebp-0x4c]
	mov [ebp-0x22], dx
	mov ebx, [ebp-0x30]
_Z28GetNewVariableIndexInternal3jjj_110:
	mov eax, [ebp-0x2c]
	movzx ecx, word [eax+0x2]
	mov edx, scrVarGlob+0x80020
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+edx+0x4], si
	shl esi, 0x4
	mov [esi+edx+0x2], cx
	mov dword [ebx+0x8], 0x40
	movzx edx, word [ebp-0x22]
	mov [ebx+0xc], dx
_Z28GetNewVariableIndexInternal3jjj_100:
	movzx eax, byte [ebx+0x8]
	mov edx, [ebp-0x48]
	shl edx, 0x8
	or eax, edx
	mov [ebx+0x8], eax
	shl dword [ebp-0x44], 0x4
	mov edx, [ebp-0x44]
	add edx, scrVarGlob+0x10
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z28GetNewVariableIndexInternal3jjj_40
_Z28GetNewVariableIndexInternal3jjj_160:
	mov eax, [ebp-0x4c]
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z28GetNewVariableIndexInternal3jjj_10:
	cmp dword [ebp-0x28], 0x40
	jz _Z28GetNewVariableIndexInternal3jjj_50
	mov edx, [ebp-0x2c]
	test byte [edx+0x8], 0x60
	jnz _Z28GetNewVariableIndexInternal3jjj_60
	mov ebx, edx
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edi, [eax+scrVarGlob+0x80020]
	movzx ecx, word [edi+0x2]
	movzx edx, word [edx+0x4]
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80024], dx
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
	mov edx, ebx
_Z28GetNewVariableIndexInternal3jjj_130:
	movzx ecx, word [edx+0x2]
	movzx eax, cx
	test cx, cx
	jz _Z28GetNewVariableIndexInternal3jjj_70
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], si
_Z28GetNewVariableIndexInternal3jjj_70:
	mov edx, [ebp-0x30]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z28GetNewVariableIndexInternal3jjj_80
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], si
	mov eax, [ebp-0x2c]
	movzx ecx, word [eax+0x2]
_Z28GetNewVariableIndexInternal3jjj_80:
	cmp dword [ebp-0x28], 0x20
	jz _Z28GetNewVariableIndexInternal3jjj_90
	mov eax, [ebp-0x30]
	mov [eax+0xc], si
_Z28GetNewVariableIndexInternal3jjj_230:
	mov [edi+0x2], cx
	movzx edx, word [edi]
	mov ecx, [ebp-0x2c]
	movzx eax, word [ecx]
	mov [edi], ax
	mov [ecx], dx
	mov dword [ebx+0x8], 0x40
	movzx eax, word [ebp-0x4c]
	mov [ebx+0xc], ax
	jmp _Z28GetNewVariableIndexInternal3jjj_100
_Z28GetNewVariableIndexInternal3jjj_30:
	mov eax, ecx
	shl eax, 0x4
	movzx edx, word [ebp-0x32]
	mov [eax+scrVarGlob+0x80020], dx
	movzx eax, word [ebp-0x4c]
	mov [ebp-0x22], ax
	mov [edi+scrVarGlob], ax
	mov eax, [ebp-0x30]
	mov [eax+0xc], cx
	mov edx, [ebp-0x2c]
	movzx eax, word [edx+0x4]
	mov ecx, [ebp-0x30]
	mov [ecx+0x4], ax
	mov ebx, edx
	jmp _Z28GetNewVariableIndexInternal3jjj_110
_Z28GetNewVariableIndexInternal3jjj_60:
	movzx eax, word [scrVarGlob+0x80024]
	movzx esi, ax
	test ax, ax
	jz _Z28GetNewVariableIndexInternal3jjj_120
_Z28GetNewVariableIndexInternal3jjj_250:
	mov eax, esi
	shl eax, 0x4
	add eax, 0x80020
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	movzx eax, word [ebx+0x4]
	mov [scrVarGlob+0x80024], ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	mov edx, [ebp-0x2c]
	jmp _Z28GetNewVariableIndexInternal3jjj_130
_Z28GetNewVariableIndexInternal3jjj_50:
	mov ecx, [ebp-0x2c]
	test byte [ecx+0x8], 0x60
	jnz _Z28GetNewVariableIndexInternal3jjj_140
	movzx eax, word [ecx+0xc]
	mov [ebp-0x20], eax
	mov ecx, eax
	shl ecx, 0x4
	add ecx, 0x80020
	lea edx, [ecx+scrVarGlob]
	mov [ebp-0x1c], edx
	movzx esi, word [edx+0x2]
	mov eax, [ebp-0x2c]
	movzx edx, word [eax+0x4]
	mov ebx, scrVarGlob+0x80020
	mov eax, esi
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+ebx+0x4], dx
	shl edx, 0x4
	mov [edx+ebx+0x2], si
	movzx edx, word [ebp-0x32]
	mov [ecx+scrVarGlob], dx
	movzx ecx, word [ebp-0x4c]
	mov [edi+scrVarGlob], cx
	mov edx, [ebp-0x2c]
	movzx eax, word [edx+0x2]
	mov ecx, [ebp-0x1c]
	mov [ecx+0x2], ax
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	movzx edx, word [ebp-0x20]
	mov [eax+ebx+0xe], dx
	mov ecx, [ebp-0x30]
	movzx eax, word [ecx+0xe]
	shl eax, 0x4
	movzx edx, word [ebp-0x20]
	mov [eax+ebx+0x2], dx
	mov eax, [ecx+0x8]
	and eax, 0xffffff9f
	or eax, 0x20
	mov [ecx+0x8], eax
	mov ecx, [ebp-0x2c]
	mov dword [ecx+0x8], 0x40
	mov ebx, ecx
	jmp _Z28GetNewVariableIndexInternal3jjj_100
_Z28GetNewVariableIndexInternal3jjj_20:
	movzx edx, word [ebp-0x4c]
	mov [ebp-0x22], dx
	mov ebx, eax
	jmp _Z28GetNewVariableIndexInternal3jjj_110
_Z28GetNewVariableIndexInternal3jjj_40:
	add word [edx+0x6], 0x1
	cmp dword [ebp-0x48], 0xffff
	ja _Z28GetNewVariableIndexInternal3jjj_150
	movzx edx, word [ebp-0x48]
	mov [ebp-0x40], edx
	mov edx, 0x2
	mov eax, [ebp-0x40]
_Z28GetNewVariableIndexInternal3jjj_190:
	mov [ebp-0x3c], edx
	sub edx, 0x1
	cmp edx, 0x3
	ja _Z28GetNewVariableIndexInternal3jjj_160
	test edx, edx
	jnz _Z28GetNewVariableIndexInternal3jjj_170
	add eax, 0x1
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	mov eax, [ebp-0x4c]
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z28GetNewVariableIndexInternal3jjj_150:
	cmp dword [ebp-0x48], 0x17fff
	ja _Z28GetNewVariableIndexInternal3jjj_180
	mov ecx, [ebp-0x48]
	sub ecx, 0x10000
	mov [ebp-0x40], ecx
	mov edx, 0x1
	mov eax, ecx
	jmp _Z28GetNewVariableIndexInternal3jjj_190
_Z28GetNewVariableIndexInternal3jjj_170:
	cmp edx, 0x2
	jbe _Z28GetNewVariableIndexInternal3jjj_200
	cmp byte [eax-0x1], 0x0
	jnz _Z28GetNewVariableIndexInternal3jjj_160
	add word [eax-0x4], 0x1
	jmp _Z28GetNewVariableIndexInternal3jjj_160
_Z28GetNewVariableIndexInternal3jjj_180:
	mov eax, [ebp-0x48]
	sub eax, 0x800000
	mov [ebp-0x40], eax
	mov edx, 0x6
	jmp _Z28GetNewVariableIndexInternal3jjj_190
_Z28GetNewVariableIndexInternal3jjj_90:
	mov edx, [ebp-0x30]
	movzx eax, word [edx+0xc]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	lea edx, [eax+0x8002]
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0xc]
	cmp [ebp-0x4c], eax
	jz _Z28GetNewVariableIndexInternal3jjj_210
_Z28GetNewVariableIndexInternal3jjj_220:
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	lea edx, [eax+0x8002]
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0xc]
	cmp eax, [ebp-0x4c]
	jnz _Z28GetNewVariableIndexInternal3jjj_220
_Z28GetNewVariableIndexInternal3jjj_210:
	shl edx, 0x4
	mov [edx+scrVarGlob+0xc], si
	jmp _Z28GetNewVariableIndexInternal3jjj_230
_Z28GetNewVariableIndexInternal3jjj_140:
	movzx eax, word [scrVarGlob+0x80024]
	movzx edx, ax
	mov [ebp-0x4c], edx
	test ax, ax
	jz _Z28GetNewVariableIndexInternal3jjj_240
	mov eax, edx
_Z28GetNewVariableIndexInternal3jjj_260:
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	movzx eax, word [ebx+0x4]
	mov [scrVarGlob+0x80024], ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	mov dword [ebx+0x8], 0x20
	mov ecx, [ebp-0x30]
	movzx eax, word [ecx+0xc]
	mov [ebx+0xc], ax
	movzx eax, word [ebp-0x4c]
	mov [ecx+0xc], ax
	jmp _Z28GetNewVariableIndexInternal3jjj_100
_Z28GetNewVariableIndexInternal3jjj_120:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z28GetNewVariableIndexInternal3jjj_250
_Z28GetNewVariableIndexInternal3jjj_200:
	mov edx, [ebp-0x40]
	mov [esp], edx
	call _Z17SL_AddRefToStringj
	jmp _Z28GetNewVariableIndexInternal3jjj_160
_Z28GetNewVariableIndexInternal3jjj_240:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	mov eax, [ebp-0x4c]
	jmp _Z28GetNewVariableIndexInternal3jjj_260


;CopyArray(unsigned int, unsigned int)
_Z9CopyArrayjj:
_Z9CopyArrayjj_110:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov [ebp-0x28], edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jnz _Z9CopyArrayjj_10
_Z9CopyArrayjj_40:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z9CopyArrayjj_50:
	mov eax, [edi+0x4]
	mov [esi+0x4], eax
	mov edx, [edi+0x4]
	lea eax, [ebx-0x1]
	cmp eax, 0x3
	ja _Z9CopyArrayjj_20
	test eax, eax
	jnz _Z9CopyArrayjj_30
	lea eax, [edx+0x1]
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
_Z9CopyArrayjj_20:
	shl dword [ebp-0x24], 0x4
	mov edx, [ebp-0x24]
	movzx eax, word [edx+scrVarGlob+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z9CopyArrayjj_40
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
_Z9CopyArrayjj_10:
	add edx, 0x8002
	mov [ebp-0x24], edx
	mov eax, edx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	mov eax, [edi+0x8]
	mov ebx, eax
	and ebx, 0x1f
	shr eax, 0x8
	mov [esp+0x4], eax
	mov eax, [ebp-0x28]
	mov [esp], eax
	call _Z24GetVariableIndexInternaljj
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	or [esi+0x8], ebx
	cmp ebx, 0x1
	jnz _Z9CopyArrayjj_50
	mov edx, [edi+0x4]
	mov eax, edx
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z9CopyArrayjj_60
	mov [esi+0x4], edx
	mov eax, [edi+0x4]
	add eax, 0x1
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	jmp _Z9CopyArrayjj_20
_Z9CopyArrayjj_30:
	cmp eax, 0x2
	jbe _Z9CopyArrayjj_70
	cmp byte [edx-0x1], 0x0
	jnz _Z9CopyArrayjj_20
	add word [edx-0x4], 0x1
	jmp _Z9CopyArrayjj_20
_Z9CopyArrayjj_60:
	movzx edx, word [scrVarGlob+0x14]
	mov [ebp-0x1c], dx
	test dx, dx
	jz _Z9CopyArrayjj_80
_Z9CopyArrayjj_130:
	movzx eax, word [ebp-0x1c]
	shl eax, 0x4
	add eax, 0x10
	mov [ebp-0x2c], eax
	mov ebx, eax
	add ebx, scrVarGlob
	movzx eax, word [eax+scrVarGlob]
	mov [ebp-0x1e], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx edx, word [ecx+0x4]
	mov [ebp-0x1a], dx
	cmp ebx, ecx
	jz _Z9CopyArrayjj_90
	test byte [ebx+0x8], 0x60
	jnz _Z9CopyArrayjj_100
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1e]
	mov [edx+scrVarGlob+0x10], ax
	movzx eax, word [ebp-0x1c]
	mov edx, [ebp-0x2c]
	mov [edx+scrVarGlob], ax
	movzx edx, word [ebx+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z9CopyArrayjj_120:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx edx, word [ebp-0x1c]
	mov [ecx+0xc], dx
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov [esi+0x4], edx
	mov eax, [edi+0x4]
	call _Z9CopyArrayjj_110
	jmp _Z9CopyArrayjj_20
_Z9CopyArrayjj_70:
	mov [esp], edx
	call _Z17SL_AddRefToStringj
	jmp _Z9CopyArrayjj_20
_Z9CopyArrayjj_100:
	movzx eax, word [ebp-0x1a]
	jmp _Z9CopyArrayjj_120
_Z9CopyArrayjj_80:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z9CopyArrayjj_130
_Z9CopyArrayjj_90:
	mov eax, edx
	jmp _Z9CopyArrayjj_120


;MakeVariableExternal(unsigned int, VariableValueInternal*)
_Z20MakeVariableExternaljP21VariableValueInternal:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov [ebp-0x30], eax
	shl eax, 0x4
	add eax, 0x80020
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x28], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x24], eax
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z20MakeVariableExternaljP21VariableValueInternal_10
	mov ecx, [ebp-0x24]
	mov ebx, [ecx+0x8]
_Z20MakeVariableExternaljP21VariableValueInternal_50:
	mov eax, ebx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z20MakeVariableExternaljP21VariableValueInternal_20
	mov edx, [ebp-0x28]
	mov eax, [ebp-0x24]
_Z20MakeVariableExternaljP21VariableValueInternal_30:
	mov ecx, edx
	movzx eax, word [eax+0xc]
	shl eax, 0x4
	add eax, 0x80020
	lea edx, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	cmp [ebp-0x28], edx
	jnz _Z20MakeVariableExternaljP21VariableValueInternal_30
	movzx eax, word [ecx]
	shl eax, 0x4
	mov ecx, [ebp-0x24]
	movzx edx, word [ecx+0xc]
	mov [eax+scrVarGlob+0x8002c], dx
_Z20MakeVariableExternaljP21VariableValueInternal_90:
	movzx ecx, word [ebp-0x30]
	mov eax, [ebp-0x24]
	and ebx, 0xffffff9f
	or ebx, 0x60
	mov [eax+0x8], ebx
	mov [eax+0xc], cx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z20MakeVariableExternaljP21VariableValueInternal_10:
	sub word [edx+0x6], 0x1
	mov eax, [ebp-0x24]
	mov ebx, [eax+0x8]
	mov eax, ebx
	shr eax, 0x8
	cmp eax, 0xffff
	ja _Z20MakeVariableExternaljP21VariableValueInternal_40
	movzx esi, ax
	mov eax, 0x2
_Z20MakeVariableExternaljP21VariableValueInternal_150:
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z20MakeVariableExternaljP21VariableValueInternal_50
	test eax, eax
	jz _Z20MakeVariableExternaljP21VariableValueInternal_60
	cmp eax, 0x2
	jbe _Z20MakeVariableExternaljP21VariableValueInternal_70
	cmp byte [esi-0x1], 0x0
	jnz _Z20MakeVariableExternaljP21VariableValueInternal_50
	lea ecx, [esi-0x4]
	movzx eax, word [esi-0x4]
	test ax, ax
	jz _Z20MakeVariableExternaljP21VariableValueInternal_80
	sub eax, 0x1
	mov [esi-0x4], ax
	mov eax, [ebp-0x24]
	mov ebx, [eax+0x8]
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_50
_Z20MakeVariableExternaljP21VariableValueInternal_20:
	mov eax, [ebp-0x24]
	movzx eax, word [eax+0xc]
	mov [ebp-0x1c], eax
	shl eax, 0x4
	add eax, 0x80020
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	cmp [ebp-0x28], edi
	jz _Z20MakeVariableExternaljP21VariableValueInternal_90
	mov eax, [edx+0x8]
	and eax, 0xffffff9f
	or eax, 0x40
	mov [edx+0x8], eax
	mov ecx, [ebp-0x28]
	movzx ecx, word [ecx+0x2]
	mov [ebp-0x2c], cx
	movzx ebx, cx
	mov [ebp-0x20], ebx
	mov eax, [ebp-0x24]
	movzx eax, word [eax+0xe]
	mov [ebp-0x2a], ax
	movzx esi, ax
	movzx ebx, word [edi+0x2]
	movzx ecx, bx
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jnz _Z20MakeVariableExternaljP21VariableValueInternal_100
	test bx, bx
	jnz _Z20MakeVariableExternaljP21VariableValueInternal_110
_Z20MakeVariableExternaljP21VariableValueInternal_170:
	cmp word [ebp-0x2a], 0x0
	jnz _Z20MakeVariableExternaljP21VariableValueInternal_120
_Z20MakeVariableExternaljP21VariableValueInternal_160:
	movzx ecx, word [ebp-0x1c]
_Z20MakeVariableExternaljP21VariableValueInternal_180:
	cmp word [ebp-0x2c], 0x0
	jz _Z20MakeVariableExternaljP21VariableValueInternal_130
	shl dword [ebp-0x20], 0x4
	mov edx, [ebp-0x20]
	movzx eax, word [edx+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
_Z20MakeVariableExternaljP21VariableValueInternal_130:
	mov ebx, [ebp-0x28]
	mov edx, [ebx]
	mov eax, [edi]
	mov [ebx], eax
	mov [edi], edx
	mov eax, [ebp-0x24]
	mov ebx, [eax+0x8]
	and ebx, 0xffffff9f
	or ebx, 0x60
	mov [eax+0x8], ebx
	mov [eax+0xc], cx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z20MakeVariableExternaljP21VariableValueInternal_40:
	cmp eax, 0x17fff
	ja _Z20MakeVariableExternaljP21VariableValueInternal_140
	lea esi, [eax-0x10000]
	mov eax, 0x1
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_150
_Z20MakeVariableExternaljP21VariableValueInternal_110:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob+0x80020]
	shl eax, 0x4
	movzx edx, word [ebp-0x30]
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x2a], 0x0
	jnz _Z20MakeVariableExternaljP21VariableValueInternal_120
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_160
_Z20MakeVariableExternaljP21VariableValueInternal_100:
	shl edx, 0x4
	movzx eax, word [ebp-0x30]
	mov [edx+scrVarGlob+0x80022], ax
	test bx, bx
	jz _Z20MakeVariableExternaljP21VariableValueInternal_170
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_110
_Z20MakeVariableExternaljP21VariableValueInternal_120:
	movzx ecx, word [ebp-0x1c]
	shl esi, 0x4
	mov [esi+scrVarGlob+0x80022], cx
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_180
_Z20MakeVariableExternaljP21VariableValueInternal_140:
	lea esi, [eax-0x800000]
	mov eax, 0x6
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_150
_Z20MakeVariableExternaljP21VariableValueInternal_60:
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	mov edx, [ebp-0x24]
	mov ebx, [edx+0x8]
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_50
_Z20MakeVariableExternaljP21VariableValueInternal_70:
	mov [esp], esi
	call _Z20SL_RemoveRefToStringj
	mov ecx, [ebp-0x24]
	mov ebx, [ecx+0x8]
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_50
_Z20MakeVariableExternaljP21VariableValueInternal_80:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov edx, [ebp-0x24]
	mov ebx, [edx+0x8]
	jmp _Z20MakeVariableExternaljP21VariableValueInternal_50


;Scr_EvalVariableEntityField(unsigned int, unsigned int)
_Z27Scr_EvalVariableEntityFieldjj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x28], eax
	mov edi, [eax+0x8]
	shr edi, 0x8
	lea ebx, [edx+0x800000]
	and ebx, 0xffffff
	lea eax, [edi+edi*2]
	movzx ecx, word [eax*4+g_classMap]
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x24], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z27Scr_EvalVariableEntityFieldjj_10
_Z27Scr_EvalVariableEntityFieldjj_40:
	mov ecx, 0x8002
_Z27Scr_EvalVariableEntityFieldjj_30:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jnz _Z27Scr_EvalVariableEntityFieldjj_20
_Z27Scr_EvalVariableEntityFieldjj_70:
	xor esi, esi
_Z27Scr_EvalVariableEntityFieldjj_80:
	mov eax, ebx
	mov edx, esi
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z27Scr_EvalVariableEntityFieldjj_10:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z27Scr_EvalVariableEntityFieldjj_30
	movzx ecx, word [esi+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z27Scr_EvalVariableEntityFieldjj_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z27Scr_EvalVariableEntityFieldjj_50
_Z27Scr_EvalVariableEntityFieldjj_60:
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z27Scr_EvalVariableEntityFieldjj_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z27Scr_EvalVariableEntityFieldjj_60
_Z27Scr_EvalVariableEntityFieldjj_50:
	add ecx, 0x8002
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z27Scr_EvalVariableEntityFieldjj_70
_Z27Scr_EvalVariableEntityFieldjj_20:
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	mov [esp+0x8], eax
	mov edx, [ebp-0x28]
	movzx eax, word [edx+0x6]
	mov [esp+0x4], eax
	mov [esp], edi
	call _Z19GetEntityFieldValuejii
	mov ebx, eax
	mov esi, edx
	cmp edx, 0x1
	jnz _Z27Scr_EvalVariableEntityFieldjj_80
	mov [ebp-0x2c], eax
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x10]
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z27Scr_EvalVariableEntityFieldjj_80
	cmp word [edx+0x4], 0x0
	jnz _Z27Scr_EvalVariableEntityFieldjj_90
	mov esi, 0x1
	jmp _Z27Scr_EvalVariableEntityFieldjj_80
_Z27Scr_EvalVariableEntityFieldjj_90:
	mov [esp], ebx
	call _Z17RemoveRefToObjectj
	movzx eax, word [scrVarGlob+0x14]
	mov [ebp-0x1c], ax
	test ax, ax
	jz _Z27Scr_EvalVariableEntityFieldjj_100
_Z27Scr_EvalVariableEntityFieldjj_130:
	movzx eax, word [ebp-0x1c]
	shl eax, 0x4
	add eax, 0x10
	mov [ebp-0x30], eax
	mov edi, eax
	add edi, scrVarGlob
	movzx edx, word [eax+scrVarGlob]
	mov [ebp-0x1e], dx
	movzx eax, dx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp edi, ecx
	jz _Z27Scr_EvalVariableEntityFieldjj_110
	test byte [edi+0x8], 0x60
	jnz _Z27Scr_EvalVariableEntityFieldjj_120
	movzx edx, word [edi+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1e]
	mov [edx+scrVarGlob+0x10], ax
	movzx eax, word [ebp-0x1c]
	mov edx, [ebp-0x30]
	mov [edx+scrVarGlob], ax
	movzx edx, word [edi+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [edi+0x4]
	mov [ecx+0x4], ax
	mov ecx, edi
	movzx eax, word [ebp-0x1a]
_Z27Scr_EvalVariableEntityFieldjj_110:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx edx, word [ebp-0x1c]
	mov [ecx+0xc], dx
	mov word [ecx+0xe], 0x0
	mov word [edi+0x2], 0x0
	movzx edx, word [edi]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov ebx, edx
	mov eax, [ebp-0x2c]
	call _Z9CopyArrayjj
	mov esi, 0x1
	jmp _Z27Scr_EvalVariableEntityFieldjj_80
_Z27Scr_EvalVariableEntityFieldjj_120:
	movzx eax, word [ebp-0x1a]
	jmp _Z27Scr_EvalVariableEntityFieldjj_110
_Z27Scr_EvalVariableEntityFieldjj_100:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z27Scr_EvalVariableEntityFieldjj_130


;Scr_MakeValuePrimitive(unsigned int)
_Z22Scr_MakeValuePrimitivej:
_Z22Scr_MakeValuePrimitivej_80:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov esi, eax
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x1c], eax
	mov eax, [eax+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z22Scr_MakeValuePrimitivej_10
	xor eax, eax
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z22Scr_MakeValuePrimitivej_50:
	sub eax, 0x7
	cmp eax, 0x4
	ja _Z22Scr_MakeValuePrimitivej_20
_Z22Scr_MakeValuePrimitivej_90:
	mov [esp+0x4], edi
	mov [esp], esi
	call _Z14RemoveVariablejj
_Z22Scr_MakeValuePrimitivej_10:
	mov edx, [ebp-0x1c]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z22Scr_MakeValuePrimitivej_30
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov eax, [ebx+0x8]
	mov edi, eax
	shr edi, 0x8
	and eax, 0x1f
	cmp eax, 0x1
	jz _Z22Scr_MakeValuePrimitivej_40
_Z22Scr_MakeValuePrimitivej_70:
	jae _Z22Scr_MakeValuePrimitivej_50
_Z22Scr_MakeValuePrimitivej_20:
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jnz _Z22Scr_MakeValuePrimitivej_60
_Z22Scr_MakeValuePrimitivej_30:
	mov eax, 0x1
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z22Scr_MakeValuePrimitivej_60:
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jz _Z22Scr_MakeValuePrimitivej_30
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov eax, [ebx+0x8]
	mov edi, eax
	shr edi, 0x8
	and eax, 0x1f
	cmp eax, 0x1
	jnz _Z22Scr_MakeValuePrimitivej_70
_Z22Scr_MakeValuePrimitivej_40:
	mov eax, [ebx+0x4]
	call _Z22Scr_MakeValuePrimitivej_80
	test eax, eax
	jz _Z22Scr_MakeValuePrimitivej_90
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z22Scr_MakeValuePrimitivej_30
	jmp _Z22Scr_MakeValuePrimitivej_60
	nop


;Scr_CastWeakerPair(VariableValue*, VariableValue*)
_Z18Scr_CastWeakerPairP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, eax
	mov esi, edx
	mov eax, [eax+0x4]
	mov edx, [edx+0x4]
	cmp eax, edx
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__10
	cmp eax, 0x5
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__20
	cmp eax, 0x6
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__30
	cmp eax, 0x4
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__40
_Z18Scr_CastWeakerPairP13VariableValueS0__80:
	cmp edx, 0x4
	jnz _Z18Scr_CastWeakerPairP13VariableValueS0__50
	cmp eax, 0x5
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__60
	cmp eax, 0x6
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__70
_Z18Scr_CastWeakerPairP13VariableValueS0__50:
	mov [esp+0x4], esi
	mov [esp], ebx
	call _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z18Scr_CastWeakerPairP13VariableValueS0__10:
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z18Scr_CastWeakerPairP13VariableValueS0__20:
	cmp edx, 0x6
	jnz _Z18Scr_CastWeakerPairP13VariableValueS0__80
	mov dword [esi+0x4], 0x5
	cvtsi2ss xmm0, dword [esi]
	movss [esi], xmm0
	jmp _Z18Scr_CastWeakerPairP13VariableValueS0__10
_Z18Scr_CastWeakerPairP13VariableValueS0__30:
	cmp edx, 0x5
	jnz _Z18Scr_CastWeakerPairP13VariableValueS0__80
	mov dword [ebx+0x4], 0x5
	cvtsi2ss xmm0, dword [ebx]
	movss [ebx], xmm0
	jmp _Z18Scr_CastWeakerPairP13VariableValueS0__10
_Z18Scr_CastWeakerPairP13VariableValueS0__40:
	cmp edx, 0x5
	jz _Z18Scr_CastWeakerPairP13VariableValueS0__90
	cmp edx, 0x6
	jnz _Z18Scr_CastWeakerPairP13VariableValueS0__80
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea edx, [eax+0x4]
	mov dword [edx-0x4], 0x0
	cvtsi2ss xmm0, dword [esi]
	movss [eax+0x4], xmm0
	cvtsi2ss xmm0, dword [esi]
	movss [edx+0x4], xmm0
	cvtsi2ss xmm0, dword [esi]
	movss [edx+0x8], xmm0
	mov [esi], edx
	mov dword [esi+0x4], 0x4
	jmp _Z18Scr_CastWeakerPairP13VariableValueS0__10
_Z18Scr_CastWeakerPairP13VariableValueS0__60:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea ecx, [eax+0x4]
	mov dword [ecx-0x4], 0x0
	mov edx, [ebx]
	mov [eax+0x4], edx
	mov eax, [ebx]
	mov [ecx+0x4], eax
	mov eax, [ebx]
	mov [ecx+0x8], eax
	mov [ebx], ecx
	mov dword [ebx+0x4], 0x4
	jmp _Z18Scr_CastWeakerPairP13VariableValueS0__10
_Z18Scr_CastWeakerPairP13VariableValueS0__70:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea edx, [eax+0x4]
	mov dword [edx-0x4], 0x0
	cvtsi2ss xmm0, dword [ebx]
	movss [eax+0x4], xmm0
	cvtsi2ss xmm0, dword [ebx]
	movss [edx+0x4], xmm0
	cvtsi2ss xmm0, dword [ebx]
	movss [edx+0x8], xmm0
	mov [ebx], edx
	mov dword [ebx+0x4], 0x4
	jmp _Z18Scr_CastWeakerPairP13VariableValueS0__10
_Z18Scr_CastWeakerPairP13VariableValueS0__90:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea ecx, [eax+0x4]
	mov dword [ecx-0x4], 0x0
	mov edx, [esi]
	mov [eax+0x4], edx
	mov eax, [esi]
	mov [ecx+0x4], eax
	mov eax, [esi]
	mov [ecx+0x8], eax
	mov [esi], ecx
	mov dword [esi+0x4], 0x4
	jmp _Z18Scr_CastWeakerPairP13VariableValueS0__10
	nop


;AllocValue()
_Z10AllocValuev:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	movzx edi, word [scrVarGlob+0x80024]
	test di, di
	jz _Z10AllocValuev_10
_Z10AllocValuev_40:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x80020]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x80020]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z10AllocValuev_20
	test byte [ebx+0x8], 0x60
	jnz _Z10AllocValuev_30
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x80020], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z10AllocValuev_20:
	mov [scrVarGlob+0x80024], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	mov dword [ecx+0x8], 0x60
	movzx eax, word [ebx]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z10AllocValuev_10:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z10AllocValuev_40
_Z10AllocValuev_30:
	movzx eax, word [ebp-0x1a]
	jmp _Z10AllocValuev_20
	nop


;ClearArray(unsigned int, VariableValue*)
_Z10ClearArrayjP13VariableValue:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov eax, [ebp+0x8]
	mov edx, [ebp+0xc]
	mov [ebp-0x54], edx
	test eax, eax
	jnz _Z10ClearArrayjP13VariableValue_10
	mov eax, [scrVarPub+0x3c]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x48], eax
	mov edi, [eax+0x8]
	shr edi, 0x8
	mov ebx, [scrVarPub+0x40]
	add ebx, 0x800000
	and ebx, 0xffffff
	lea eax, [edi+edi*2]
	movzx ecx, word [eax*4+g_classMap]
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x44], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z10ClearArrayjP13VariableValue_20
_Z10ClearArrayjP13VariableValue_150:
	mov ecx, 0x8002
_Z10ClearArrayjP13VariableValue_140:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jnz _Z10ClearArrayjP13VariableValue_30
_Z10ClearArrayjP13VariableValue_70:
	xor ebx, ebx
_Z10ClearArrayjP13VariableValue_40:
	mov dword [scrVarPub+0x10], 0x1
	mov eax, [ebx*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra
	call _Z2vaPKcz
	mov [ebp+0x8], eax
_Z10ClearArrayjP13VariableValue_60:
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z10ClearArrayjP13VariableValue_10:
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x4c], eax
	mov ebx, [eax+0x8]
	and ebx, 0x1f
	mov esi, [eax+0x4]
_Z10ClearArrayjP13VariableValue_130:
	cmp ebx, 0x1
	jnz _Z10ClearArrayjP13VariableValue_40
	mov [ebp-0x50], esi
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov edx, [eax+0x8]
	and edx, 0x1f
	cmp edx, 0x15
	jz _Z10ClearArrayjP13VariableValue_50
	mov dword [scrVarPub+0x10], 0x1
	mov eax, [edx*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra
	call _Z2vaPKcz
	mov [ebp+0x8], eax
	jmp _Z10ClearArrayjP13VariableValue_60
_Z10ClearArrayjP13VariableValue_30:
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	mov [esp+0x8], eax
	mov edx, [ebp-0x48]
	movzx eax, word [edx+0x6]
	mov [esp+0x4], eax
	mov [esp], edi
	call _Z19GetEntityFieldValuejii
	mov esi, eax
	mov ebx, edx
	test edx, edx
	jz _Z10ClearArrayjP13VariableValue_70
	cmp edx, 0x1
	jz _Z10ClearArrayjP13VariableValue_80
_Z10ClearArrayjP13VariableValue_350:
	lea eax, [ebx-0x1]
	cmp eax, 0x3
	ja _Z10ClearArrayjP13VariableValue_90
	test eax, eax
	jz _Z10ClearArrayjP13VariableValue_100
	cmp eax, 0x2
	jbe _Z10ClearArrayjP13VariableValue_110
	cmp byte [esi-0x1], 0x0
	jnz _Z10ClearArrayjP13VariableValue_90
	lea ecx, [esi-0x4]
	movzx eax, word [esi-0x4]
	test ax, ax
	jz _Z10ClearArrayjP13VariableValue_120
	sub eax, 0x1
	mov [esi-0x4], ax
	mov dword [ebp-0x4c], 0x0
	jmp _Z10ClearArrayjP13VariableValue_130
_Z10ClearArrayjP13VariableValue_20:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z10ClearArrayjP13VariableValue_140
	movzx eax, word [esi+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x44], eax
	jz _Z10ClearArrayjP13VariableValue_150
_Z10ClearArrayjP13VariableValue_160:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jz _Z10ClearArrayjP13VariableValue_140
	movzx eax, word [edx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x44], eax
	jnz _Z10ClearArrayjP13VariableValue_160
	jmp _Z10ClearArrayjP13VariableValue_150
_Z10ClearArrayjP13VariableValue_50:
	cmp word [eax+0x4], 0x0
	jnz _Z10ClearArrayjP13VariableValue_170
_Z10ClearArrayjP13VariableValue_240:
	mov edx, [ebp-0x54]
	mov eax, [edx+0x4]
	cmp eax, 0x6
	jz _Z10ClearArrayjP13VariableValue_180
	cmp eax, 0x2
	jz _Z10ClearArrayjP13VariableValue_190
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra1
	call _Z2vaPKcz
	mov [ebp+0x8], eax
	jmp _Z10ClearArrayjP13VariableValue_60
_Z10ClearArrayjP13VariableValue_90:
	mov dword [ebp-0x4c], 0x0
	jmp _Z10ClearArrayjP13VariableValue_130
_Z10ClearArrayjP13VariableValue_190:
	mov edx, [ebp-0x54]
	mov eax, [edx]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov eax, [ebp-0x54]
	mov ebx, [eax]
	mov [ebp-0x24], esi
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [edx+esi]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z10ClearArrayjP13VariableValue_200
_Z10ClearArrayjP13VariableValue_260:
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z10ClearArrayjP13VariableValue_170:
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	movzx eax, word [scrVarGlob+0x14]
	mov [ebp-0x3c], ax
	test ax, ax
	jz _Z10ClearArrayjP13VariableValue_210
_Z10ClearArrayjP13VariableValue_360:
	movzx eax, word [ebp-0x3c]
	shl eax, 0x4
	add eax, 0x10
	mov [ebp-0x58], eax
	mov ebx, eax
	add ebx, scrVarGlob
	movzx edx, word [eax+scrVarGlob]
	mov [ebp-0x3e], dx
	movzx eax, dx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x3a], ax
	cmp ebx, ecx
	jz _Z10ClearArrayjP13VariableValue_220
	test byte [ebx+0x8], 0x60
	jnz _Z10ClearArrayjP13VariableValue_230
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x3e]
	mov [edx+scrVarGlob+0x10], ax
	movzx eax, word [ebp-0x3c]
	mov edx, [ebp-0x58]
	mov [edx+scrVarGlob], ax
	movzx edx, word [ebx+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x3a]
_Z10ClearArrayjP13VariableValue_220:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx edx, word [ebp-0x3c]
	mov [ecx+0xc], dx
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx ebx, word [ebx]
	mov eax, ebx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov esi, ebx
	mov edx, ebx
	mov eax, [ebp-0x50]
	call _Z9CopyArrayjj
	mov eax, [ebp-0x4c]
	mov [eax+0x4], ebx
	jmp _Z10ClearArrayjP13VariableValue_240
_Z10ClearArrayjP13VariableValue_180:
	mov edx, [edx]
	lea eax, [edx+0x7e8000]
	cmp eax, 0xfe7fff
	ja _Z10ClearArrayjP13VariableValue_250
	mov [ebp-0x34], esi
	lea ebx, [edx+0x800000]
	and ebx, 0xffffff
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [edx+esi]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jnz _Z10ClearArrayjP13VariableValue_260
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z10ClearArrayjP13VariableValue_270
_Z10ClearArrayjP13VariableValue_280:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z10ClearArrayjP13VariableValue_260
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z10ClearArrayjP13VariableValue_280
_Z10ClearArrayjP13VariableValue_270:
	test esi, esi
	jz _Z10ClearArrayjP13VariableValue_260
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov eax, [ebp-0x34]
	add eax, 0x1
	mov [ebp-0x38], eax
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	add ebx, scrVarGlob+0x80020
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z10ClearArrayjP13VariableValue_290
	test eax, eax
	jz _Z10ClearArrayjP13VariableValue_300
	cmp eax, 0x2
	jbe _Z10ClearArrayjP13VariableValue_310
	cmp byte [edx-0x1], 0x0
	jnz _Z10ClearArrayjP13VariableValue_290
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z10ClearArrayjP13VariableValue_320
	sub eax, 0x1
	mov [edx-0x4], ax
_Z10ClearArrayjP13VariableValue_290:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x2c], eax
	movzx edx, word [ebx+0xe]
	mov [ebp-0x2e], dx
	movzx ecx, dx
	movzx eax, word [eax+0x2]
	movzx edi, ax
	test ax, ax
	jz _Z10ClearArrayjP13VariableValue_330
	mov eax, edi
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
_Z10ClearArrayjP13VariableValue_490:
	cmp word [ebp-0x2e], 0x0
	jz _Z10ClearArrayjP13VariableValue_340
	shl ecx, 0x4
	mov [ecx+scrVarGlob+0x80022], di
_Z10ClearArrayjP13VariableValue_480:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov eax, [ebp-0x2c]
_Z10ClearArrayjP13VariableValue_450:
	mov word [eax+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	jmp _Z10ClearArrayjP13VariableValue_260
_Z10ClearArrayjP13VariableValue_80:
	shl eax, 0x4
	cmp word [eax+scrVarGlob+0x14], 0x0
	jnz _Z10ClearArrayjP13VariableValue_350
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	mov dword [scrVarPub+0x10], 0x1
	mov dword [ebp+0x8], _cstring_readonly_array_c
	jmp _Z10ClearArrayjP13VariableValue_60
_Z10ClearArrayjP13VariableValue_100:
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	mov dword [ebp-0x4c], 0x0
	jmp _Z10ClearArrayjP13VariableValue_130
_Z10ClearArrayjP13VariableValue_230:
	movzx eax, word [ebp-0x3a]
	jmp _Z10ClearArrayjP13VariableValue_220
_Z10ClearArrayjP13VariableValue_110:
	mov [esp], esi
	call _Z20SL_RemoveRefToStringj
	mov dword [ebp-0x4c], 0x0
	jmp _Z10ClearArrayjP13VariableValue_130
_Z10ClearArrayjP13VariableValue_210:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z10ClearArrayjP13VariableValue_360
_Z10ClearArrayjP13VariableValue_250:
	mov [esp+0x4], edx
	mov dword [esp], _cstring_array_index_d_ou
	call _Z2vaPKcz
	mov [ebp+0x8], eax
	jmp _Z10ClearArrayjP13VariableValue_60
_Z10ClearArrayjP13VariableValue_200:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z10ClearArrayjP13VariableValue_370
_Z10ClearArrayjP13VariableValue_380:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z10ClearArrayjP13VariableValue_260
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z10ClearArrayjP13VariableValue_380
_Z10ClearArrayjP13VariableValue_370:
	test esi, esi
	jz _Z10ClearArrayjP13VariableValue_260
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov eax, [ebp-0x24]
	add eax, 0x1
	mov [ebp-0x28], eax
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	add ebx, scrVarGlob+0x80020
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z10ClearArrayjP13VariableValue_390
	test eax, eax
	jz _Z10ClearArrayjP13VariableValue_400
	cmp eax, 0x2
	jbe _Z10ClearArrayjP13VariableValue_410
	cmp byte [edx-0x1], 0x0
	jnz _Z10ClearArrayjP13VariableValue_390
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z10ClearArrayjP13VariableValue_420
	sub eax, 0x1
	mov [edx-0x4], ax
_Z10ClearArrayjP13VariableValue_390:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx edx, word [ebx+0xe]
	mov [ebp-0x1e], dx
	movzx ecx, dx
	movzx eax, word [eax+0x2]
	movzx edi, ax
	test ax, ax
	jz _Z10ClearArrayjP13VariableValue_430
	mov eax, edi
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
_Z10ClearArrayjP13VariableValue_470:
	cmp word [ebp-0x1e], 0x0
	jz _Z10ClearArrayjP13VariableValue_440
	shl ecx, 0x4
	mov [ecx+scrVarGlob+0x80022], di
_Z10ClearArrayjP13VariableValue_460:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov eax, [ebp-0x1c]
	jmp _Z10ClearArrayjP13VariableValue_450
_Z10ClearArrayjP13VariableValue_120:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov dword [ebp-0x4c], 0x0
	jmp _Z10ClearArrayjP13VariableValue_130
_Z10ClearArrayjP13VariableValue_440:
	shl dword [ebp-0x28], 0x4
	mov edx, [ebp-0x28]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl edi, 0x4
	movzx edx, word [edi+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z10ClearArrayjP13VariableValue_460
_Z10ClearArrayjP13VariableValue_430:
	mov eax, [ebp-0x28]
	shl eax, 0x4
	mov edx, ecx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0xe], dx
	jmp _Z10ClearArrayjP13VariableValue_470
_Z10ClearArrayjP13VariableValue_340:
	shl dword [ebp-0x38], 0x4
	mov edx, [ebp-0x38]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl edi, 0x4
	movzx edx, word [edi+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z10ClearArrayjP13VariableValue_480
_Z10ClearArrayjP13VariableValue_330:
	mov eax, [ebp-0x38]
	shl eax, 0x4
	mov edx, ecx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0xe], dx
	jmp _Z10ClearArrayjP13VariableValue_490
_Z10ClearArrayjP13VariableValue_400:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z10ClearArrayjP13VariableValue_390
_Z10ClearArrayjP13VariableValue_300:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z10ClearArrayjP13VariableValue_290
_Z10ClearArrayjP13VariableValue_410:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z10ClearArrayjP13VariableValue_390
_Z10ClearArrayjP13VariableValue_310:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z10ClearArrayjP13VariableValue_290
_Z10ClearArrayjP13VariableValue_420:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z10ClearArrayjP13VariableValue_390
_Z10ClearArrayjP13VariableValue_320:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z10ClearArrayjP13VariableValue_290
	add [eax], al


;FindObject(unsigned int)
_Z10FindObjectj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80024]
	pop ebp
	ret
	nop


;GetObjectA(unsigned int)
_Z10GetObjectAj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov eax, [ebp+0x8]
	shl eax, 0x4
	lea edi, [eax+scrVarGlob+0x80020]
	mov eax, [edi+0x8]
	test al, 0x1f
	jnz _Z10GetObjectAj_10
	or eax, 0x1
	mov [edi+0x8], eax
	movzx eax, word [scrVarGlob+0x14]
	mov [ebp-0x1c], ax
	test ax, ax
	jz _Z10GetObjectAj_20
_Z10GetObjectAj_50:
	movzx eax, word [ebp-0x1c]
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1e], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z10GetObjectAj_30
	test byte [ebx+0x8], 0x60
	jz _Z10GetObjectAj_40
	movzx eax, word [ebp-0x1a]
_Z10GetObjectAj_30:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [ebp-0x1c]
	mov [ecx+0xc], ax
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x72
	mov word [eax+0x4], 0x0
	mov [edi+0x4], edx
	mov eax, edx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z10GetObjectAj_40:
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1e]
	mov [edx+scrVarGlob+0x10], ax
	movzx eax, word [ebp-0x1c]
	mov [esi+scrVarGlob], ax
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
	jmp _Z10GetObjectAj_30
_Z10GetObjectAj_20:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z10GetObjectAj_50
_Z10GetObjectAj_10:
	mov eax, [edi+0x4]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;Scr_EvalOr(VariableValue*, VariableValue*)
_Z10Scr_EvalOrP13VariableValueS0_:
	push ebp
	mov ebp, esp
	mov ecx, [ebp+0x8]
	mov edx, [ebp+0xc]
	cmp dword [ecx+0x4], 0x6
	jz _Z10Scr_EvalOrP13VariableValueS0__10
_Z10Scr_EvalOrP13VariableValueS0__20:
	mov [ebp+0xc], edx
	mov [ebp+0x8], ecx
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z10Scr_EvalOrP13VariableValueS0__10:
	cmp dword [edx+0x4], 0x6
	jnz _Z10Scr_EvalOrP13VariableValueS0__20
	mov eax, [ecx]
	or eax, [edx]
	mov [ecx], eax
	pop ebp
	ret
	nop


;AllocObject()
_Z11AllocObjectv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z11AllocObjectv_10
_Z11AllocObjectv_40:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z11AllocObjectv_20
	test byte [ebx+0x8], 0x60
	jnz _Z11AllocObjectv_30
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z11AllocObjectv_20:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx eax, word [ebx]
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov dword [edx+0x8], 0x72
	mov word [edx+0x4], 0x0
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z11AllocObjectv_10:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z11AllocObjectv_40
_Z11AllocObjectv_30:
	movzx eax, word [ebp-0x1a]
	jmp _Z11AllocObjectv_20
	nop


;AllocThread(unsigned int)
_Z11AllocThreadj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z11AllocThreadj_10
_Z11AllocThreadj_40:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z11AllocThreadj_20
	test byte [ebx+0x8], 0x60
	jnz _Z11AllocThreadj_30
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z11AllocThreadj_20:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx eax, word [ebx]
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov dword [edx+0x8], 0x6e
	mov word [edx+0x4], 0x0
	mov ecx, [ebp+0x8]
	mov [edx+0x6], cx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z11AllocThreadj_10:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z11AllocThreadj_40
_Z11AllocThreadj_30:
	movzx eax, word [ebp-0x1a]
	jmp _Z11AllocThreadj_20


;ClearObject(unsigned int)
_Z11ClearObjectj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov ecx, [ebp+0x8]
	lea edi, [ecx+0x1]
	mov eax, edi
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	add eax, scrVarGlob
	mov [ebp-0x28], eax
	movzx eax, word [eax+0xe]
	test ax, ax
	jz _Z11ClearObjectj_10
	movzx eax, ax
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [ecx+edx]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x24], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z11ClearObjectj_20
_Z11ClearObjectj_140:
	xor esi, esi
_Z11ClearObjectj_30:
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov edx, [ebp-0x28]
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x8002e]
	movzx esi, ax
	test ax, ax
	jnz _Z11ClearObjectj_30
	mov eax, [ebp-0x28]
	movzx eax, word [eax+0xe]
	mov [ebp-0x20], eax
	shl edi, 0x4
	mov [ebp-0x30], edi
	jmp _Z11ClearObjectj_40
_Z11ClearObjectj_100:
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x4a], 0x0
	jz _Z11ClearObjectj_50
_Z11ClearObjectj_110:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
_Z11ClearObjectj_120:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov ecx, [ebp-0x1c]
	mov word [ecx+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	cmp word [ebp-0x2a], 0x0
	jz _Z11ClearObjectj_10
	mov eax, [ebp-0x20]
_Z11ClearObjectj_40:
	add eax, 0x8002
	shl eax, 0x4
	movzx edx, word [eax+scrVarGlob+0xe]
	mov [ebp-0x2a], dx
	movzx edx, dx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [ebp-0x20], edx
	lea ebx, [eax+scrVarGlob]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z11ClearObjectj_60
	test eax, eax
	jz _Z11ClearObjectj_70
	cmp eax, 0x2
	jbe _Z11ClearObjectj_80
	cmp byte [edx-0x1], 0x0
	jnz _Z11ClearObjectj_60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z11ClearObjectj_90
	sub eax, 0x1
	mov [edx-0x4], ax
_Z11ClearObjectj_60:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx ecx, word [ebx+0xe]
	mov [ebp-0x4a], cx
	movzx edx, cx
	movzx eax, word [eax+0x2]
	movzx ecx, ax
	test ax, ax
	jnz _Z11ClearObjectj_100
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	mov edi, [ebp-0x30]
	mov [edi+scrVarGlob+0xe], ax
	cmp word [ebp-0x4a], 0x0
	jnz _Z11ClearObjectj_110
_Z11ClearObjectj_50:
	mov edx, [ebp-0x30]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ecx, 0x4
	movzx edx, word [ecx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z11ClearObjectj_120
_Z11ClearObjectj_10:
	mov edi, [ebp-0x28]
	movzx eax, word [edi+0x4]
	test ax, ax
	jz _Z11ClearObjectj_130
	sub eax, 0x1
	mov [edi+0x4], ax
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z11ClearObjectj_130:
	movzx edx, word [edi+0xc]
	mov dword [edi+0x8], 0x0
	movzx eax, word [scrVarGlob+0x14]
	mov ecx, [ebp-0x28]
	mov [ecx+0x4], ax
	mov eax, edx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [scrVarGlob+0x14]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	mov [scrVarGlob+0x14], dx
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z11ClearObjectj_70:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z11ClearObjectj_60
_Z11ClearObjectj_80:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z11ClearObjectj_60
_Z11ClearObjectj_20:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z11ClearObjectj_30
_Z11ClearObjectj_150:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z11ClearObjectj_140
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z11ClearObjectj_150
	jmp _Z11ClearObjectj_30
_Z11ClearObjectj_90:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z11ClearObjectj_60
	nop


;GetVariable(unsigned int, unsigned int)
_Z11GetVariablejj:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0xc]
	mov [esp+0x4], eax
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z24GetVariableIndexInternaljj
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	leave
	ret


;Scr_EvalAnd(VariableValue*, VariableValue*)
_Z11Scr_EvalAndP13VariableValueS0_:
	push ebp
	mov ebp, esp
	mov ecx, [ebp+0x8]
	mov edx, [ebp+0xc]
	cmp dword [ecx+0x4], 0x6
	jz _Z11Scr_EvalAndP13VariableValueS0__10
_Z11Scr_EvalAndP13VariableValueS0__20:
	mov [ebp+0xc], edx
	mov [ebp+0x8], ecx
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z11Scr_EvalAndP13VariableValueS0__10:
	cmp dword [edx+0x4], 0x6
	jnz _Z11Scr_EvalAndP13VariableValueS0__20
	mov eax, [ecx]
	and eax, [edx]
	mov [ecx], eax
	pop ebp
	ret
	nop


;Scr_EvalMod(VariableValue*, VariableValue*)
_Z11Scr_EvalModP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push ebx
	mov ecx, [ebp+0x8]
	mov eax, [ebp+0xc]
	cmp dword [ecx+0x4], 0x6
	jz _Z11Scr_EvalModP13VariableValueS0__10
_Z11Scr_EvalModP13VariableValueS0__20:
	mov [ebp+0xc], eax
	mov [ebp+0x8], ecx
	pop ebx
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z11Scr_EvalModP13VariableValueS0__10:
	cmp dword [eax+0x4], 0x6
	jnz _Z11Scr_EvalModP13VariableValueS0__20
	mov edx, [eax]
	test edx, edx
	jz _Z11Scr_EvalModP13VariableValueS0__30
	mov eax, [ecx]
	mov ebx, edx
	cdq
	idiv ebx
	mov [ecx], edx
	pop ebx
	pop ebp
	ret
_Z11Scr_EvalModP13VariableValueS0__30:
	mov dword [ecx], 0x0
	mov dword [ebp+0x8], _cstring_divide_by_0
	pop ebx
	pop ebp
	jmp _Z9Scr_ErrorPKc
	nop


;Scr_GetSelf(unsigned int)
_Z11Scr_GetSelfj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x16]
	pop ebp
	ret
	add [eax], al


;FindEntityId(int, unsigned int)
_Z12FindEntityIdij:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	mov eax, [ebp+0xc]
	mov ebx, [ebp+0x8]
	add ebx, 0x800000
	and ebx, 0xffffff
	lea eax, [eax+eax*2]
	movzx ecx, word [eax*4+g_classMap+0x2]
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z12FindEntityIdij_10
_Z12FindEntityIdij_40:
	mov ecx, 0x8002
_Z12FindEntityIdij_30:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z12FindEntityIdij_20
_Z12FindEntityIdij_70:
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z12FindEntityIdij_10:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z12FindEntityIdij_30
	movzx ecx, word [esi+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z12FindEntityIdij_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z12FindEntityIdij_50
_Z12FindEntityIdij_60:
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z12FindEntityIdij_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z12FindEntityIdij_60
_Z12FindEntityIdij_50:
	add ecx, 0x8002
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jnz _Z12FindEntityIdij_70
_Z12FindEntityIdij_20:
	xor eax, eax
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;FindVariable(unsigned int, unsigned int)
_Z12FindVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	mov esi, [ebp+0xc]
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, [ebp+0x8]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z12FindVariablejj_10
_Z12FindVariablejj_40:
	mov ecx, 0x8002
_Z12FindVariablejj_20:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z12FindVariablejj_10:
	shr edx, 0x8
	cmp esi, edx
	jz _Z12FindVariablejj_20
	movzx ecx, word [ebx+0xc]
	jmp _Z12FindVariablejj_30
_Z12FindVariablejj_50:
	movzx ecx, word [edx+0xc]
_Z12FindVariablejj_30:
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z12FindVariablejj_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z12FindVariablejj_50
	add ecx, 0x8002
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;GetArraySize(unsigned int)
_Z12GetArraySizej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x16]
	pop ebp
	ret


;GetValueType(unsigned int)
_Z12GetValueTypej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80028]
	and eax, 0x1f
	pop ebp
	ret


;IsObjectFree(unsigned int)
_Z12IsObjectFreej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	test byte [eax+scrVarGlob+0x18], 0x60
	setz al
	movzx eax, al
	pop ebp
	ret


;Scr_CastBool(VariableValue*)
_Z12Scr_CastBoolP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, [ebp+0x8]
	mov esi, [ebx+0x4]
	cmp esi, 0x6
	jz _Z12Scr_CastBoolP13VariableValue_10
	cmp esi, 0x5
	jz _Z12Scr_CastBoolP13VariableValue_20
	mov edx, [ebx]
	lea eax, [esi-0x1]
	cmp eax, 0x3
	jbe _Z12Scr_CastBoolP13VariableValue_30
_Z12Scr_CastBoolP13VariableValue_60:
	mov dword [ebx+0x4], 0x0
	mov eax, [esi*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_cannot_cast_s_to
	call _Z2vaPKcz
	mov [ebp+0x8], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z12Scr_CastBoolP13VariableValue_30:
	test eax, eax
	jz _Z12Scr_CastBoolP13VariableValue_40
	cmp eax, 0x2
	jbe _Z12Scr_CastBoolP13VariableValue_50
	cmp byte [edx-0x1], 0x0
	jnz _Z12Scr_CastBoolP13VariableValue_60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z12Scr_CastBoolP13VariableValue_70
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z12Scr_CastBoolP13VariableValue_60
_Z12Scr_CastBoolP13VariableValue_10:
	xor eax, eax
	cmp dword [ebx], 0x0
	setnz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z12Scr_CastBoolP13VariableValue_20:
	mov dword [ebx+0x4], 0x6
	pxor xmm0, xmm0
	ucomiss xmm0, [ebx]
	setnz al
	setp dl
	or al, dl
	movzx eax, al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z12Scr_CastBoolP13VariableValue_40:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z12Scr_CastBoolP13VariableValue_60
_Z12Scr_CastBoolP13VariableValue_50:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z12Scr_CastBoolP13VariableValue_60
_Z12Scr_CastBoolP13VariableValue_70:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z12Scr_CastBoolP13VariableValue_60


;Scr_EvalExOr(VariableValue*, VariableValue*)
_Z12Scr_EvalExOrP13VariableValueS0_:
	push ebp
	mov ebp, esp
	mov ecx, [ebp+0x8]
	mov edx, [ebp+0xc]
	cmp dword [ecx+0x4], 0x6
	jz _Z12Scr_EvalExOrP13VariableValueS0__10
_Z12Scr_EvalExOrP13VariableValueS0__20:
	mov [ebp+0xc], edx
	mov [ebp+0x8], ecx
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z12Scr_EvalExOrP13VariableValueS0__10:
	cmp dword [edx+0x4], 0x6
	jnz _Z12Scr_EvalExOrP13VariableValueS0__20
	mov eax, [ecx]
	xor eax, [edx]
	mov [ecx], eax
	pop ebp
	ret
	nop


;Scr_EvalLess(VariableValue*, VariableValue*)
_Z12Scr_EvalLessP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z12Scr_EvalLessP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z12Scr_EvalLessP13VariableValueS0__20
	mov [ebp+0xc], esi
	mov [ebp+0x8], ebx
	pop ebx
	pop esi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z12Scr_EvalLessP13VariableValueS0__10:
	mov dword [ebx+0x4], 0x6
	movss xmm0, dword [esi]
	xor eax, eax
	ucomiss xmm0, [ebx]
	seta al
	mov [ebx], eax
	pop ebx
	pop esi
	pop ebp
	ret
_Z12Scr_EvalLessP13VariableValueS0__20:
	mov eax, [ebx]
	cmp eax, [esi]
	setl al
	movzx eax, al
	mov [ebx], eax
	pop ebx
	pop esi
	pop ebp
	ret


;Scr_EvalPlus(VariableValue*, VariableValue*)
_Z12Scr_EvalPlusP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x202c
	mov esi, [ebp+0x8]
	mov edi, [ebp+0xc]
	mov edx, [esi+0x4]
	mov eax, [edi+0x4]
	cmp edx, eax
	jz _Z12Scr_EvalPlusP13VariableValueS0__10
	jl _Z12Scr_EvalPlusP13VariableValueS0__20
	cmp eax, 0x2
	jz _Z12Scr_EvalPlusP13VariableValueS0__30
	cmp eax, 0x5
	jz _Z12Scr_EvalPlusP13VariableValueS0__40
_Z12Scr_EvalPlusP13VariableValueS0__120:
	mov [esp+0x4], edi
	mov [esp], esi
	call _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
	mov edx, [esi+0x4]
_Z12Scr_EvalPlusP13VariableValueS0__10:
	cmp edx, 0x4
	jz _Z12Scr_EvalPlusP13VariableValueS0__50
_Z12Scr_EvalPlusP13VariableValueS0__200:
	cmp edx, 0x4
	jg _Z12Scr_EvalPlusP13VariableValueS0__60
	cmp edx, 0x2
	jz _Z12Scr_EvalPlusP13VariableValueS0__70
_Z12Scr_EvalPlusP13VariableValueS0__90:
	mov [esp+0x4], edi
	mov [esp], esi
	call _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z12Scr_EvalPlusP13VariableValueS0__100:
	add esp, 0x202c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z12Scr_EvalPlusP13VariableValueS0__60:
	cmp edx, 0x5
	jz _Z12Scr_EvalPlusP13VariableValueS0__80
	cmp edx, 0x6
	jnz _Z12Scr_EvalPlusP13VariableValueS0__90
	mov eax, [esi]
	add eax, [edi]
	mov [esi], eax
	jmp _Z12Scr_EvalPlusP13VariableValueS0__100
_Z12Scr_EvalPlusP13VariableValueS0__20:
	cmp edx, 0x2
	jz _Z12Scr_EvalPlusP13VariableValueS0__110
	cmp edx, 0x5
	jnz _Z12Scr_EvalPlusP13VariableValueS0__120
_Z12Scr_EvalPlusP13VariableValueS0__240:
	cmp eax, 0x6
	jnz _Z12Scr_EvalPlusP13VariableValueS0__120
	mov dword [edi+0x4], 0x5
	cvtsi2ss xmm0, dword [edi]
	movss [edi], xmm0
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__50:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea ebx, [eax+0x4]
	mov dword [ebx-0x4], 0x0
	mov edx, [esi]
	mov ecx, [edi]
	movss xmm0, dword [edx]
	addss xmm0, [ecx]
	movss [eax+0x4], xmm0
	mov eax, [esi]
	mov edx, [edi]
	movss xmm0, dword [eax+0x4]
	addss xmm0, [edx+0x4]
	movss [ebx+0x4], xmm0
	mov eax, [esi]
	mov edx, [edi]
	movss xmm0, dword [eax+0x8]
	addss xmm0, [edx+0x8]
	movss [ebx+0x8], xmm0
	mov edx, [esi]
	cmp byte [edx-0x1], 0x0
	jnz _Z12Scr_EvalPlusP13VariableValueS0__130
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z12Scr_EvalPlusP13VariableValueS0__140
	sub eax, 0x1
	mov [edx-0x4], ax
_Z12Scr_EvalPlusP13VariableValueS0__130:
	mov edx, [edi]
	cmp byte [edx-0x1], 0x0
	jnz _Z12Scr_EvalPlusP13VariableValueS0__150
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z12Scr_EvalPlusP13VariableValueS0__160
	sub eax, 0x1
	mov [edx-0x4], ax
_Z12Scr_EvalPlusP13VariableValueS0__150:
	mov [esi], ebx
_Z12Scr_EvalPlusP13VariableValueS0__280:
	add esp, 0x202c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z12Scr_EvalPlusP13VariableValueS0__30:
	cmp edx, 0x5
	jz _Z12Scr_EvalPlusP13VariableValueS0__170
	cmp edx, 0x6
	jz _Z12Scr_EvalPlusP13VariableValueS0__180
	cmp edx, 0x4
	jz _Z12Scr_EvalPlusP13VariableValueS0__190
_Z12Scr_EvalPlusP13VariableValueS0__40:
	cmp edx, 0x6
	jnz _Z12Scr_EvalPlusP13VariableValueS0__120
	mov dl, 0x5
	mov dword [esi+0x4], 0x5
	cvtsi2ss xmm0, dword [esi]
	movss [esi], xmm0
	jmp _Z12Scr_EvalPlusP13VariableValueS0__200
_Z12Scr_EvalPlusP13VariableValueS0__80:
	movss xmm0, dword [esi]
	addss xmm0, [edi]
	movss [esi], xmm0
	add esp, 0x202c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z12Scr_EvalPlusP13VariableValueS0__70:
	mov eax, [esi]
	mov [esp], eax
	call _Z18SL_ConvertToStringj
	mov ebx, eax
	mov eax, [edi]
	mov [esp], eax
	call _Z18SL_ConvertToStringj
	mov [ebp-0x201c], eax
	mov eax, [esi]
	mov [esp], eax
	call _Z15SL_GetStringLenj
	mov [ebp-0x2020], eax
	mov eax, [edi]
	mov [esp], eax
	call _Z15SL_GetStringLenj
	mov edx, [ebp-0x2020]
	lea eax, [edx+eax+0x1]
	mov [ebp-0x2024], eax
	cmp eax, 0x2000
	jle _Z12Scr_EvalPlusP13VariableValueS0__210
	mov eax, [esi]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov eax, [edi]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov dword [esi+0x4], 0x0
	mov dword [edi+0x4], 0x0
	mov eax, [ebp-0x201c]
	mov [esp+0x8], eax
	mov [esp+0x4], ebx
	mov dword [esp], _cstring_cannot_concat_s_
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	jmp _Z12Scr_EvalPlusP13VariableValueS0__100
_Z12Scr_EvalPlusP13VariableValueS0__110:
	cmp eax, 0x5
	jz _Z12Scr_EvalPlusP13VariableValueS0__220
	cmp eax, 0x6
	jz _Z12Scr_EvalPlusP13VariableValueS0__230
	cmp eax, 0x4
	jnz _Z12Scr_EvalPlusP13VariableValueS0__240
	mov dword [edi+0x4], 0x2
	mov ebx, [edi]
	mov [esp], ebx
	call _Z21SL_GetStringForVectorPKf
	mov [edi], eax
	cmp byte [ebx-0x1], 0x0
	jz _Z12Scr_EvalPlusP13VariableValueS0__250
_Z12Scr_EvalPlusP13VariableValueS0__260:
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__210:
	mov [esp+0x4], ebx
	lea ebx, [ebp-0x2018]
	mov [esp], ebx
	call strcpy
	mov edx, [ebp-0x201c]
	mov [esp+0x4], edx
	mov edx, [ebp-0x2020]
	lea eax, [ebx+edx]
	mov [esp], eax
	call strcpy
	mov dword [esp+0xc], 0xf
	mov eax, [ebp-0x2024]
	mov [esp+0x8], eax
	mov dword [esp+0x4], 0x0
	mov [esp], ebx
	call SL_GetStringOfSize
	mov ebx, eax
	mov eax, [esi]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov eax, [edi]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov [esi], ebx
	jmp _Z12Scr_EvalPlusP13VariableValueS0__100
_Z12Scr_EvalPlusP13VariableValueS0__190:
	mov dword [esi+0x4], 0x2
	mov ebx, [esi]
	mov [esp], ebx
	call _Z21SL_GetStringForVectorPKf
	mov [esi], eax
	cmp byte [ebx-0x1], 0x0
	jnz _Z12Scr_EvalPlusP13VariableValueS0__260
_Z12Scr_EvalPlusP13VariableValueS0__250:
	lea edx, [ebx-0x4]
	movzx eax, word [ebx-0x4]
	test ax, ax
	jz _Z12Scr_EvalPlusP13VariableValueS0__270
	sub eax, 0x1
	mov [ebx-0x4], ax
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__140:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z12Scr_EvalPlusP13VariableValueS0__130
_Z12Scr_EvalPlusP13VariableValueS0__160:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov [esi], ebx
	jmp _Z12Scr_EvalPlusP13VariableValueS0__280
_Z12Scr_EvalPlusP13VariableValueS0__170:
	mov dword [esi+0x4], 0x2
	mov eax, [esi]
	mov [esp], eax
	call _Z20SL_GetStringForFloatf
	mov [esi], eax
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__220:
	mov dword [edi+0x4], 0x2
	mov eax, [edi]
	mov [esp], eax
	call _Z20SL_GetStringForFloatf
	mov [edi], eax
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__230:
	mov dword [edi+0x4], 0x2
	mov eax, [edi]
	mov [esp], eax
	call _Z18SL_GetStringForInti
	mov [edi], eax
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__180:
	mov dword [esi+0x4], 0x2
	mov eax, [esi]
	mov [esp], eax
	call _Z18SL_GetStringForInti
	mov [esi], eax
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
_Z12Scr_EvalPlusP13VariableValueS0__270:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov edx, [esi+0x4]
	jmp _Z12Scr_EvalPlusP13VariableValueS0__10
	nop


;Scr_GetVarId(unsigned int)
_Z12Scr_GetVarIdj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	pop ebp
	ret


;AddRefToValue(int, VariableUnion)
_Z13AddRefToValuei13VariableUnion:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0xc]
	mov edx, [ebp+0x8]
	sub edx, 0x1
	cmp edx, 0x3
	ja _Z13AddRefToValuei13VariableUnion_10
	test edx, edx
	jz _Z13AddRefToValuei13VariableUnion_20
	cmp edx, 0x2
	jbe _Z13AddRefToValuei13VariableUnion_30
	cmp byte [eax-0x1], 0x0
	jnz _Z13AddRefToValuei13VariableUnion_10
	add word [eax-0x4], 0x1
_Z13AddRefToValuei13VariableUnion_10:
	pop ebp
	ret
_Z13AddRefToValuei13VariableUnion_20:
	add eax, 0x1
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	pop ebp
	ret
_Z13AddRefToValuei13VariableUnion_30:
	mov [ebp+0x8], eax
	pop ebp
	jmp _Z17SL_AddRefToStringj


;GetObjectType(unsigned int)
_Z13GetObjectTypej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	and eax, 0x1f
	pop ebp
	ret
	add [eax], al


;IsFieldObject(unsigned int)
_Z13IsFieldObjectj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	and eax, 0x1f
	cmp eax, 0x14
	setbe al
	movzx eax, al
	pop ebp
	ret
	nop
	add [eax], al


;Scr_AddFields(char const*, char const*)
_Z13Scr_AddFieldsPKcS0_:
	push ebp
	mov ebp, esp
	mov eax, useFastFile
	mov eax, [eax]
	mov ecx, _Z22Scr_AddFields_FastFilePKcS0_
	cmp byte [eax+0xc], 0x0
	mov eax, _Z21Scr_AddFields_LoadObjPKcS0_
	cmovz ecx, eax
	pop ebp
	jmp ecx


;Scr_EvalArray(VariableValue*, VariableValue*)
_Z13Scr_EvalArrayP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov dword [ebp-0x38], 0x0
	mov dword [ebp-0x34], 0x0
	mov esi, [ebp+0xc]
	mov edx, [ebp+0x8]
	mov eax, [edx+0x4]
	cmp eax, 0x2
	jz _Z13Scr_EvalArrayP13VariableValueS0__10
	cmp eax, 0x4
	jz _Z13Scr_EvalArrayP13VariableValueS0__20
	sub eax, 0x1
	jz _Z13Scr_EvalArrayP13VariableValueS0__30
	mov dword [scrVarPub+0x10], 0x1
	mov eax, [edx+0x4]
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra2
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
_Z13Scr_EvalArrayP13VariableValueS0__70:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalArrayP13VariableValueS0__10:
	mov eax, [esi+0x4]
	cmp eax, 0x6
	jz _Z13Scr_EvalArrayP13VariableValueS0__40
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_a_strin
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalArrayP13VariableValueS0__20:
	mov eax, [esi+0x4]
	cmp eax, 0x6
	jz _Z13Scr_EvalArrayP13VariableValueS0__50
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_a_vecto
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalArrayP13VariableValueS0__30:
	mov eax, [ebp+0x8]
	mov edx, [eax]
	lea ebx, [edx+0x1]
	shl ebx, 0x4
	mov eax, [ebx+scrVarGlob+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z13Scr_EvalArrayP13VariableValueS0__60
	mov dword [scrVarPub+0x10], 0x1
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	jmp _Z13Scr_EvalArrayP13VariableValueS0__70
_Z13Scr_EvalArrayP13VariableValueS0__40:
	mov eax, [esi]
	test eax, eax
	js _Z13Scr_EvalArrayP13VariableValueS0__80
	mov ecx, [ebp+0x8]
	mov eax, [ecx]
	mov [esp], eax
	call _Z18SL_ConvertToStringj
	mov edx, eax
	cld
	mov ecx, 0xffffffff
	xor eax, eax
	mov edi, edx
	repne scasb
	not ecx
	sub ecx, 0x1
	cmp [esi], ecx
	jl _Z13Scr_EvalArrayP13VariableValueS0__90
_Z13Scr_EvalArrayP13VariableValueS0__80:
	mov eax, [esi]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_string_index_d_o
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalArrayP13VariableValueS0__50:
	mov edx, [esi]
	cmp edx, 0x2
	ja _Z13Scr_EvalArrayP13VariableValueS0__100
	mov dword [esi+0x4], 0x5
	mov ecx, [ebp+0x8]
	mov eax, [ecx]
	mov eax, [eax+edx*4]
	mov [esi], eax
	mov edx, [ecx]
	cmp byte [edx-0x1], 0x0
	jnz _Z13Scr_EvalArrayP13VariableValueS0__70
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z13Scr_EvalArrayP13VariableValueS0__110
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z13Scr_EvalArrayP13VariableValueS0__70
_Z13Scr_EvalArrayP13VariableValueS0__60:
	mov eax, [esi+0x4]
	cmp eax, 0x6
	jz _Z13Scr_EvalArrayP13VariableValueS0__120
	cmp eax, 0x2
	jz _Z13Scr_EvalArrayP13VariableValueS0__130
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra1
_Z13Scr_EvalArrayP13VariableValueS0__290:
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	add word [ebx+scrVarGlob+0x4], 0x1
	mov eax, 0x8002
_Z13Scr_EvalArrayP13VariableValueS0__170:
	shl eax, 0x4
	add eax, scrVarGlob
	mov edi, [eax+0x8]
	and edi, 0x1f
	mov ebx, [eax+0x4]
	lea eax, [edi-0x1]
	cmp eax, 0x3
	ja _Z13Scr_EvalArrayP13VariableValueS0__140
	test eax, eax
	jnz _Z13Scr_EvalArrayP13VariableValueS0__150
	lea eax, [ebx+0x1]
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
_Z13Scr_EvalArrayP13VariableValueS0__140:
	mov [ebp-0x38], ebx
	mov [ebp-0x34], edi
	mov eax, [ebp-0x38]
	mov edx, [ebp-0x34]
	mov [esi], eax
	mov [esi+0x4], edx
	mov edx, [ebp+0x8]
	mov eax, [edx]
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	jmp _Z13Scr_EvalArrayP13VariableValueS0__70
_Z13Scr_EvalArrayP13VariableValueS0__130:
	mov edi, [esi]
	lea ecx, [edi+edi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [edi+ecx*4]
	lea ecx, [edx+ecx]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x2c], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z13Scr_EvalArrayP13VariableValueS0__160
_Z13Scr_EvalArrayP13VariableValueS0__190:
	mov ecx, 0x8002
_Z13Scr_EvalArrayP13VariableValueS0__180:
	shl ecx, 0x4
	movzx ebx, word [ecx+scrVarGlob]
	mov [esp], edi
	call _Z20SL_RemoveRefToStringj
	lea eax, [ebx+0x8002]
	jmp _Z13Scr_EvalArrayP13VariableValueS0__170
_Z13Scr_EvalArrayP13VariableValueS0__160:
	shr edx, 0x8
	cmp edi, edx
	jz _Z13Scr_EvalArrayP13VariableValueS0__180
	movzx ecx, word [ebx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x2c], eax
	jz _Z13Scr_EvalArrayP13VariableValueS0__190
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp edi, eax
	jz _Z13Scr_EvalArrayP13VariableValueS0__200
_Z13Scr_EvalArrayP13VariableValueS0__210:
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x2c], eax
	jz _Z13Scr_EvalArrayP13VariableValueS0__190
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, edi
	jnz _Z13Scr_EvalArrayP13VariableValueS0__210
_Z13Scr_EvalArrayP13VariableValueS0__200:
	add ecx, 0x8002
	jmp _Z13Scr_EvalArrayP13VariableValueS0__180
_Z13Scr_EvalArrayP13VariableValueS0__90:
	mov dword [esi+0x4], 0x2
	mov eax, [esi]
	movzx eax, byte [edx+eax]
	mov [ebp-0x1a], al
	mov byte [ebp-0x19], 0x0
	mov dword [esp+0xc], 0xf
	mov dword [esp+0x8], 0x2
	mov dword [esp+0x4], 0x0
	lea eax, [ebp-0x1a]
	mov [esp], eax
	call SL_GetStringOfSize
	mov [esi], eax
	mov edx, [ebp+0x8]
	mov eax, [edx]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	jmp _Z13Scr_EvalArrayP13VariableValueS0__70
_Z13Scr_EvalArrayP13VariableValueS0__100:
	mov [esp+0x4], edx
	mov dword [esp], _cstring_vector_index_d_o
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	jmp _Z13Scr_EvalArrayP13VariableValueS0__70
_Z13Scr_EvalArrayP13VariableValueS0__120:
	mov ecx, [esi]
	lea eax, [ecx+0x7e8000]
	cmp eax, 0xfe7fff
	ja _Z13Scr_EvalArrayP13VariableValueS0__220
	lea ebx, [ecx+0x800000]
	and ebx, 0xffffff
	lea ecx, [ebx+ebx*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [ebx+ecx*4]
	lea ecx, [edx+ecx]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x30], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edi, [eax+scrVarGlob+0x80020]
	mov edx, [edi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z13Scr_EvalArrayP13VariableValueS0__230
_Z13Scr_EvalArrayP13VariableValueS0__250:
	mov ecx, 0x8002
_Z13Scr_EvalArrayP13VariableValueS0__240:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	add eax, 0x8002
	jmp _Z13Scr_EvalArrayP13VariableValueS0__170
_Z13Scr_EvalArrayP13VariableValueS0__230:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z13Scr_EvalArrayP13VariableValueS0__240
	movzx ecx, word [edi+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x30], eax
	jz _Z13Scr_EvalArrayP13VariableValueS0__250
_Z13Scr_EvalArrayP13VariableValueS0__270:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jz _Z13Scr_EvalArrayP13VariableValueS0__260
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x30], eax
	jnz _Z13Scr_EvalArrayP13VariableValueS0__270
	jmp _Z13Scr_EvalArrayP13VariableValueS0__250
_Z13Scr_EvalArrayP13VariableValueS0__150:
	cmp eax, 0x2
	jbe _Z13Scr_EvalArrayP13VariableValueS0__280
	cmp byte [ebx-0x1], 0x0
	jnz _Z13Scr_EvalArrayP13VariableValueS0__140
	add word [ebx-0x4], 0x1
	jmp _Z13Scr_EvalArrayP13VariableValueS0__140
_Z13Scr_EvalArrayP13VariableValueS0__110:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z13Scr_EvalArrayP13VariableValueS0__70
_Z13Scr_EvalArrayP13VariableValueS0__220:
	mov [esp+0x4], ecx
	mov dword [esp], _cstring_array_index_d_ou
	jmp _Z13Scr_EvalArrayP13VariableValueS0__290
_Z13Scr_EvalArrayP13VariableValueS0__280:
	mov [esp], ebx
	call _Z17SL_AddRefToStringj
	jmp _Z13Scr_EvalArrayP13VariableValueS0__140
_Z13Scr_EvalArrayP13VariableValueS0__260:
	add ecx, 0x8002
	jmp _Z13Scr_EvalArrayP13VariableValueS0__240


;Scr_EvalMinus(VariableValue*, VariableValue*)
_Z13Scr_EvalMinusP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z13Scr_EvalMinusP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z13Scr_EvalMinusP13VariableValueS0__20
	cmp eax, 0x4
	jz _Z13Scr_EvalMinusP13VariableValueS0__30
	mov [ebp+0xc], esi
	mov [ebp+0x8], ebx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z13Scr_EvalMinusP13VariableValueS0__10:
	movss xmm0, dword [ebx]
	subss xmm0, [esi]
	movss [ebx], xmm0
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalMinusP13VariableValueS0__20:
	mov eax, [ebx]
	sub eax, [esi]
	mov [ebx], eax
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalMinusP13VariableValueS0__30:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea edi, [eax+0x4]
	mov dword [edi-0x4], 0x0
	mov edx, [ebx]
	mov ecx, [esi]
	movss xmm0, dword [edx]
	subss xmm0, [ecx]
	movss [eax+0x4], xmm0
	mov eax, [ebx]
	mov edx, [esi]
	movss xmm0, dword [eax+0x4]
	subss xmm0, [edx+0x4]
	movss [edi+0x4], xmm0
	mov eax, [ebx]
	mov edx, [esi]
	movss xmm0, dword [eax+0x8]
	subss xmm0, [edx+0x8]
	movss [edi+0x8], xmm0
	mov edx, [ebx]
	cmp byte [edx-0x1], 0x0
	jnz _Z13Scr_EvalMinusP13VariableValueS0__40
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z13Scr_EvalMinusP13VariableValueS0__50
	sub eax, 0x1
	mov [edx-0x4], ax
_Z13Scr_EvalMinusP13VariableValueS0__40:
	mov edx, [esi]
	cmp byte [edx-0x1], 0x0
	jnz _Z13Scr_EvalMinusP13VariableValueS0__60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z13Scr_EvalMinusP13VariableValueS0__70
	sub eax, 0x1
	mov [edx-0x4], ax
_Z13Scr_EvalMinusP13VariableValueS0__60:
	mov [ebx], edi
_Z13Scr_EvalMinusP13VariableValueS0__80:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_EvalMinusP13VariableValueS0__50:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z13Scr_EvalMinusP13VariableValueS0__40
_Z13Scr_EvalMinusP13VariableValueS0__70:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov [ebx], edi
	jmp _Z13Scr_EvalMinusP13VariableValueS0__80
	nop


;Scr_FindField(char const*, int*)
_Z13Scr_FindFieldPKcPi:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [scrVarPub]
	cmp byte [esi], 0x0
	jnz _Z13Scr_FindFieldPKcPi_10
_Z13Scr_FindFieldPKcPi_30:
	xor edx, edx
_Z13Scr_FindFieldPKcPi_40:
	mov eax, edx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_FindFieldPKcPi_10:
	cld
	mov ecx, 0xffffffff
	mov edi, esi
	xor eax, eax
	repne scasb
	mov ebx, ecx
	not ebx
	mov [esp+0x4], esi
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z9I_stricmpPKcS0_
	test eax, eax
	jz _Z13Scr_FindFieldPKcPi_20
	lea eax, [esi+ebx]
	lea esi, [eax+0x3]
	cmp byte [eax+0x3], 0x0
	jnz _Z13Scr_FindFieldPKcPi_10
	jmp _Z13Scr_FindFieldPKcPi_30
_Z13Scr_FindFieldPKcPi_20:
	lea eax, [esi+ebx]
	movzx edx, word [eax]
	movsx eax, byte [eax+0x2]
	mov ecx, [ebp+0xc]
	mov [ecx], eax
	jmp _Z13Scr_FindFieldPKcPi_40


;Scr_FreeValue(unsigned int)
_Z13Scr_FreeValuej:
	push ebp
	mov ebp, esp
	pop ebp
	jmp _Z17RemoveRefToObjectj
	nop


;Scr_GetOffset(unsigned int, char const*)
_Z13Scr_GetOffsetjPKc:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov eax, [ebp+0x8]
	lea eax, [eax+eax*2]
	movzx ebx, word [eax*4+g_classMap]
	mov eax, [ebp+0xc]
	mov [esp], eax
	call _Z20SL_ConvertFromStringPKc
	mov esi, eax
	lea eax, [eax+eax*4]
	lea eax, [eax+eax*4]
	lea eax, [esi+eax*4]
	add ebx, eax
	mov edx, 0x80018005
	mov eax, ebx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ebx, eax
	lea ecx, [ebx+0x8003]
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z13Scr_GetOffsetjPKc_10
_Z13Scr_GetOffsetjPKc_40:
	mov ecx, 0x8002
_Z13Scr_GetOffsetjPKc_30:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z13Scr_GetOffsetjPKc_20
_Z13Scr_GetOffsetjPKc_70:
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z13Scr_GetOffsetjPKc_10:
	shr edx, 0x8
	cmp esi, edx
	jz _Z13Scr_GetOffsetjPKc_30
	movzx ecx, word [ebx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z13Scr_GetOffsetjPKc_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jz _Z13Scr_GetOffsetjPKc_50
_Z13Scr_GetOffsetjPKc_60:
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z13Scr_GetOffsetjPKc_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z13Scr_GetOffsetjPKc_60
_Z13Scr_GetOffsetjPKc_50:
	add ecx, 0x8002
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jnz _Z13Scr_GetOffsetjPKc_70
_Z13Scr_GetOffsetjPKc_20:
	mov eax, 0xffffffff
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	nop


;AddRefToObject(unsigned int)
_Z14AddRefToObjectj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	add eax, 0x1
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	pop ebp
	ret


;GetNewVariable(unsigned int, unsigned int)
_Z14GetNewVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	lea ecx, [edi+ecx]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, esi
	mov eax, edi
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x1c], eax
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x28], eax
	mov ecx, [ebp-0x1c]
	add ecx, 0x8002
	mov [ebp-0x30], ecx
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x2c], edx
	movzx eax, word [eax+scrVarGlob]
	mov [ebp-0x24], eax
	mov ecx, [ebp-0x28]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z14GetNewVariablejj_10
	shl edx, 0x4
	mov esi, [edx+scrVarGlob+0x80028]
	shr esi, 0x8
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	lea ecx, [edi+edx]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	mov ebx, ecx
	sub ebx, eax
	lea edi, [ebx+0x1]
	lea edx, [ebx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x20], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z14GetNewVariablejj_20
_Z14GetNewVariablejj_50:
	xor edi, edi
	mov edx, 0x8002
_Z14GetNewVariablejj_40:
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x2], ax
	movzx edx, word [ebp-0x24]
	mov eax, edi
	jmp _Z14GetNewVariablejj_30
_Z14GetNewVariablejj_10:
	movzx edx, word [ebp-0x24]
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	xor eax, eax
_Z14GetNewVariablejj_30:
	mov ecx, [ebp-0x28]
	mov [ecx+0xe], dx
	mov edx, [ebp-0x2c]
	mov word [edx+0x2], 0x0
	shl dword [ebp-0x24], 0x4
	mov ecx, [ebp-0x24]
	mov [ecx+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x30], 0x4
	mov edx, [ebp-0x30]
	movzx eax, word [edx+scrVarGlob]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14GetNewVariablejj_20:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z14GetNewVariablejj_40
	movzx edi, word [ebx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jz _Z14GetNewVariablejj_50
_Z14GetNewVariablejj_70:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jz _Z14GetNewVariablejj_60
	movzx edi, word [edx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jnz _Z14GetNewVariablejj_70
	jmp _Z14GetNewVariablejj_50
_Z14GetNewVariablejj_60:
	lea edx, [edi+0x8002]
	jmp _Z14GetNewVariablejj_40


;RemoveVariable(unsigned int, unsigned int)
_Z14RemoveVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0xc]
	lea edx, [edi+edi*4]
	lea edx, [edx+edx*4]
	lea edx, [edi+edx*4]
	mov eax, [ebp+0x8]
	lea ebx, [edx+eax]
	mov eax, 0x80018005
	mul ebx
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, ebx
	sub ecx, eax
	lea esi, [ecx+0x1]
	lea edx, [ecx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x24], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z14RemoveVariablejj_10
_Z14RemoveVariablejj_110:
	xor esi, esi
	mov edx, 0x8002
_Z14RemoveVariablejj_100:
	shl edx, 0x4
	movzx ebx, word [edx+scrVarGlob]
	mov eax, [ebp+0x8]
	add eax, 0x1
	mov [ebp-0x28], eax
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	lea esi, [ebx+scrVarGlob+0x80020]
	mov edx, [esi+0x4]
	mov eax, [esi+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z14RemoveVariablejj_20
	test eax, eax
	jz _Z14RemoveVariablejj_30
	cmp eax, 0x2
	jbe _Z14RemoveVariablejj_40
	cmp byte [edx-0x1], 0x0
	jz _Z14RemoveVariablejj_50
_Z14RemoveVariablejj_20:
	movzx edi, word [esi+0xc]
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx edx, word [esi+0xe]
	mov [ebp-0x1e], dx
	movzx ecx, dx
	movzx eax, word [eax+0x2]
	movzx ebx, ax
	test ax, ax
	jz _Z14RemoveVariablejj_60
	mov eax, ebx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
	cmp word [ebp-0x1e], 0x0
	jz _Z14RemoveVariablejj_70
_Z14RemoveVariablejj_80:
	shl ecx, 0x4
	mov [ecx+scrVarGlob+0x80022], bx
_Z14RemoveVariablejj_90:
	mov dword [esi+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [esi+0x4], ax
	mov eax, [ebp-0x1c]
	mov word [eax+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], di
	mov [scrVarGlob+0x80024], di
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14RemoveVariablejj_60:
	mov eax, [ebp-0x28]
	shl eax, 0x4
	mov edx, ecx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0xe], dx
	cmp word [ebp-0x1e], 0x0
	jnz _Z14RemoveVariablejj_80
_Z14RemoveVariablejj_70:
	shl dword [ebp-0x28], 0x4
	mov ecx, [ebp-0x28]
	movzx eax, word [ecx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ebx, 0x4
	movzx edx, word [ebx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z14RemoveVariablejj_90
_Z14RemoveVariablejj_10:
	shr ecx, 0x8
	cmp edi, ecx
	jz _Z14RemoveVariablejj_100
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z14RemoveVariablejj_110
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp edi, eax
	jz _Z14RemoveVariablejj_120
_Z14RemoveVariablejj_130:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z14RemoveVariablejj_110
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp edi, eax
	jnz _Z14RemoveVariablejj_130
_Z14RemoveVariablejj_120:
	lea edx, [esi+0x8002]
	jmp _Z14RemoveVariablejj_100
_Z14RemoveVariablejj_30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z14RemoveVariablejj_20
_Z14RemoveVariablejj_50:
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14RemoveVariablejj_140
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z14RemoveVariablejj_20
_Z14RemoveVariablejj_40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z14RemoveVariablejj_20
_Z14RemoveVariablejj_140:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14RemoveVariablejj_20
	nop


;Scr_AllocArray()
_Z14Scr_AllocArrayv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z14Scr_AllocArrayv_10
_Z14Scr_AllocArrayv_40:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z14Scr_AllocArrayv_20
	test byte [ebx+0x8], 0x60
	jnz _Z14Scr_AllocArrayv_30
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z14Scr_AllocArrayv_20:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx eax, word [ebx]
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov dword [edx+0x8], 0x75
	mov word [edx+0x4], 0x0
	mov word [edx+0x6], 0x0
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Scr_AllocArrayv_10:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z14Scr_AllocArrayv_40
_Z14Scr_AllocArrayv_30:
	movzx eax, word [ebp-0x1a]
	jmp _Z14Scr_AllocArrayv_20
	nop


;Scr_CastString(VariableValue*)
_Z14Scr_CastStringP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov esi, [ebp+0x8]
	mov eax, [esi+0x4]
	cmp eax, 0x2
	jz _Z14Scr_CastStringP13VariableValue_10
	cmp eax, 0x6
	jz _Z14Scr_CastStringP13VariableValue_20
	cmp eax, 0x5
	jz _Z14Scr_CastStringP13VariableValue_30
	cmp eax, 0x4
	jz _Z14Scr_CastStringP13VariableValue_40
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_cannot_cast_s_to1
	call _Z2vaPKcz
	mov [scrVarPub+0xc], eax
	mov edx, [esi]
	mov eax, [esi+0x4]
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z14Scr_CastStringP13VariableValue_50
	test eax, eax
	jz _Z14Scr_CastStringP13VariableValue_60
	cmp eax, 0x2
	jbe _Z14Scr_CastStringP13VariableValue_70
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_CastStringP13VariableValue_50
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_CastStringP13VariableValue_80
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_CastStringP13VariableValue_50:
	mov dword [esi+0x4], 0x0
	xor eax, eax
_Z14Scr_CastStringP13VariableValue_100:
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z14Scr_CastStringP13VariableValue_10:
	mov eax, 0x1
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z14Scr_CastStringP13VariableValue_40:
	mov dword [esi+0x4], 0x2
	mov ebx, [esi]
	mov [esp], ebx
	call _Z21SL_GetStringForVectorPKf
	mov [esi], eax
	cmp byte [ebx-0x1], 0x0
	jnz _Z14Scr_CastStringP13VariableValue_10
	lea edx, [ebx-0x4]
	movzx eax, word [ebx-0x4]
	test ax, ax
	jz _Z14Scr_CastStringP13VariableValue_90
	sub eax, 0x1
	mov [ebx-0x4], ax
	mov eax, 0x1
	jmp _Z14Scr_CastStringP13VariableValue_100
_Z14Scr_CastStringP13VariableValue_60:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z14Scr_CastStringP13VariableValue_50
_Z14Scr_CastStringP13VariableValue_20:
	mov dword [esi+0x4], 0x2
	mov eax, [esi]
	mov [esp], eax
	call _Z18SL_GetStringForInti
	mov [esi], eax
	mov eax, 0x1
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z14Scr_CastStringP13VariableValue_30:
	mov dword [esi+0x4], 0x2
	mov eax, [esi]
	mov [esp], eax
	call _Z20SL_GetStringForFloatf
	mov [esi], eax
	mov eax, 0x1
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z14Scr_CastStringP13VariableValue_80:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14Scr_CastStringP13VariableValue_50
_Z14Scr_CastStringP13VariableValue_70:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z14Scr_CastStringP13VariableValue_50
_Z14Scr_CastStringP13VariableValue_90:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov eax, 0x1
	jmp _Z14Scr_CastStringP13VariableValue_100


;Scr_CastVector(VariableValue*)
_Z14Scr_CastVectorP13VariableValue:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov edi, [ebp+0x8]
	lea eax, [edi+0x10]
	mov [ebp-0x2c], eax
	lea edx, [edi+0x14]
	xor ecx, ecx
	lea ebx, [ebp-0x24]
_Z14Scr_CastVectorP13VariableValue_30:
	mov eax, 0x2
	sub eax, ecx
	mov esi, [edx]
	cmp esi, 0x5
	jz _Z14Scr_CastVectorP13VariableValue_10
	cmp esi, 0x6
	jnz _Z14Scr_CastVectorP13VariableValue_20
	cvtsi2ss xmm0, dword [edx-0x4]
	movss [ebx], xmm0
_Z14Scr_CastVectorP13VariableValue_40:
	add ecx, 0x1
	add ebx, 0x4
	sub edx, 0x8
	cmp ecx, 0x3
	jnz _Z14Scr_CastVectorP13VariableValue_30
	mov dword [edi+0x4], 0x4
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea ecx, [eax+0x4]
	mov dword [ecx-0x4], 0x0
	mov edx, [ebp-0x24]
	mov [eax+0x4], edx
	mov eax, [ebp-0x20]
	mov [ecx+0x4], eax
	mov eax, [ebp-0x1c]
	mov [ecx+0x8], eax
	mov [edi], ecx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Scr_CastVectorP13VariableValue_10:
	mov eax, [edx-0x4]
	mov [ebx], eax
	jmp _Z14Scr_CastVectorP13VariableValue_40
_Z14Scr_CastVectorP13VariableValue_20:
	add eax, 0x1
	mov [scrVarPub+0x10], eax
	mov ebx, [ebp-0x2c]
	mov dword [ebp-0x30], 0x3
_Z14Scr_CastVectorP13VariableValue_90:
	mov edx, [ebx]
	mov eax, [ebx+0x4]
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z14Scr_CastVectorP13VariableValue_50
	test eax, eax
	jz _Z14Scr_CastVectorP13VariableValue_60
	cmp eax, 0x2
	jbe _Z14Scr_CastVectorP13VariableValue_70
	cmp byte [edx-0x1], 0x0
	jz _Z14Scr_CastVectorP13VariableValue_80
_Z14Scr_CastVectorP13VariableValue_50:
	sub ebx, 0x8
	sub dword [ebp-0x30], 0x1
	jnz _Z14Scr_CastVectorP13VariableValue_90
	mov dword [edi+0x4], 0x0
	mov eax, [esi*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_type_s_is_not_a_
	call _Z2vaPKcz
	mov [ebp+0x8], eax
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z14Scr_CastVectorP13VariableValue_80:
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_CastVectorP13VariableValue_100
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z14Scr_CastVectorP13VariableValue_50
_Z14Scr_CastVectorP13VariableValue_60:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z14Scr_CastVectorP13VariableValue_50
_Z14Scr_CastVectorP13VariableValue_70:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z14Scr_CastVectorP13VariableValue_50
_Z14Scr_CastVectorP13VariableValue_100:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14Scr_CastVectorP13VariableValue_50
	nop


;Scr_EvalDivide(VariableValue*, VariableValue*)
_Z14Scr_EvalDivideP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z14Scr_EvalDivideP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z14Scr_EvalDivideP13VariableValueS0__20
	cmp eax, 0x4
	jz _Z14Scr_EvalDivideP13VariableValueS0__30
	mov [ebp+0xc], esi
	mov [ebp+0x8], ebx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z14Scr_EvalDivideP13VariableValueS0__10:
	movss xmm1, dword [esi]
	ucomiss xmm1, [_float_0_00000000]
	jp _Z14Scr_EvalDivideP13VariableValueS0__40
	jz _Z14Scr_EvalDivideP13VariableValueS0__50
_Z14Scr_EvalDivideP13VariableValueS0__40:
	movss xmm0, dword [ebx]
	divss xmm0, xmm1
	movss [ebx], xmm0
_Z14Scr_EvalDivideP13VariableValueS0__140:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Scr_EvalDivideP13VariableValueS0__20:
	mov dword [ebx+0x4], 0x5
	mov eax, [esi]
	test eax, eax
	jz _Z14Scr_EvalDivideP13VariableValueS0__50
	cvtsi2ss xmm0, dword [ebx]
	cvtsi2ss xmm1, eax
	divss xmm0, xmm1
	movss [ebx], xmm0
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Scr_EvalDivideP13VariableValueS0__30:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea edi, [eax+0x4]
	mov dword [edi-0x4], 0x0
	mov eax, [esi]
	movss xmm1, dword [eax]
	pxor xmm0, xmm0
	ucomiss xmm1, xmm0
	jp _Z14Scr_EvalDivideP13VariableValueS0__60
	jz _Z14Scr_EvalDivideP13VariableValueS0__70
_Z14Scr_EvalDivideP13VariableValueS0__60:
	ucomiss xmm0, [eax+0x4]
	jp _Z14Scr_EvalDivideP13VariableValueS0__80
	jz _Z14Scr_EvalDivideP13VariableValueS0__70
_Z14Scr_EvalDivideP13VariableValueS0__80:
	ucomiss xmm0, [eax+0x8]
	jnz _Z14Scr_EvalDivideP13VariableValueS0__90
	jnp _Z14Scr_EvalDivideP13VariableValueS0__70
_Z14Scr_EvalDivideP13VariableValueS0__90:
	mov eax, [ebx]
	movss xmm0, dword [eax]
	divss xmm0, xmm1
	movss [edi], xmm0
	mov eax, [ebx]
	mov edx, [esi]
	movss xmm0, dword [eax+0x4]
	divss xmm0, dword [edx+0x4]
	movss [edi+0x4], xmm0
	mov eax, [ebx]
	mov edx, [esi]
	movss xmm0, dword [eax+0x8]
	divss xmm0, dword [edx+0x8]
	movss [edi+0x8], xmm0
	mov edx, [ebx]
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_EvalDivideP13VariableValueS0__100
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_EvalDivideP13VariableValueS0__110
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_EvalDivideP13VariableValueS0__100:
	mov edx, [esi]
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_EvalDivideP13VariableValueS0__120
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_EvalDivideP13VariableValueS0__130
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_EvalDivideP13VariableValueS0__120:
	mov [ebx], edi
	jmp _Z14Scr_EvalDivideP13VariableValueS0__140
_Z14Scr_EvalDivideP13VariableValueS0__50:
	mov dword [ebx], 0x0
	mov dword [ebp+0x8], _cstring_divide_by_0
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z14Scr_EvalDivideP13VariableValueS0__70:
	mov dword [edi], 0x0
	mov dword [edi+0x4], 0x0
	mov dword [edi+0x8], 0x0
	mov edx, [ebx]
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_EvalDivideP13VariableValueS0__150
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_EvalDivideP13VariableValueS0__160
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_EvalDivideP13VariableValueS0__150:
	mov edx, [esi]
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_EvalDivideP13VariableValueS0__170
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_EvalDivideP13VariableValueS0__180
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_EvalDivideP13VariableValueS0__170:
	mov [ebx], edi
_Z14Scr_EvalDivideP13VariableValueS0__190:
	mov dword [ebp+0x8], _cstring_divide_by_0
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z14Scr_EvalDivideP13VariableValueS0__180:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov [ebx], edi
	jmp _Z14Scr_EvalDivideP13VariableValueS0__190
_Z14Scr_EvalDivideP13VariableValueS0__160:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14Scr_EvalDivideP13VariableValueS0__150
_Z14Scr_EvalDivideP13VariableValueS0__110:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14Scr_EvalDivideP13VariableValueS0__100
_Z14Scr_EvalDivideP13VariableValueS0__130:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov [ebx], edi
	jmp _Z14Scr_EvalDivideP13VariableValueS0__140


;Scr_KillThread(unsigned int)
_Z14Scr_KillThreadj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x6c
	mov edi, [ebp+0x8]
	add edi, 0x1
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob
	mov [ebp-0x3c], eax
	movzx eax, word [eax+0xe]
	test ax, ax
	jz _Z14Scr_KillThreadj_10
	movzx eax, ax
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	mov ecx, [ebp+0x8]
	lea esi, [edx+ecx]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x30], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z14Scr_KillThreadj_20
_Z14Scr_KillThreadj_250:
	xor esi, esi
_Z14Scr_KillThreadj_30:
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov edx, [ebp-0x3c]
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x8002e]
	movzx esi, ax
	test ax, ax
	jnz _Z14Scr_KillThreadj_30
	mov eax, [ebp-0x3c]
	movzx eax, word [eax+0xe]
	mov [ebp-0x2c], eax
	shl edi, 0x4
	mov [ebp-0x40], edi
	jmp _Z14Scr_KillThreadj_40
_Z14Scr_KillThreadj_100:
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x5a], 0x0
	jz _Z14Scr_KillThreadj_50
_Z14Scr_KillThreadj_110:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
_Z14Scr_KillThreadj_120:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov ecx, [ebp-0x28]
	mov word [ecx+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	cmp word [ebp-0x32], 0x0
	jz _Z14Scr_KillThreadj_10
	mov eax, [ebp-0x2c]
_Z14Scr_KillThreadj_40:
	add eax, 0x8002
	shl eax, 0x4
	movzx edx, word [eax+scrVarGlob+0xe]
	mov [ebp-0x32], dx
	movzx edx, dx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [ebp-0x2c], edx
	lea ebx, [eax+scrVarGlob]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z14Scr_KillThreadj_60
	test eax, eax
	jz _Z14Scr_KillThreadj_70
	cmp eax, 0x2
	jbe _Z14Scr_KillThreadj_80
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_KillThreadj_60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_KillThreadj_90
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_KillThreadj_60:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x28], eax
	movzx ecx, word [ebx+0xe]
	mov [ebp-0x5a], cx
	movzx edx, cx
	movzx eax, word [eax+0x2]
	movzx ecx, ax
	test ax, ax
	jnz _Z14Scr_KillThreadj_100
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	mov edi, [ebp-0x40]
	mov [edi+scrVarGlob+0xe], ax
	cmp word [ebp-0x5a], 0x0
	jnz _Z14Scr_KillThreadj_110
_Z14Scr_KillThreadj_50:
	mov edx, [ebp-0x40]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ecx, 0x4
	movzx edx, word [ecx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z14Scr_KillThreadj_120
_Z14Scr_KillThreadj_10:
	mov edi, [ebp-0x3c]
	movzx eax, word [edi+0x6]
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov eax, [ebp+0x8]
	add eax, 0x10000
	mov [ebp-0x24], eax
	mov edx, eax
	lea eax, [eax+eax*4]
	lea eax, [eax+eax*4]
	lea eax, [edx+eax*4]
	mov esi, [scrVarPub+0x1c]
	lea ebx, [eax+esi]
	mov edx, 0x80018005
	mov eax, ebx
	mul edx
	shr edx, 0xf
	mov ecx, edx
	shl ecx, 0xe
	sub ecx, edx
	lea ecx, [edx+ecx*4]
	mov eax, ebx
	sub eax, ecx
	lea ecx, [eax+0x8003]
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z14Scr_KillThreadj_130
_Z14Scr_KillThreadj_230:
	mov ecx, 0x8002
_Z14Scr_KillThreadj_220:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z14Scr_KillThreadj_140
	shl edx, 0x4
	mov edx, [edx+scrVarGlob+0x80024]
	mov [ebp-0x38], edx
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x20], eax
	movzx eax, word [eax+0xe]
	movzx edx, ax
	test ax, ax
	jnz _Z14Scr_KillThreadj_150
_Z14Scr_KillThreadj_210:
	mov eax, [ebp-0x24]
	mov [esp+0x4], eax
	mov [esp], esi
	call _Z14RemoveVariablejj
_Z14Scr_KillThreadj_140:
	mov edx, [ebp-0x3c]
	mov eax, [edx+0x8]
	and eax, 0xffffffe0
	or eax, 0x16
	mov [edx+0x8], eax
	add esp, 0x6c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Scr_KillThreadj_170:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, esi
	jz _Z14Scr_KillThreadj_160
_Z14Scr_KillThreadj_200:
	movzx eax, word [edx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jnz _Z14Scr_KillThreadj_170
_Z14Scr_KillThreadj_190:
	mov ecx, 0x8002
_Z14Scr_KillThreadj_160:
	mov [esp+0x4], ebx
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80024]
	mov [esp], eax
	call _Z15VM_CancelNotifyjj
	shl ebx, 0x4
	add ebx, scrVarGlob+0x10
	movzx eax, word [ebx+0x6]
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov eax, [ebx+0x8]
	and eax, 0xffffffe0
	or eax, 0x16
	mov [ebx+0x8], eax
	mov [esp+0x4], esi
	mov ecx, [ebp-0x38]
	mov [esp], ecx
	call _Z14RemoveVariablejj
	mov edi, [ebp-0x20]
	movzx eax, word [edi+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z14Scr_KillThreadj_180
_Z14Scr_KillThreadj_150:
	shl edx, 0x4
	movzx ebx, word [edx+scrVarGlob+0x80029]
	lea esi, [ebx+0x10000]
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, [ebp-0x38]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x1c], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edi, [eax+scrVarGlob+0x80020]
	mov edx, [edi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jnz _Z14Scr_KillThreadj_190
	shr edx, 0x8
	cmp esi, edx
	jz _Z14Scr_KillThreadj_160
	movzx eax, word [edi+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z14Scr_KillThreadj_190
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z14Scr_KillThreadj_200
	jmp _Z14Scr_KillThreadj_160
_Z14Scr_KillThreadj_180:
	mov esi, [scrVarPub+0x1c]
	jmp _Z14Scr_KillThreadj_210
_Z14Scr_KillThreadj_130:
	shr edx, 0x8
	cmp [ebp-0x24], edx
	jz _Z14Scr_KillThreadj_220
	movzx eax, word [ebx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z14Scr_KillThreadj_230
_Z14Scr_KillThreadj_240:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp [ebp-0x24], eax
	jz _Z14Scr_KillThreadj_220
	movzx eax, word [edx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jnz _Z14Scr_KillThreadj_240
	jmp _Z14Scr_KillThreadj_230
_Z14Scr_KillThreadj_70:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z14Scr_KillThreadj_60
_Z14Scr_KillThreadj_80:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z14Scr_KillThreadj_60
_Z14Scr_KillThreadj_20:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z14Scr_KillThreadj_30
_Z14Scr_KillThreadj_260:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x30], eax
	jz _Z14Scr_KillThreadj_250
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jnz _Z14Scr_KillThreadj_260
	jmp _Z14Scr_KillThreadj_30
_Z14Scr_KillThreadj_90:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14Scr_KillThreadj_60
	nop


;Scr_StopThread(unsigned int)
_Z14Scr_StopThreadj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov ecx, [ebp+0x8]
	lea eax, [ecx+0x1]
	mov [ebp-0x2c], eax
	shl eax, 0x4
	add eax, scrVarGlob
	mov [ebp-0x28], eax
	movzx eax, word [eax+0xe]
	test ax, ax
	jz _Z14Scr_StopThreadj_10
	movzx eax, ax
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [ecx+edx]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z14Scr_StopThreadj_20
_Z14Scr_StopThreadj_130:
	xor esi, esi
_Z14Scr_StopThreadj_30:
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov edx, [ebp-0x28]
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x8002e]
	movzx esi, ax
	test ax, ax
	jnz _Z14Scr_StopThreadj_30
	mov ecx, [ebp-0x28]
	movzx ecx, word [ecx+0xe]
	mov [ebp-0x20], ecx
	mov edi, [ebp-0x2c]
	shl edi, 0x4
	mov [ebp-0x30], edi
	mov eax, ecx
	jmp _Z14Scr_StopThreadj_40
_Z14Scr_StopThreadj_100:
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x4a], 0x0
	jz _Z14Scr_StopThreadj_50
_Z14Scr_StopThreadj_110:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
_Z14Scr_StopThreadj_120:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov ecx, [ebp-0x1c]
	mov word [ecx+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	cmp word [ebp-0x22], 0x0
	jz _Z14Scr_StopThreadj_10
	mov eax, [ebp-0x20]
_Z14Scr_StopThreadj_40:
	add eax, 0x8002
	shl eax, 0x4
	movzx edx, word [eax+scrVarGlob+0xe]
	mov [ebp-0x22], dx
	movzx edx, dx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [ebp-0x20], edx
	lea ebx, [eax+scrVarGlob]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z14Scr_StopThreadj_60
	test eax, eax
	jz _Z14Scr_StopThreadj_70
	cmp eax, 0x2
	jbe _Z14Scr_StopThreadj_80
	cmp byte [edx-0x1], 0x0
	jnz _Z14Scr_StopThreadj_60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z14Scr_StopThreadj_90
	sub eax, 0x1
	mov [edx-0x4], ax
_Z14Scr_StopThreadj_60:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx ecx, word [ebx+0xe]
	mov [ebp-0x4a], cx
	movzx edx, cx
	movzx eax, word [eax+0x2]
	movzx ecx, ax
	test ax, ax
	jnz _Z14Scr_StopThreadj_100
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	mov edi, [ebp-0x30]
	mov [edi+scrVarGlob+0xe], ax
	cmp word [ebp-0x4a], 0x0
	jnz _Z14Scr_StopThreadj_110
_Z14Scr_StopThreadj_50:
	mov edx, [ebp-0x30]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ecx, 0x4
	movzx edx, word [ecx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z14Scr_StopThreadj_120
_Z14Scr_StopThreadj_10:
	mov edi, [ebp-0x28]
	movzx eax, word [edi+0x6]
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov eax, [scrVarPub+0x20]
	shl dword [ebp-0x2c], 0x4
	mov edx, [ebp-0x2c]
	mov [edx+scrVarGlob+0x6], ax
	add eax, 0x1
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z14Scr_StopThreadj_70:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z14Scr_StopThreadj_60
_Z14Scr_StopThreadj_80:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z14Scr_StopThreadj_60
_Z14Scr_StopThreadj_90:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z14Scr_StopThreadj_60
_Z14Scr_StopThreadj_20:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z14Scr_StopThreadj_30
_Z14Scr_StopThreadj_140:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z14Scr_StopThreadj_130
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z14Scr_StopThreadj_140
	jmp _Z14Scr_StopThreadj_30
	nop


;FindLastSibling(unsigned int)
_Z15FindLastSiblingj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	mov ecx, [ebp+0x8]
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1c]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x12]
	movzx edx, ax
	test ax, ax
	jz _Z15FindLastSiblingj_10
	shl edx, 0x4
	mov ebx, [edx+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [ecx+edx]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z15FindLastSiblingj_20
_Z15FindLastSiblingj_10:
	xor esi, esi
_Z15FindLastSiblingj_40:
	mov eax, esi
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z15FindLastSiblingj_20:
	shr ecx, 0x8
	cmp ebx, ecx
	jnz _Z15FindLastSiblingj_30
	jmp _Z15FindLastSiblingj_40
_Z15FindLastSiblingj_50:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z15FindLastSiblingj_40
_Z15FindLastSiblingj_30:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jnz _Z15FindLastSiblingj_50
	jmp _Z15FindLastSiblingj_10
	nop


;FindNextSibling(unsigned int)
_Z15FindNextSiblingj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x8002e]
	movzx edx, ax
	test ax, ax
	jz _Z15FindNextSiblingj_10
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	pop ebp
	ret
_Z15FindNextSiblingj_10:
	xor eax, eax
	pop ebp
	ret
	add [eax], al


;FindPrevSibling(unsigned int)
_Z15FindPrevSiblingj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80022]
	pop ebp
	ret


;GetStartLocalId(unsigned int)
_Z15GetStartLocalIdj:
	push ebp
	mov ebp, esp
	mov ecx, [ebp+0x8]
	lea edx, [ecx+0x1]
	mov eax, edx
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x8]
	and eax, 0x1f
	cmp eax, 0x11
	jz _Z15GetStartLocalIdj_10
_Z15GetStartLocalIdj_20:
	mov eax, ecx
	pop ebp
	ret
_Z15GetStartLocalIdj_10:
	shl edx, 0x4
	mov ecx, [edx+scrVarGlob+0x8]
	shr ecx, 0x8
	lea edx, [ecx+0x1]
	mov eax, edx
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x8]
	and eax, 0x1f
	cmp eax, 0x11
	jnz _Z15GetStartLocalIdj_20
	shl edx, 0x4
	mov ecx, [edx+scrVarGlob+0x8]
	shr ecx, 0x8
	lea edx, [ecx+0x1]
	mov eax, edx
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x8]
	and eax, 0x1f
	cmp eax, 0x11
	jz _Z15GetStartLocalIdj_10
	jmp _Z15GetStartLocalIdj_20


;GetVariableName(unsigned int)
_Z15GetVariableNamej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80028]
	shr eax, 0x8
	pop ebp
	ret


;Scr_AllocVector(float const*)
_Z15Scr_AllocVectorPKf:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0x8]
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	mov ecx, eax
	lea eax, [eax+0x4]
	mov dword [eax-0x4], 0x0
	mov edx, [ebx]
	mov [ecx+0x4], edx
	mov edx, [ebx+0x4]
	mov [eax+0x4], edx
	mov edx, [ebx+0x8]
	mov [eax+0x8], edx
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;Scr_EvalBoolNot(VariableValue*)
_Z15Scr_EvalBoolNotP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov esi, [ebp+0x8]
	mov ebx, [esi+0x4]
	cmp ebx, 0x6
	jz _Z15Scr_EvalBoolNotP13VariableValue_10
	cmp ebx, 0x5
	jz _Z15Scr_EvalBoolNotP13VariableValue_20
	mov edx, [esi]
	lea eax, [ebx-0x1]
	cmp eax, 0x3
	jbe _Z15Scr_EvalBoolNotP13VariableValue_30
_Z15Scr_EvalBoolNotP13VariableValue_70:
	mov dword [esi+0x4], 0x0
	mov eax, [ebx*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_cannot_cast_s_to
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
_Z15Scr_EvalBoolNotP13VariableValue_90:
	cmp dword [esi+0x4], 0x6
	jnz _Z15Scr_EvalBoolNotP13VariableValue_40
	xor eax, eax
	cmp dword [esi], 0x0
	setz al
	mov [esi], eax
_Z15Scr_EvalBoolNotP13VariableValue_40:
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z15Scr_EvalBoolNotP13VariableValue_30:
	test eax, eax
	jz _Z15Scr_EvalBoolNotP13VariableValue_50
	cmp eax, 0x2
	jbe _Z15Scr_EvalBoolNotP13VariableValue_60
	cmp byte [edx-0x1], 0x0
	jnz _Z15Scr_EvalBoolNotP13VariableValue_70
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z15Scr_EvalBoolNotP13VariableValue_80
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z15Scr_EvalBoolNotP13VariableValue_70
_Z15Scr_EvalBoolNotP13VariableValue_10:
	xor eax, eax
	cmp dword [esi], 0x0
	setnz al
	mov [esi], eax
	jmp _Z15Scr_EvalBoolNotP13VariableValue_90
_Z15Scr_EvalBoolNotP13VariableValue_20:
	mov dword [esi+0x4], 0x6
	pxor xmm0, xmm0
	ucomiss xmm0, [esi]
	setnz al
	setp dl
	or al, dl
	movzx eax, al
	mov [esi], eax
	jmp _Z15Scr_EvalBoolNotP13VariableValue_90
_Z15Scr_EvalBoolNotP13VariableValue_50:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z15Scr_EvalBoolNotP13VariableValue_70
_Z15Scr_EvalBoolNotP13VariableValue_60:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z15Scr_EvalBoolNotP13VariableValue_70
_Z15Scr_EvalBoolNotP13VariableValue_80:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z15Scr_EvalBoolNotP13VariableValue_70
	nop


;Scr_EvalGreater(VariableValue*, VariableValue*)
_Z15Scr_EvalGreaterP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z15Scr_EvalGreaterP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z15Scr_EvalGreaterP13VariableValueS0__20
	mov [ebp+0xc], esi
	mov [ebp+0x8], ebx
	pop ebx
	pop esi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z15Scr_EvalGreaterP13VariableValueS0__10:
	mov dword [ebx+0x4], 0x6
	movss xmm0, dword [ebx]
	xor eax, eax
	ucomiss xmm0, [esi]
	seta al
	mov [ebx], eax
	pop ebx
	pop esi
	pop ebp
	ret
_Z15Scr_EvalGreaterP13VariableValueS0__20:
	mov eax, [ebx]
	cmp eax, [esi]
	setg al
	movzx eax, al
	mov [ebx], eax
	pop ebx
	pop esi
	pop ebp
	ret


;Scr_FreeObjects()
_Z15Scr_FreeObjectsv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov ebx, 0x1
	mov dword [ebp-0x1c], scrVarGlob
	jmp _Z15Scr_FreeObjectsv_10
_Z15Scr_FreeObjectsv_30:
	add dword [ebp-0x1c], 0x10
	cmp dword [ebp-0x30], 0x8000
	jz _Z15Scr_FreeObjectsv_20
_Z15Scr_FreeObjectsv_210:
	mov ebx, [ebp-0x30]
_Z15Scr_FreeObjectsv_10:
	lea eax, [ebx+0x1]
	mov [ebp-0x30], eax
	shl eax, 0x4
	add eax, scrVarGlob
	mov [ebp-0x2c], eax
	mov eax, [eax+0x8]
	test al, 0x60
	jz _Z15Scr_FreeObjectsv_30
	and eax, 0x1f
	sub eax, 0x12
	cmp eax, 0x1
	ja _Z15Scr_FreeObjectsv_30
	mov [esp], ebx
	call _Z20Scr_CancelNotifyListj
	mov ecx, [ebp-0x1c]
	add word [ecx+0x24], 0x1
	mov edi, [ebp-0x2c]
	movzx eax, word [edi+0xe]
	test ax, ax
	jz _Z15Scr_FreeObjectsv_40
	movzx eax, ax
	shl eax, 0x4
	mov edi, [eax+scrVarGlob+0x80028]
	shr edi, 0x8
	lea edx, [edi+edi*4]
	lea edx, [edx+edx*4]
	lea edx, [edi+edx*4]
	lea ebx, [edx+ebx]
	mov eax, 0x80018005
	mul ebx
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, ebx
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea ebx, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z15Scr_FreeObjectsv_50
_Z15Scr_FreeObjectsv_170:
	xor esi, esi
_Z15Scr_FreeObjectsv_60:
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov edx, [ebp-0x2c]
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x8002e]
	movzx esi, ax
	test ax, ax
	jnz _Z15Scr_FreeObjectsv_60
	mov ecx, [ebp-0x2c]
	movzx ecx, word [ecx+0xe]
	mov [ebp-0x24], ecx
	mov eax, ecx
	jmp _Z15Scr_FreeObjectsv_70
_Z15Scr_FreeObjectsv_140:
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x4a], 0x0
	jz _Z15Scr_FreeObjectsv_80
_Z15Scr_FreeObjectsv_150:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
_Z15Scr_FreeObjectsv_160:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov ecx, [ebp-0x20]
	mov word [ecx+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	cmp word [ebp-0x26], 0x0
	jz _Z15Scr_FreeObjectsv_90
	mov eax, [ebp-0x24]
_Z15Scr_FreeObjectsv_70:
	add eax, 0x8002
	shl eax, 0x4
	movzx edi, word [eax+scrVarGlob+0xe]
	mov [ebp-0x26], di
	movzx edx, di
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [ebp-0x24], edx
	lea ebx, [eax+scrVarGlob]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z15Scr_FreeObjectsv_100
	test eax, eax
	jz _Z15Scr_FreeObjectsv_110
	cmp eax, 0x2
	jbe _Z15Scr_FreeObjectsv_120
	cmp byte [edx-0x1], 0x0
	jnz _Z15Scr_FreeObjectsv_100
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z15Scr_FreeObjectsv_130
	sub eax, 0x1
	mov [edx-0x4], ax
_Z15Scr_FreeObjectsv_100:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x20], eax
	movzx eax, word [ebx+0xe]
	mov [ebp-0x4a], ax
	movzx edx, ax
	mov ecx, [ebp-0x20]
	movzx eax, word [ecx+0x2]
	movzx ecx, ax
	test ax, ax
	jnz _Z15Scr_FreeObjectsv_140
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	mov edi, [ebp-0x1c]
	mov [edi+0x2e], ax
	cmp word [ebp-0x4a], 0x0
	jnz _Z15Scr_FreeObjectsv_150
_Z15Scr_FreeObjectsv_80:
	mov edx, [ebp-0x1c]
	movzx eax, word [edx+0x2c]
	shl eax, 0x4
	shl ecx, 0x4
	movzx edx, word [ecx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z15Scr_FreeObjectsv_160
_Z15Scr_FreeObjectsv_50:
	shr ecx, 0x8
	cmp edi, ecx
	jz _Z15Scr_FreeObjectsv_60
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp ebx, eax
	jz _Z15Scr_FreeObjectsv_170
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp edi, eax
	jnz _Z15Scr_FreeObjectsv_180
	jmp _Z15Scr_FreeObjectsv_60
_Z15Scr_FreeObjectsv_190:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, edi
	jz _Z15Scr_FreeObjectsv_60
_Z15Scr_FreeObjectsv_180:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp ebx, eax
	jnz _Z15Scr_FreeObjectsv_190
	jmp _Z15Scr_FreeObjectsv_170
_Z15Scr_FreeObjectsv_90:
	mov edi, [ebp-0x2c]
_Z15Scr_FreeObjectsv_40:
	movzx eax, word [edi+0x4]
	test ax, ax
	jz _Z15Scr_FreeObjectsv_200
	sub eax, 0x1
	mov [edi+0x4], ax
	add dword [ebp-0x1c], 0x10
	cmp dword [ebp-0x30], 0x8000
	jnz _Z15Scr_FreeObjectsv_210
_Z15Scr_FreeObjectsv_20:
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z15Scr_FreeObjectsv_110:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z15Scr_FreeObjectsv_100
_Z15Scr_FreeObjectsv_200:
	movzx edx, word [edi+0xc]
	mov dword [edi+0x8], 0x0
	movzx eax, word [scrVarGlob+0x14]
	mov ecx, [ebp-0x2c]
	mov [ecx+0x4], ax
	mov eax, edx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [scrVarGlob+0x14]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	mov [scrVarGlob+0x14], dx
	jmp _Z15Scr_FreeObjectsv_30
_Z15Scr_FreeObjectsv_120:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z15Scr_FreeObjectsv_100
_Z15Scr_FreeObjectsv_130:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z15Scr_FreeObjectsv_100
	nop


;Scr_GetEntityId(int, unsigned int)
_Z15Scr_GetEntityIdij:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	lea eax, [ebx+0x800000]
	and eax, 0xffffff
	mov [esp+0x4], eax
	lea eax, [esi+esi*2]
	movzx eax, word [eax*4+g_classMap+0x2]
	mov [esp], eax
	call _Z24GetVariableIndexInternaljj
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x24], eax
	test byte [eax+0x8], 0x1f
	jz _Z15Scr_GetEntityIdij_10
	mov edx, [eax+0x4]
	mov eax, edx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z15Scr_GetEntityIdij_10:
	mov [ebp-0x20], bx
	movzx eax, word [scrVarGlob+0x14]
	mov [ebp-0x1c], ax
	test ax, ax
	jz _Z15Scr_GetEntityIdij_20
_Z15Scr_GetEntityIdij_50:
	movzx eax, word [ebp-0x1c]
	shl eax, 0x4
	lea edi, [eax+0x10]
	lea ebx, [edi+scrVarGlob]
	movzx ecx, word [edi+scrVarGlob]
	mov [ebp-0x1e], cx
	movzx eax, cx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z15Scr_GetEntityIdij_30
	test byte [ebx+0x8], 0x60
	jnz _Z15Scr_GetEntityIdij_40
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1e]
	mov [edx+scrVarGlob+0x10], ax
	movzx eax, word [ebp-0x1c]
	mov [edi+scrVarGlob], ax
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z15Scr_GetEntityIdij_30:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [ebp-0x1c]
	mov [ecx+0xc], ax
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	shl esi, 0x8
	or esi, 0x74
	mov [eax+0x8], esi
	mov word [eax+0x4], 0x0
	movzx ecx, word [ebp-0x20]
	mov [eax+0x6], cx
	mov eax, [ebp-0x24]
	or dword [eax+0x8], 0x1
	mov [eax+0x4], edx
	mov eax, edx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z15Scr_GetEntityIdij_40:
	movzx eax, word [ebp-0x1a]
	jmp _Z15Scr_GetEntityIdij_30
_Z15Scr_GetEntityIdij_20:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z15Scr_GetEntityIdij_50
	nop


;Scr_SetClassMap(unsigned int)
_Z15Scr_SetClassMapj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z15Scr_SetClassMapj_10
_Z15Scr_SetClassMapj_70:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x20], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1e], ax
	cmp ebx, ecx
	jz _Z15Scr_SetClassMapj_20
	test byte [ebx+0x8], 0x60
	jz _Z15Scr_SetClassMapj_30
	movzx eax, word [ebp-0x1e]
_Z15Scr_SetClassMapj_20:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov ecx, [ebp+0x8]
	lea eax, [ecx+ecx*2]
	mov [eax*4+g_classMap+0x2], dx
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z15Scr_SetClassMapj_40
_Z15Scr_SetClassMapj_80:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z15Scr_SetClassMapj_50
	test byte [ebx+0x8], 0x60
	jnz _Z15Scr_SetClassMapj_60
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z15Scr_SetClassMapj_50:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov ecx, [ebp+0x8]
	lea eax, [ecx+ecx*2]
	mov [eax*4+g_classMap], dx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z15Scr_SetClassMapj_30:
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x20]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1e]
	jmp _Z15Scr_SetClassMapj_20
_Z15Scr_SetClassMapj_10:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z15Scr_SetClassMapj_70
_Z15Scr_SetClassMapj_40:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z15Scr_SetClassMapj_80
_Z15Scr_SetClassMapj_60:
	movzx eax, word [ebp-0x1a]
	jmp _Z15Scr_SetClassMapj_50
	nop


;AllocChildThread(unsigned int, unsigned int)
_Z16AllocChildThreadjj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z16AllocChildThreadjj_10
_Z16AllocChildThreadjj_40:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx edx, word [ecx+0x4]
	mov [ebp-0x1a], dx
	cmp ebx, ecx
	jz _Z16AllocChildThreadjj_20
	test byte [ebx+0x8], 0x60
	jnz _Z16AllocChildThreadjj_30
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx edx, word [ebx+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
_Z16AllocChildThreadjj_50:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx eax, word [ebx]
	mov ecx, eax
	shl ecx, 0x4
	add ecx, scrVarGlob+0x10
	shl dword [ebp+0xc], 0x8
	or dword [ebp+0xc], 0x71
	mov edx, [ebp+0xc]
	mov [ecx+0x8], edx
	mov word [ecx+0x4], 0x0
	mov edx, [ebp+0x8]
	mov [ecx+0x6], dx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16AllocChildThreadjj_10:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z16AllocChildThreadjj_40
_Z16AllocChildThreadjj_30:
	movzx eax, word [ebp-0x1a]
	jmp _Z16AllocChildThreadjj_50
_Z16AllocChildThreadjj_20:
	mov eax, edx
	jmp _Z16AllocChildThreadjj_50
	nop


;FindFirstSibling(unsigned int)
_Z16FindFirstSiblingj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	pop ebp
	ret


;GetArrayVariable(unsigned int, unsigned int)
_Z16GetArrayVariablejj:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0xc]
	add eax, 0x800000
	and eax, 0xffffff
	mov [esp+0x4], eax
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z24GetVariableIndexInternaljj
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	leave
	ret


;GetParentLocalId(unsigned int)
_Z16GetParentLocalIdj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	shr eax, 0x8
	pop ebp
	ret


;RemoveRefToValue(int, VariableUnion)
_Z16RemoveRefToValuei13VariableUnion:
	push ebp
	mov ebp, esp
	mov edx, [ebp+0xc]
	mov eax, [ebp+0x8]
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z16RemoveRefToValuei13VariableUnion_10
	test eax, eax
	jz _Z16RemoveRefToValuei13VariableUnion_20
	cmp eax, 0x2
	jbe _Z16RemoveRefToValuei13VariableUnion_30
	cmp byte [edx-0x1], 0x0
	jnz _Z16RemoveRefToValuei13VariableUnion_10
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z16RemoveRefToValuei13VariableUnion_40
	sub eax, 0x1
	mov [edx-0x4], ax
_Z16RemoveRefToValuei13VariableUnion_10:
	pop ebp
	ret
_Z16RemoveRefToValuei13VariableUnion_20:
	mov [ebp+0x8], edx
	pop ebp
	jmp _Z17RemoveRefToObjectj
_Z16RemoveRefToValuei13VariableUnion_40:
	mov dword [ebp+0xc], 0x10
	mov [ebp+0x8], ecx
	pop ebp
	jmp _Z7MT_FreePvi
_Z16RemoveRefToValuei13VariableUnion_30:
	mov [ebp+0x8], edx
	pop ebp
	jmp _Z20SL_RemoveRefToStringj
	nop


;Scr_AddArrayKeys(unsigned int)
_Z16Scr_AddArrayKeysj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov ebx, [ebp+0x8]
	call _Z13Scr_MakeArrayv
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jz _Z16Scr_AddArrayKeysj_10
_Z16Scr_AddArrayKeysj_50:
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov eax, [ebx+0x8]
	shr eax, 0x8
	cmp eax, 0xffff
	ja _Z16Scr_AddArrayKeysj_20
	movzx esi, ax
	mov eax, 0x2
_Z16Scr_AddArrayKeysj_90:
	cmp eax, 0x2
	jz _Z16Scr_AddArrayKeysj_30
_Z16Scr_AddArrayKeysj_70:
	cmp eax, 0x6
	jz _Z16Scr_AddArrayKeysj_40
_Z16Scr_AddArrayKeysj_80:
	call _Z12Scr_AddArrayv
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z16Scr_AddArrayKeysj_10
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	test edx, edx
	jnz _Z16Scr_AddArrayKeysj_50
_Z16Scr_AddArrayKeysj_10:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_AddArrayKeysj_20:
	cmp eax, 0x17fff
	jbe _Z16Scr_AddArrayKeysj_60
	lea esi, [eax-0x800000]
	mov eax, 0x6
	cmp eax, 0x2
	jnz _Z16Scr_AddArrayKeysj_70
_Z16Scr_AddArrayKeysj_30:
	mov [esp], esi
	call _Z18Scr_AddConstStringj
	jmp _Z16Scr_AddArrayKeysj_80
_Z16Scr_AddArrayKeysj_60:
	lea esi, [eax-0x10000]
	mov eax, 0x1
	jmp _Z16Scr_AddArrayKeysj_90
_Z16Scr_AddArrayKeysj_40:
	mov [esp], esi
	call _Z10Scr_AddInti
	jmp _Z16Scr_AddArrayKeysj_80


;Scr_EvalArrayRef(unsigned int)
_Z16Scr_EvalArrayRefj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov eax, [ebp+0x8]
	test eax, eax
	jnz _Z16Scr_EvalArrayRefj_10
	mov eax, [scrVarPub+0x3c]
	mov [ebp-0x54], eax
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x44], eax
	mov edi, [eax+0x8]
	shr edi, 0x8
	mov edx, [scrVarPub+0x40]
	mov [ebp-0x58], edx
	mov ebx, edx
	add ebx, 0x800000
	and ebx, 0xffffff
	lea eax, [edi+edi*2]
	movzx ecx, word [eax*4+g_classMap]
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x40], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z16Scr_EvalArrayRefj_20
_Z16Scr_EvalArrayRefj_230:
	mov ecx, 0x8002
_Z16Scr_EvalArrayRefj_220:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z16Scr_EvalArrayRefj_30
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	mov [esp+0x8], eax
	mov ecx, [ebp-0x44]
	movzx eax, word [ecx+0x6]
	mov [esp+0x4], eax
	mov [esp], edi
	call _Z19GetEntityFieldValuejii
	mov esi, eax
	mov ebx, edx
	test edx, edx
	jz _Z16Scr_EvalArrayRefj_40
	cmp edx, 0x1
	jz _Z16Scr_EvalArrayRefj_50
_Z16Scr_EvalArrayRefj_370:
	lea eax, [ebx-0x1]
	cmp eax, 0x3
	ja _Z16Scr_EvalArrayRefj_60
	test eax, eax
	jz _Z16Scr_EvalArrayRefj_70
	cmp eax, 0x2
	jbe _Z16Scr_EvalArrayRefj_80
	cmp byte [esi-0x1], 0x0
	jnz _Z16Scr_EvalArrayRefj_60
	lea ecx, [esi-0x4]
	movzx eax, word [esi-0x4]
	test ax, ax
	jz _Z16Scr_EvalArrayRefj_90
	sub eax, 0x1
	mov [esi-0x4], ax
	mov dword [ebp-0x48], 0x0
	jmp _Z16Scr_EvalArrayRefj_100
_Z16Scr_EvalArrayRefj_10:
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x48], eax
	mov eax, [eax+0x8]
	mov ebx, eax
	and ebx, 0x1f
	jz _Z16Scr_EvalArrayRefj_110
	mov eax, [ebp-0x48]
	mov esi, [eax+0x4]
_Z16Scr_EvalArrayRefj_100:
	cmp ebx, 0x1
	jz _Z16Scr_EvalArrayRefj_120
	mov dword [scrVarPub+0x10], 0x1
	cmp ebx, 0x2
	jz _Z16Scr_EvalArrayRefj_130
	cmp ebx, 0x4
	jz _Z16Scr_EvalArrayRefj_140
	mov eax, [ebx*4+var_typename]
_Z16Scr_EvalArrayRefj_290:
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_an_arra
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	xor edx, edx
	mov eax, edx
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalArrayRefj_30:
	mov eax, [ebp-0x58]
_Z16Scr_EvalArrayRefj_260:
	lea ecx, [eax+eax*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [eax+ecx*4]
	add ecx, [ebp-0x54]
	mov ebx, 0x80018005
	mov eax, ecx
	mul ebx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, [ebp-0x58]
	mov eax, [ebp-0x54]
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x1c], eax
	mov eax, [ebp-0x54]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x34], eax
	mov edx, [ebp-0x1c]
	add edx, 0x8002
	mov [ebp-0x3c], edx
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x38], ecx
	movzx edi, word [eax+scrVarGlob]
	mov edx, [ebp-0x34]
	movzx eax, word [edx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z16Scr_EvalArrayRefj_150
	shl edx, 0x4
	mov esi, [edx+scrVarGlob+0x80028]
	shr esi, 0x8
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	mov eax, [ebp-0x54]
	lea ecx, [edx+eax]
	mov eax, ecx
	mul ebx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	mov ebx, ecx
	sub ebx, eax
	lea ecx, [ebx+0x1]
	mov [ebp-0x30], ecx
	lea edx, [ebx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x2c], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z16Scr_EvalArrayRefj_160
_Z16Scr_EvalArrayRefj_310:
	mov dword [ebp-0x30], 0x0
	mov edx, 0x8002
_Z16Scr_EvalArrayRefj_300:
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x2], ax
	mov edx, edi
	movzx eax, word [ebp-0x30]
	mov ecx, [ebp-0x34]
_Z16Scr_EvalArrayRefj_200:
	mov [ecx+0xe], dx
	mov edx, [ebp-0x38]
	mov word [edx+0x2], 0x0
	shl edi, 0x4
	mov [edi+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x3c], 0x4
	mov ecx, [ebp-0x3c]
	movzx eax, word [ecx+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x48], eax
	mov eax, [eax+0x8]
_Z16Scr_EvalArrayRefj_110:
	or eax, 0x1
	mov edx, [ebp-0x48]
	mov [edx+0x8], eax
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z16Scr_EvalArrayRefj_170
_Z16Scr_EvalArrayRefj_210:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx ecx, word [esi+scrVarGlob]
	mov [ebp-0x26], cx
	movzx eax, cx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x24], ax
	cmp ebx, ecx
	jz _Z16Scr_EvalArrayRefj_180
	test byte [ebx+0x8], 0x60
	jz _Z16Scr_EvalArrayRefj_190
	movzx eax, word [ebp-0x24]
_Z16Scr_EvalArrayRefj_180:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov ecx, [ebp-0x48]
	mov [ecx+0x4], edx
_Z16Scr_EvalArrayRefj_270:
	mov eax, edx
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalArrayRefj_190:
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x26]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx edx, word [ebx+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x24]
	jmp _Z16Scr_EvalArrayRefj_180
_Z16Scr_EvalArrayRefj_150:
	mov edx, edi
	mov ecx, [ebp-0x34]
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], di
	xor eax, eax
	jmp _Z16Scr_EvalArrayRefj_200
_Z16Scr_EvalArrayRefj_170:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z16Scr_EvalArrayRefj_210
_Z16Scr_EvalArrayRefj_20:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z16Scr_EvalArrayRefj_220
	movzx eax, word [esi+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x40], eax
	jz _Z16Scr_EvalArrayRefj_230
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jnz _Z16Scr_EvalArrayRefj_240
	jmp _Z16Scr_EvalArrayRefj_220
_Z16Scr_EvalArrayRefj_250:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z16Scr_EvalArrayRefj_220
_Z16Scr_EvalArrayRefj_240:
	movzx eax, word [edx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x40], eax
	jnz _Z16Scr_EvalArrayRefj_250
	jmp _Z16Scr_EvalArrayRefj_230
_Z16Scr_EvalArrayRefj_40:
	mov eax, [scrVarPub+0x3c]
	mov [ebp-0x54], eax
	mov edx, [scrVarPub+0x40]
	mov [ebp-0x58], edx
	mov eax, edx
	jmp _Z16Scr_EvalArrayRefj_260
_Z16Scr_EvalArrayRefj_130:
	mov dword [esp], _cstring_string_character
	call _Z9Scr_ErrorPKc
	xor edx, edx
	jmp _Z16Scr_EvalArrayRefj_270
_Z16Scr_EvalArrayRefj_120:
	mov [ebp-0x4c], esi
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov edx, [eax+0x8]
	and edx, 0x1f
	cmp edx, 0x15
	jz _Z16Scr_EvalArrayRefj_280
	mov dword [scrVarPub+0x10], 0x1
	mov eax, [edx*4+var_typename]
	jmp _Z16Scr_EvalArrayRefj_290
_Z16Scr_EvalArrayRefj_60:
	mov dword [ebp-0x48], 0x0
	jmp _Z16Scr_EvalArrayRefj_100
_Z16Scr_EvalArrayRefj_160:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z16Scr_EvalArrayRefj_300
	movzx ebx, word [ebx+0xc]
	mov [ebp-0x30], ebx
	mov edx, ebx
	add edx, 0x8002
	mov ecx, edx
	shl ecx, 0x4
	lea eax, [ecx+scrVarGlob]
	cmp [ebp-0x2c], eax
	jz _Z16Scr_EvalArrayRefj_310
_Z16Scr_EvalArrayRefj_320:
	movzx eax, word [ecx+scrVarGlob]
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x80020]
	mov eax, [ecx+0x8]
	shr eax, 0x8
	cmp eax, esi
	jz _Z16Scr_EvalArrayRefj_300
	movzx ecx, word [ecx+0xc]
	mov [ebp-0x30], ecx
	mov edx, ecx
	add edx, 0x8002
	mov ecx, edx
	shl ecx, 0x4
	lea eax, [ecx+scrVarGlob]
	cmp [ebp-0x2c], eax
	jnz _Z16Scr_EvalArrayRefj_320
	jmp _Z16Scr_EvalArrayRefj_310
_Z16Scr_EvalArrayRefj_140:
	mov dword [esp], _cstring_vector_component
	call _Z9Scr_ErrorPKc
	xor edx, edx
	jmp _Z16Scr_EvalArrayRefj_270
_Z16Scr_EvalArrayRefj_280:
	cmp word [eax+0x4], 0x0
	jnz _Z16Scr_EvalArrayRefj_330
	mov edx, esi
	jmp _Z16Scr_EvalArrayRefj_270
_Z16Scr_EvalArrayRefj_70:
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	mov dword [ebp-0x48], 0x0
	jmp _Z16Scr_EvalArrayRefj_100
_Z16Scr_EvalArrayRefj_330:
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	movzx edx, word [scrVarGlob+0x14]
	mov [ebp-0x20], dx
	test dx, dx
	jz _Z16Scr_EvalArrayRefj_340
_Z16Scr_EvalArrayRefj_380:
	movzx eax, word [ebp-0x20]
	shl eax, 0x4
	add eax, 0x10
	mov [ebp-0x50], eax
	mov ebx, eax
	add ebx, scrVarGlob
	movzx ecx, word [eax+scrVarGlob]
	mov [ebp-0x22], cx
	movzx eax, cx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1e], ax
	cmp ebx, ecx
	jz _Z16Scr_EvalArrayRefj_350
	test byte [ebx+0x8], 0x60
	jnz _Z16Scr_EvalArrayRefj_360
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x22]
	mov [edx+scrVarGlob+0x10], ax
	movzx eax, word [ebp-0x20]
	mov edx, [ebp-0x50]
	mov [edx+scrVarGlob], ax
	movzx edx, word [ebx+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1e]
_Z16Scr_EvalArrayRefj_350:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx edx, word [ebp-0x20]
	mov [ecx+0xc], dx
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx ebx, word [ebx]
	mov eax, ebx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov esi, ebx
	mov edx, ebx
	mov eax, [ebp-0x4c]
	call _Z9CopyArrayjj
	mov ecx, [ebp-0x48]
	mov [ecx+0x4], ebx
	mov edx, esi
	jmp _Z16Scr_EvalArrayRefj_270
_Z16Scr_EvalArrayRefj_50:
	shl eax, 0x4
	cmp word [eax+scrVarGlob+0x14], 0x0
	jnz _Z16Scr_EvalArrayRefj_370
	mov [esp], esi
	call _Z17RemoveRefToObjectj
	mov dword [scrVarPub+0x10], 0x1
	mov dword [esp], _cstring_readonly_array_c
	call _Z9Scr_ErrorPKc
	xor edx, edx
	jmp _Z16Scr_EvalArrayRefj_270
_Z16Scr_EvalArrayRefj_80:
	mov [esp], esi
	call _Z20SL_RemoveRefToStringj
	mov dword [ebp-0x48], 0x0
	jmp _Z16Scr_EvalArrayRefj_100
_Z16Scr_EvalArrayRefj_360:
	movzx eax, word [ebp-0x1e]
	jmp _Z16Scr_EvalArrayRefj_350
_Z16Scr_EvalArrayRefj_340:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z16Scr_EvalArrayRefj_380
_Z16Scr_EvalArrayRefj_90:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov dword [ebp-0x48], 0x0
	jmp _Z16Scr_EvalArrayRefj_100


;Scr_EvalEquality(VariableValue*, VariableValue*)
_Z16Scr_EvalEqualityP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov edi, [ebp+0xc]
	mov edx, edi
	mov eax, esi
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	cmp dword [esi+0x4], 0xb
	ja _Z16Scr_EvalEqualityP13VariableValueS0__10
	mov eax, [esi+0x4]
	jmp dword [eax*4+_Z16Scr_EvalEqualityP13VariableValueS0__jumptab_0]
_Z16Scr_EvalEqualityP13VariableValueS0__140:
	mov edx, [esi]
	mov eax, edx
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80028]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z16Scr_EvalEqualityP13VariableValueS0__20
_Z16Scr_EvalEqualityP13VariableValueS0__100:
	cmp byte [scrVarPub+0x8], 0x0
	jnz _Z16Scr_EvalEqualityP13VariableValueS0__30
_Z16Scr_EvalEqualityP13VariableValueS0__10:
	mov [ebp+0xc], edi
	mov [ebp+0x8], esi
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z16Scr_EvalEqualityP13VariableValueS0__200:
	mov dword [esi+0x4], 0x6
_Z16Scr_EvalEqualityP13VariableValueS0__180:
	mov eax, [esi]
	xor edx, edx
	cmp eax, [edi]
	setz dl
	mov [esi], edx
_Z16Scr_EvalEqualityP13VariableValueS0__40:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalEqualityP13VariableValueS0__170:
	mov dword [esi+0x4], 0x6
	movss xmm0, dword [esi]
	subss xmm0, [edi]
	andps xmm0, [_data16_7fffffff]
	movss xmm1, dword [_float_0_00000100]
	xor edx, edx
	ucomiss xmm1, xmm0
	seta dl
	mov [esi], edx
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
_Z16Scr_EvalEqualityP13VariableValueS0__160:
	mov dword [esi+0x4], 0x6
	mov edx, [esi]
	mov ecx, [edi]
	movss xmm0, dword [edx]
	ucomiss xmm0, [ecx]
	jz _Z16Scr_EvalEqualityP13VariableValueS0__50
_Z16Scr_EvalEqualityP13VariableValueS0__110:
	xor ebx, ebx
_Z16Scr_EvalEqualityP13VariableValueS0__120:
	cmp byte [edx-0x1], 0x0
	jnz _Z16Scr_EvalEqualityP13VariableValueS0__60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z16Scr_EvalEqualityP13VariableValueS0__70
	sub eax, 0x1
	mov [edx-0x4], ax
	mov ecx, [edi]
_Z16Scr_EvalEqualityP13VariableValueS0__60:
	cmp byte [ecx-0x1], 0x0
	jnz _Z16Scr_EvalEqualityP13VariableValueS0__80
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z16Scr_EvalEqualityP13VariableValueS0__90
	sub eax, 0x1
	mov [ecx-0x4], ax
_Z16Scr_EvalEqualityP13VariableValueS0__80:
	mov [esi], ebx
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
_Z16Scr_EvalEqualityP13VariableValueS0__150:
	mov dword [esi+0x4], 0x6
	mov eax, [esi]
	xor ebx, ebx
	cmp eax, [edi]
	setz bl
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov eax, [edi]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov [esi], ebx
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
_Z16Scr_EvalEqualityP13VariableValueS0__130:
	mov dword [esi+0x4], 0x6
	mov dword [esi], 0x1
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
_Z16Scr_EvalEqualityP13VariableValueS0__190:
	mov dword [esi+0x4], 0x6
	mov eax, [esi]
	cmp eax, [edi]
	setz al
	movzx eax, al
	mov [esi], eax
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
_Z16Scr_EvalEqualityP13VariableValueS0__20:
	mov eax, [edi]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80028]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z16Scr_EvalEqualityP13VariableValueS0__100
_Z16Scr_EvalEqualityP13VariableValueS0__30:
	mov dword [esi+0x4], 0x6
	xor ebx, ebx
	cmp edx, [edi]
	setz bl
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	mov eax, [edi]
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov [esi], ebx
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
_Z16Scr_EvalEqualityP13VariableValueS0__50:
	jp _Z16Scr_EvalEqualityP13VariableValueS0__110
	movss xmm0, dword [edx+0x4]
	ucomiss xmm0, [ecx+0x4]
	jnz _Z16Scr_EvalEqualityP13VariableValueS0__110
	jp _Z16Scr_EvalEqualityP13VariableValueS0__110
	movss xmm0, dword [edx+0x8]
	ucomiss xmm0, [ecx+0x8]
	jnz _Z16Scr_EvalEqualityP13VariableValueS0__110
	jp _Z16Scr_EvalEqualityP13VariableValueS0__110
	mov ebx, 0x1
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__120
_Z16Scr_EvalEqualityP13VariableValueS0__70:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov ecx, [edi]
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__60
_Z16Scr_EvalEqualityP13VariableValueS0__90:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov [esi], ebx
	jmp _Z16Scr_EvalEqualityP13VariableValueS0__40
	
	
_Z16Scr_EvalEqualityP13VariableValueS0__jumptab_0:
	dd _Z16Scr_EvalEqualityP13VariableValueS0__130
	dd _Z16Scr_EvalEqualityP13VariableValueS0__140
	dd _Z16Scr_EvalEqualityP13VariableValueS0__150
	dd _Z16Scr_EvalEqualityP13VariableValueS0__150
	dd _Z16Scr_EvalEqualityP13VariableValueS0__160
	dd _Z16Scr_EvalEqualityP13VariableValueS0__170
	dd _Z16Scr_EvalEqualityP13VariableValueS0__180
	dd _Z16Scr_EvalEqualityP13VariableValueS0__10
	dd _Z16Scr_EvalEqualityP13VariableValueS0__10
	dd _Z16Scr_EvalEqualityP13VariableValueS0__190
	dd _Z16Scr_EvalEqualityP13VariableValueS0__10
	dd _Z16Scr_EvalEqualityP13VariableValueS0__200


;Scr_EvalMultiply(VariableValue*, VariableValue*)
_Z16Scr_EvalMultiplyP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z16Scr_EvalMultiplyP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z16Scr_EvalMultiplyP13VariableValueS0__20
	cmp eax, 0x4
	jz _Z16Scr_EvalMultiplyP13VariableValueS0__30
	mov [ebp+0xc], esi
	mov [ebp+0x8], ebx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z16Scr_EvalMultiplyP13VariableValueS0__10:
	movss xmm0, dword [ebx]
	mulss xmm0, [esi]
	movss [ebx], xmm0
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalMultiplyP13VariableValueS0__20:
	mov eax, [ebx]
	imul eax, [esi]
	mov [ebx], eax
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalMultiplyP13VariableValueS0__30:
	mov dword [esp+0x4], 0x2
	mov dword [esp], 0x10
	call _Z8MT_Allocii
	lea edi, [eax+0x4]
	mov dword [edi-0x4], 0x0
	mov edx, [ebx]
	mov ecx, [esi]
	movss xmm0, dword [edx]
	mulss xmm0, [ecx]
	movss [eax+0x4], xmm0
	mov eax, [ebx]
	mov edx, [esi]
	movss xmm0, dword [eax+0x4]
	mulss xmm0, [edx+0x4]
	movss [edi+0x4], xmm0
	mov eax, [ebx]
	mov edx, [esi]
	movss xmm0, dword [eax+0x8]
	mulss xmm0, [edx+0x8]
	movss [edi+0x8], xmm0
	mov edx, [ebx]
	cmp byte [edx-0x1], 0x0
	jnz _Z16Scr_EvalMultiplyP13VariableValueS0__40
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z16Scr_EvalMultiplyP13VariableValueS0__50
	sub eax, 0x1
	mov [edx-0x4], ax
_Z16Scr_EvalMultiplyP13VariableValueS0__40:
	mov edx, [esi]
	cmp byte [edx-0x1], 0x0
	jnz _Z16Scr_EvalMultiplyP13VariableValueS0__60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z16Scr_EvalMultiplyP13VariableValueS0__70
	sub eax, 0x1
	mov [edx-0x4], ax
_Z16Scr_EvalMultiplyP13VariableValueS0__60:
	mov [ebx], edi
_Z16Scr_EvalMultiplyP13VariableValueS0__80:
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalMultiplyP13VariableValueS0__50:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z16Scr_EvalMultiplyP13VariableValueS0__40
_Z16Scr_EvalMultiplyP13VariableValueS0__70:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	mov [ebx], edi
	jmp _Z16Scr_EvalMultiplyP13VariableValueS0__80


;Scr_EvalVariable(unsigned int)
_Z16Scr_EvalVariablej:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov eax, [ebp+0x8]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov edx, [eax+0x8]
	and edx, 0x1f
	mov [ebp-0x1c], edx
	mov edi, [eax+0x4]
	mov eax, edx
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z16Scr_EvalVariablej_10
	test eax, eax
	jz _Z16Scr_EvalVariablej_20
	cmp eax, 0x2
	jbe _Z16Scr_EvalVariablej_30
	cmp byte [edi-0x1], 0x0
	jnz _Z16Scr_EvalVariablej_40
	add word [edi-0x4], 0x1
	mov esi, [ebp-0x1c]
	mov eax, edi
	mov edx, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalVariablej_20:
	lea eax, [edi+0x1]
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	mov esi, [ebp-0x1c]
_Z16Scr_EvalVariablej_50:
	mov eax, edi
	mov edx, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalVariablej_10:
	mov esi, edx
	mov eax, edi
	mov edx, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z16Scr_EvalVariablej_40:
	mov esi, [ebp-0x1c]
	jmp _Z16Scr_EvalVariablej_50
_Z16Scr_EvalVariablej_30:
	mov [esp], edi
	call _Z17SL_AddRefToStringj
	mov esi, [ebp-0x1c]
	mov eax, edi
	mov edx, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
	add [eax], al


;Scr_InitClassMap()
_Z16Scr_InitClassMapv:
	push ebp
	mov ebp, esp
	mov eax, g_classMap+0x2
_Z16Scr_InitClassMapv_10:
	mov word [eax], 0x0
	mov word [eax-0x2], 0x0
	add eax, 0xc
	cmp eax, g_classMap+0x32
	jnz _Z16Scr_InitClassMapv_10
	pop ebp
	ret
	nop


;SetVariableValue(unsigned int, VariableValue*)
_Z16SetVariableValuejP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov eax, [ebp+0x8]
	mov esi, [ebp+0xc]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x4]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z16SetVariableValuejP13VariableValue_10
	test eax, eax
	jz _Z16SetVariableValuejP13VariableValue_20
	cmp eax, 0x2
	jbe _Z16SetVariableValuejP13VariableValue_30
	cmp byte [ecx-0x1], 0x0
	jnz _Z16SetVariableValuejP13VariableValue_10
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z16SetVariableValuejP13VariableValue_40
	sub eax, 0x1
	mov [ecx-0x4], ax
	mov edx, [ebx+0x8]
_Z16SetVariableValuejP13VariableValue_10:
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	or edx, [esi+0x4]
	mov [ebx+0x8], edx
	mov eax, [esi]
	mov [ebx+0x4], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z16SetVariableValuejP13VariableValue_20:
	mov [esp], ecx
	call _Z17RemoveRefToObjectj
	mov edx, [ebx+0x8]
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	or edx, [esi+0x4]
	mov [ebx+0x8], edx
	mov eax, [esi]
	mov [ebx+0x4], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z16SetVariableValuejP13VariableValue_40:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov edx, [ebx+0x8]
	jmp _Z16SetVariableValuejP13VariableValue_10
_Z16SetVariableValuejP13VariableValue_30:
	mov [esp], ecx
	call _Z20SL_RemoveRefToStringj
	mov edx, [ebx+0x8]
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	or edx, [esi+0x4]
	mov [ebx+0x8], edx
	mov eax, [esi]
	mov [ebx+0x4], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret


;FindArrayVariable(unsigned int, int)
_Z17FindArrayVariableji:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	mov ebx, [ebp+0xc]
	add ebx, 0x800000
	and ebx, 0xffffff
	lea ecx, [ebx+ebx*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [ebx+ecx*4]
	add ecx, [ebp+0x8]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z17FindArrayVariableji_10
_Z17FindArrayVariableji_40:
	mov ecx, 0x8002
_Z17FindArrayVariableji_20:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17FindArrayVariableji_10:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z17FindArrayVariableji_20
	movzx ecx, word [esi+0xc]
	jmp _Z17FindArrayVariableji_30
_Z17FindArrayVariableji_50:
	movzx ecx, word [edx+0xc]
_Z17FindArrayVariableji_30:
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z17FindArrayVariableji_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z17FindArrayVariableji_50
	add ecx, 0x8002
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;GetObjectVariable(unsigned int, unsigned int)
_Z17GetObjectVariablejj:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0xc]
	add eax, 0x10000
	mov [esp+0x4], eax
	mov eax, [ebp+0x8]
	mov [esp], eax
	call _Z24GetVariableIndexInternaljj
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	leave
	ret
	nop


;IsValidArrayIndex(unsigned int)
_Z17IsValidArrayIndexj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	add eax, 0x7e8000
	cmp eax, 0xfe7fff
	setbe al
	movzx eax, al
	pop ebp
	ret


;RemoveRefToObject(unsigned int)
_Z17RemoveRefToObjectj:
_Z17RemoveRefToObjectj_200:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov ecx, [ebp+0x8]
	lea edi, [ecx+0x1]
	mov edx, edi
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	mov [ebp-0x2c], eax
	mov ebx, eax
	movzx eax, word [eax+0x4]
	test ax, ax
	jz _Z17RemoveRefToObjectj_10
	sub eax, 0x1
	mov [ebx+0x4], ax
	test ax, ax
	jnz _Z17RemoveRefToObjectj_20
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x1f
	cmp eax, 0x14
	jz _Z17RemoveRefToObjectj_30
_Z17RemoveRefToObjectj_20:
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17RemoveRefToObjectj_10:
	mov eax, [ebp-0x2c]
	cmp word [eax+0xe], 0x0
	jnz _Z17RemoveRefToObjectj_40
_Z17RemoveRefToObjectj_70:
	mov eax, [ebp-0x2c]
	movzx edx, word [eax+0xc]
	mov dword [eax+0x8], 0x0
	movzx eax, word [scrVarGlob+0x14]
	mov ecx, [ebp-0x2c]
	mov [ecx+0x4], ax
	mov eax, edx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [scrVarGlob+0x14]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	mov [scrVarGlob+0x14], dx
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17RemoveRefToObjectj_40:
	add word [edx+scrVarGlob+0x4], 0x1
	movzx eax, word [eax+0xe]
	test ax, ax
	jnz _Z17RemoveRefToObjectj_50
_Z17RemoveRefToObjectj_120:
	mov ebx, [ebp-0x2c]
	movzx eax, word [ebx+0x4]
	test ax, ax
	jnz _Z17RemoveRefToObjectj_60
	movzx edx, word [ebx+0xc]
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x14]
	mov [ebx+0x4], ax
	mov eax, edx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [scrVarGlob+0x14]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	mov [scrVarGlob+0x14], dx
	jmp _Z17RemoveRefToObjectj_70
_Z17RemoveRefToObjectj_30:
	cmp word [ebx+0xe], 0x0
	jnz _Z17RemoveRefToObjectj_20
	mov eax, edx
	and eax, 0xffffffe0
	or eax, 0x13
	mov [ebx+0x8], eax
	movzx edx, word [ebx+0x6]
	add edx, 0x800000
	and edx, 0xffffff
	mov [esp+0x4], edx
	shr eax, 0x8
	lea eax, [eax+eax*2]
	movzx eax, word [eax*4+g_classMap+0x2]
	mov [esp], eax
	call _Z14RemoveVariablejj
	jmp _Z17RemoveRefToObjectj_20
_Z17RemoveRefToObjectj_60:
	sub eax, 0x1
	mov [ebx+0x4], ax
	jmp _Z17RemoveRefToObjectj_70
_Z17RemoveRefToObjectj_50:
	movzx eax, ax
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [ecx+edx]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x24], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z17RemoveRefToObjectj_80
_Z17RemoveRefToObjectj_210:
	xor esi, esi
_Z17RemoveRefToObjectj_90:
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov edx, [ebp-0x2c]
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x8002e]
	movzx esi, ax
	test ax, ax
	jnz _Z17RemoveRefToObjectj_90
	mov ebx, [ebp-0x2c]
	movzx ebx, word [ebx+0xe]
	mov [ebp-0x20], ebx
	shl edi, 0x4
	mov [ebp-0x30], edi
	mov eax, ebx
	jmp _Z17RemoveRefToObjectj_100
_Z17RemoveRefToObjectj_170:
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x4a], 0x0
	jz _Z17RemoveRefToObjectj_110
_Z17RemoveRefToObjectj_180:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
_Z17RemoveRefToObjectj_190:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov ecx, [ebp-0x1c]
	mov word [ecx+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	cmp word [ebp-0x26], 0x0
	jz _Z17RemoveRefToObjectj_120
	mov eax, [ebp-0x20]
_Z17RemoveRefToObjectj_100:
	add eax, 0x8002
	shl eax, 0x4
	movzx edi, word [eax+scrVarGlob+0xe]
	mov [ebp-0x26], di
	movzx edx, di
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [ebp-0x20], edx
	lea ebx, [eax+scrVarGlob]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z17RemoveRefToObjectj_130
	test eax, eax
	jz _Z17RemoveRefToObjectj_140
	cmp eax, 0x2
	jbe _Z17RemoveRefToObjectj_150
	cmp byte [edx-0x1], 0x0
	jnz _Z17RemoveRefToObjectj_130
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z17RemoveRefToObjectj_160
	sub eax, 0x1
	mov [edx-0x4], ax
_Z17RemoveRefToObjectj_130:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx eax, word [ebx+0xe]
	mov [ebp-0x4a], ax
	movzx edx, ax
	mov ecx, [ebp-0x1c]
	movzx eax, word [ecx+0x2]
	movzx ecx, ax
	test ax, ax
	jnz _Z17RemoveRefToObjectj_170
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	mov edi, [ebp-0x30]
	mov [edi+scrVarGlob+0xe], ax
	cmp word [ebp-0x4a], 0x0
	jnz _Z17RemoveRefToObjectj_180
_Z17RemoveRefToObjectj_110:
	mov edx, [ebp-0x30]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ecx, 0x4
	movzx edx, word [ecx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z17RemoveRefToObjectj_190
_Z17RemoveRefToObjectj_140:
	mov [esp], edx
	call _Z17RemoveRefToObjectj_200
	jmp _Z17RemoveRefToObjectj_130
_Z17RemoveRefToObjectj_150:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z17RemoveRefToObjectj_130
_Z17RemoveRefToObjectj_80:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z17RemoveRefToObjectj_90
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z17RemoveRefToObjectj_210
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z17RemoveRefToObjectj_220
	jmp _Z17RemoveRefToObjectj_90
_Z17RemoveRefToObjectj_230:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jz _Z17RemoveRefToObjectj_90
_Z17RemoveRefToObjectj_220:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jnz _Z17RemoveRefToObjectj_230
	jmp _Z17RemoveRefToObjectj_210
_Z17RemoveRefToObjectj_160:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z17RemoveRefToObjectj_130
	nop
	add [eax], al


;RemoveRefToVector(float const*)
_Z17RemoveRefToVectorPKf:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov edx, [ebp+0x8]
	cmp byte [edx-0x1], 0x0
	jnz _Z17RemoveRefToVectorPKf_10
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z17RemoveRefToVectorPKf_20
	sub eax, 0x1
	mov [edx-0x4], ax
_Z17RemoveRefToVectorPKf_10:
	leave
	ret
_Z17RemoveRefToVectorPKf_20:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	leave
	ret


;Scr_AddClassField(unsigned int, char const*, unsigned int)
_Z17Scr_AddClassFieldjPKcj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x6c
	mov eax, [ebp+0x8]
	lea eax, [eax+eax*2]
	movzx eax, word [eax*4+g_classMap]
	mov [ebp-0x4c], eax
	mov eax, [ebp+0xc]
	mov [esp], eax
	call _Z21SL_GetCanonicalStringPKc
	lea edi, [eax+0x800000]
	and edi, 0xffffff
	lea ecx, [edi+edi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [edi+ecx*4]
	add ecx, [ebp-0x4c]
	mov esi, 0x80018005
	mov eax, ecx
	mul esi
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, edi
	mov eax, [ebp-0x4c]
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x1c], eax
	mov eax, [ebp-0x4c]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x40], eax
	mov ecx, [ebp-0x1c]
	add ecx, 0x8002
	mov [ebp-0x48], ecx
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x44], edx
	movzx edi, word [eax+scrVarGlob]
	mov ecx, [ebp-0x40]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z17Scr_AddClassFieldjPKcj_10
	shl edx, 0x4
	mov ebx, [edx+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	add edx, [ebp-0x4c]
	mov [ebp-0x5c], edx
	mov eax, edx
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, [ebp-0x5c]
	sub ecx, eax
	lea esi, [ecx+0x1]
	lea edx, [ecx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x38], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x3c], eax
	mov ecx, [eax+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z17Scr_AddClassFieldjPKcj_20
_Z17Scr_AddClassFieldjPKcj_80:
	xor esi, esi
	mov edx, 0x8002
_Z17Scr_AddClassFieldjPKcj_70:
	shl edx, 0x4
	movzx ecx, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x2], cx
	mov edx, edi
	mov eax, esi
	mov ecx, [ebp-0x40]
	jmp _Z17Scr_AddClassFieldjPKcj_30
_Z17Scr_AddClassFieldjPKcj_10:
	mov edx, edi
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], di
	xor eax, eax
_Z17Scr_AddClassFieldjPKcj_30:
	mov [ecx+0xe], dx
	mov edx, [ebp-0x44]
	mov word [edx+0x2], 0x0
	shl edi, 0x4
	mov [edi+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x48], 0x4
	mov ecx, [ebp-0x48]
	movzx edx, word [ecx+scrVarGlob]
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov eax, [edx+0x8]
	and eax, 0xffffffe0
	or eax, 0x6
	mov [edx+0x8], eax
	movzx eax, word [ebp+0x10]
	mov [ebp-0x50], eax
	mov [edx+0x4], eax
	mov dword [esp+0x8], 0x10
	mov dword [esp+0x4], 0x0
	mov edx, [ebp+0xc]
	mov [esp], edx
	call SL_GetString_
	mov [ebp-0x20], eax
	lea ecx, [eax+eax*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [eax+ecx*4]
	add ecx, [ebp-0x4c]
	mov ebx, 0x80018005
	mov eax, ecx
	mul ebx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, [ebp-0x20]
	mov eax, [ebp-0x4c]
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x24], eax
	add eax, 0x8002
	mov [ebp-0x34], eax
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x30], edx
	movzx eax, word [eax+scrVarGlob]
	mov [ebp-0x2c], eax
	mov ecx, [ebp-0x40]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z17Scr_AddClassFieldjPKcj_40
	shl edx, 0x4
	mov esi, [edx+scrVarGlob+0x80028]
	shr esi, 0x8
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	mov eax, [ebp-0x4c]
	lea ecx, [edx+eax]
	mov eax, ecx
	mul ebx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	mov ebx, ecx
	sub ebx, eax
	lea edi, [ebx+0x1]
	lea edx, [ebx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x28], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z17Scr_AddClassFieldjPKcj_50
_Z17Scr_AddClassFieldjPKcj_120:
	xor edi, edi
	mov edx, 0x8002
_Z17Scr_AddClassFieldjPKcj_110:
	shl edx, 0x4
	movzx eax, word [ebp-0x24]
	mov [edx+scrVarGlob+0x2], ax
	movzx edx, word [ebp-0x2c]
	mov eax, edi
	jmp _Z17Scr_AddClassFieldjPKcj_60
_Z17Scr_AddClassFieldjPKcj_40:
	movzx edx, word [ebp-0x2c]
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	xor eax, eax
_Z17Scr_AddClassFieldjPKcj_60:
	mov ecx, [ebp-0x40]
	mov [ecx+0xe], dx
	mov edx, [ebp-0x30]
	mov word [edx+0x2], 0x0
	shl dword [ebp-0x2c], 0x4
	mov ecx, [ebp-0x2c]
	mov [ecx+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x34], 0x4
	mov eax, [ebp-0x34]
	movzx ebx, word [eax+scrVarGlob]
	mov edx, [ebp-0x20]
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	shl ebx, 0x4
	add ebx, scrVarGlob+0x80020
	mov eax, [ebx+0x8]
	and eax, 0xffffffe0
	or eax, 0x6
	mov [ebx+0x8], eax
	mov ecx, [ebp-0x50]
	mov [ebx+0x4], ecx
	add esp, 0x6c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17Scr_AddClassFieldjPKcj_20:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z17Scr_AddClassFieldjPKcj_70
	mov eax, [ebp-0x3c]
	movzx esi, word [eax+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x38], eax
	jz _Z17Scr_AddClassFieldjPKcj_80
_Z17Scr_AddClassFieldjPKcj_100:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jz _Z17Scr_AddClassFieldjPKcj_90
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x38], eax
	jnz _Z17Scr_AddClassFieldjPKcj_100
	jmp _Z17Scr_AddClassFieldjPKcj_80
_Z17Scr_AddClassFieldjPKcj_50:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z17Scr_AddClassFieldjPKcj_110
	movzx edi, word [ebx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x28], eax
	jz _Z17Scr_AddClassFieldjPKcj_120
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, esi
	jz _Z17Scr_AddClassFieldjPKcj_130
_Z17Scr_AddClassFieldjPKcj_140:
	movzx edi, word [edx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x28], eax
	jz _Z17Scr_AddClassFieldjPKcj_120
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z17Scr_AddClassFieldjPKcj_140
_Z17Scr_AddClassFieldjPKcj_130:
	lea edx, [edi+0x8002]
	jmp _Z17Scr_AddClassFieldjPKcj_110
_Z17Scr_AddClassFieldjPKcj_90:
	lea edx, [esi+0x8002]
	jmp _Z17Scr_AddClassFieldjPKcj_70
	nop


;Scr_ClearWaitTime(unsigned int)
_Z17Scr_ClearWaitTimej:
	push ebp
	mov ebp, esp
	mov edx, [ebp+0x8]
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	mov eax, [edx+0x8]
	and eax, 0xffffffe0
	or eax, 0xe
	mov [edx+0x8], eax
	pop ebp
	ret
	nop


;Scr_EvalLessEqual(VariableValue*, VariableValue*)
_Z17Scr_EvalLessEqualP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z17Scr_EvalLessEqualP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z17Scr_EvalLessEqualP13VariableValueS0__20
	mov [esp+0x4], esi
	mov [esp], ebx
	call _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z17Scr_EvalLessEqualP13VariableValueS0__10:
	mov dword [ebx+0x4], 0x6
	movss xmm0, dword [ebx]
	xor eax, eax
	ucomiss xmm0, [esi]
	seta al
	mov [ebx], eax
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z17Scr_EvalLessEqualP13VariableValueS0__20:
	mov eax, [ebx]
	cmp eax, [esi]
	setg al
	movzx eax, al
	mov [ebx], eax
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret


;Scr_EvalShiftLeft(VariableValue*, VariableValue*)
_Z17Scr_EvalShiftLeftP13VariableValueS0_:
	push ebp
	mov ebp, esp
	mov edx, [ebp+0x8]
	mov eax, [ebp+0xc]
	cmp dword [edx+0x4], 0x6
	jz _Z17Scr_EvalShiftLeftP13VariableValueS0__10
_Z17Scr_EvalShiftLeftP13VariableValueS0__20:
	mov [ebp+0xc], eax
	mov [ebp+0x8], edx
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z17Scr_EvalShiftLeftP13VariableValueS0__10:
	cmp dword [eax+0x4], 0x6
	jnz _Z17Scr_EvalShiftLeftP13VariableValueS0__20
	mov ecx, [eax]
	shl dword [edx], cl
	pop ebp
	ret
	nop


;Scr_EvalSizeValue(VariableValue*)
_Z17Scr_EvalSizeValueP13VariableValue:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0x8]
	mov eax, [esi+0x4]
	cmp eax, 0x1
	jz _Z17Scr_EvalSizeValueP13VariableValue_10
	cmp eax, 0x2
	jz _Z17Scr_EvalSizeValueP13VariableValue_20
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_size_cannot_be_a
	call _Z2vaPKcz
	mov ebx, eax
	mov edx, [esi]
	mov eax, [esi+0x4]
	sub eax, 0x1
	cmp eax, 0x3
	jbe _Z17Scr_EvalSizeValueP13VariableValue_30
_Z17Scr_EvalSizeValueP13VariableValue_60:
	mov dword [esi+0x4], 0x0
	mov [ebp+0x8], ebx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z17Scr_EvalSizeValueP13VariableValue_30:
	test eax, eax
	jz _Z17Scr_EvalSizeValueP13VariableValue_40
	cmp eax, 0x2
	jbe _Z17Scr_EvalSizeValueP13VariableValue_50
	cmp byte [edx-0x1], 0x0
	jnz _Z17Scr_EvalSizeValueP13VariableValue_60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z17Scr_EvalSizeValueP13VariableValue_70
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z17Scr_EvalSizeValueP13VariableValue_60
_Z17Scr_EvalSizeValueP13VariableValue_10:
	mov ecx, [esi]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x10]
	mov dword [esi+0x4], 0x6
	mov eax, [edx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jz _Z17Scr_EvalSizeValueP13VariableValue_80
	mov eax, 0x1
_Z17Scr_EvalSizeValueP13VariableValue_90:
	mov [esi], eax
	mov [ebp+0x8], ecx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z17RemoveRefToObjectj
_Z17Scr_EvalSizeValueP13VariableValue_20:
	mov dword [esi+0x4], 0x6
	mov ebx, [esi]
	mov [esp], ebx
	call _Z18SL_ConvertToStringj
	mov edi, eax
	cld
	mov ecx, 0xffffffff
	xor eax, eax
	repne scasb
	not ecx
	sub ecx, 0x1
	mov [esi], ecx
	mov [ebp+0x8], ebx
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z20SL_RemoveRefToStringj
_Z17Scr_EvalSizeValueP13VariableValue_40:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z17Scr_EvalSizeValueP13VariableValue_60
_Z17Scr_EvalSizeValueP13VariableValue_80:
	movzx eax, word [edx+0x6]
	jmp _Z17Scr_EvalSizeValueP13VariableValue_90
_Z17Scr_EvalSizeValueP13VariableValue_50:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z17Scr_EvalSizeValueP13VariableValue_60
_Z17Scr_EvalSizeValueP13VariableValue_70:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z17Scr_EvalSizeValueP13VariableValue_60


;Scr_FreeEntityNum(int, unsigned int)
_Z17Scr_FreeEntityNumij:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x4
	mov edx, [ebp+0x8]
	mov eax, [ebp+0xc]
	cmp byte [scrVarPub+0x34], 0x0
	jz _Z17Scr_FreeEntityNumij_10
	lea eax, [eax+eax*2]
	movzx eax, word [eax*4+g_classMap+0x2]
	mov [ebp-0x10], eax
	lea esi, [edx+0x800000]
	and esi, 0xffffff
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z17Scr_FreeEntityNumij_20
_Z17Scr_FreeEntityNumij_50:
	mov ecx, 0x8002
_Z17Scr_FreeEntityNumij_40:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jnz _Z17Scr_FreeEntityNumij_30
_Z17Scr_FreeEntityNumij_10:
	add esp, 0x4
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z17Scr_FreeEntityNumij_30:
	shl edx, 0x4
	mov ebx, [edx+scrVarGlob+0x80024]
	lea edx, [ebx+0x1]
	shl edx, 0x4
	lea ecx, [edx+scrVarGlob]
	mov eax, [ecx+0x8]
	and eax, 0xffffffe0
	or eax, 0x13
	mov [ecx+0x8], eax
	add word [edx+scrVarGlob+0x4], 0x1
	mov eax, [scrVarPub+0x2c]
	mov [ecx+0x6], ax
	mov [scrVarPub+0x2c], ebx
	mov [ebp+0xc], esi
	mov eax, [ebp-0x10]
	mov [ebp+0x8], eax
	add esp, 0x4
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z14RemoveVariablejj
_Z17Scr_FreeEntityNumij_20:
	shr edx, 0x8
	cmp esi, edx
	jz _Z17Scr_FreeEntityNumij_40
	movzx ecx, word [ebx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z17Scr_FreeEntityNumij_50
_Z17Scr_FreeEntityNumij_70:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jz _Z17Scr_FreeEntityNumij_60
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jnz _Z17Scr_FreeEntityNumij_70
	jmp _Z17Scr_FreeEntityNumij_50
_Z17Scr_FreeEntityNumij_60:
	add ecx, 0x8002
	jmp _Z17Scr_FreeEntityNumij_40


;Scr_InitVariables()
_Z17Scr_InitVariablesv:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	mov esi, 0x2
_Z17Scr_InitVariablesv_10:
	mov ebx, esi
	shl ebx, 0x4
	lea ecx, [ebx+scrVarGlob]
	mov dword [ecx+0x8], 0x0
	mov eax, esi
	lea edx, [esi-0x1]
	mov [ebx+scrVarGlob], dx
	mov [ecx+0xc], dx
	mov [ecx+0x4], si
	sub eax, 0x2
	mov [ecx+0x2], ax
	add esi, 0x1
	cmp esi, 0x8001
	jnz _Z17Scr_InitVariablesv_10
	mov dword [scrVarGlob+0x18], 0x0
	mov word [scrVarGlob+0x10], 0x0
	mov word [scrVarGlob+0x1c], 0x0
	mov word [scrVarGlob+0x14], 0x1
	mov word [scrVarGlob+0x22], 0x0
	mov word [scrVarGlob+0x12], 0x7fff
	mov word [scrVarGlob+0x80004], 0x0
	mov si, 0x8003
_Z17Scr_InitVariablesv_20:
	mov ebx, esi
	shl ebx, 0x4
	lea ecx, [ebx+scrVarGlob]
	mov dword [ecx+0x8], 0x0
	mov edx, esi
	lea eax, [esi+0x7ffe]
	mov [ebx+scrVarGlob], ax
	mov [ecx+0xc], ax
	lea eax, [esi+0x7fff]
	mov [ecx+0x4], ax
	add dx, 0x7ffd
	mov [ecx+0x2], dx
	add esi, 0x1
	cmp esi, 0x18000
	jnz _Z17Scr_InitVariablesv_20
	mov dword [scrVarGlob+0x80028], 0x0
	mov word [scrVarGlob+0x80020], 0x0
	mov word [scrVarGlob+0x8002c], 0x0
	mov word [scrVarGlob+0x80024], 0x1
	mov word [scrVarGlob+0x80032], 0x0
	mov word [scrVarGlob+0x80022], 0xfffd
	mov word [scrVarGlob+0x17fff4], 0x0
	pop ebx
	pop esi
	pop ebp
	ret
	nop


;ClearVariableField(unsigned int, unsigned int, VariableValue*)
_Z18ClearVariableFieldjjP13VariableValue:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0x8]
	mov ebx, [ebp+0xc]
	mov eax, [ebp+0x10]
	mov [ebp-0x28], eax
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	lea esi, [edi+edx]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x20], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z18ClearVariableFieldjjP13VariableValue_10
_Z18ClearVariableFieldjjP13VariableValue_60:
	shl edi, 0x4
	add edi, scrVarGlob+0x10
	mov [ebp-0x24], edi
	mov edx, [edi+0x8]
	mov eax, edx
	and eax, 0x1f
	cmp eax, 0x14
	jz _Z18ClearVariableFieldjjP13VariableValue_20
_Z18ClearVariableFieldjjP13VariableValue_40:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18ClearVariableFieldjjP13VariableValue_20:
	mov edi, edx
	shr edi, 0x8
	add ebx, 0x800000
	and ebx, 0xffffff
	lea eax, [edi+edi*2]
	movzx ecx, word [eax*4+g_classMap]
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x1c], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z18ClearVariableFieldjjP13VariableValue_30
_Z18ClearVariableFieldjjP13VariableValue_90:
	mov ecx, 0x8002
_Z18ClearVariableFieldjjP13VariableValue_80:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z18ClearVariableFieldjjP13VariableValue_40
	mov eax, [ebp-0x28]
	add eax, 0x8
	mov dword [eax+0x4], 0x0
	mov [esp+0xc], eax
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	mov [esp+0x8], eax
	mov edx, [ebp-0x24]
	movzx eax, word [edx+0x6]
	mov [esp+0x4], eax
	mov [esp], edi
	call _Z19SetEntityFieldValuejiiP13VariableValue
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18ClearVariableFieldjjP13VariableValue_10:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z18ClearVariableFieldjjP13VariableValue_50
_Z18ClearVariableFieldjjP13VariableValue_70:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jz _Z18ClearVariableFieldjjP13VariableValue_60
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z18ClearVariableFieldjjP13VariableValue_70
_Z18ClearVariableFieldjjP13VariableValue_50:
	test esi, esi
	jz _Z18ClearVariableFieldjjP13VariableValue_60
	mov [ebp+0xc], ebx
	mov [ebp+0x8], edi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z14RemoveVariablejj
_Z18ClearVariableFieldjjP13VariableValue_30:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z18ClearVariableFieldjjP13VariableValue_80
	movzx ecx, word [esi+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z18ClearVariableFieldjjP13VariableValue_90
_Z18ClearVariableFieldjjP13VariableValue_110:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jz _Z18ClearVariableFieldjjP13VariableValue_100
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jnz _Z18ClearVariableFieldjjP13VariableValue_110
	jmp _Z18ClearVariableFieldjjP13VariableValue_90
_Z18ClearVariableFieldjjP13VariableValue_100:
	add ecx, 0x8002
	jmp _Z18ClearVariableFieldjjP13VariableValue_80


;ClearVariableValue(unsigned int)
_Z18ClearVariableValuej:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov eax, [ebp+0x8]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x4]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z18ClearVariableValuej_10
	test eax, eax
	jz _Z18ClearVariableValuej_20
	cmp eax, 0x2
	jbe _Z18ClearVariableValuej_30
	cmp byte [ecx-0x1], 0x0
	jnz _Z18ClearVariableValuej_10
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z18ClearVariableValuej_40
	sub eax, 0x1
	mov [ecx-0x4], ax
	mov edx, [ebx+0x8]
_Z18ClearVariableValuej_10:
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z18ClearVariableValuej_20:
	mov [esp], ecx
	call _Z17RemoveRefToObjectj
	mov edx, [ebx+0x8]
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z18ClearVariableValuej_40:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov edx, [ebx+0x8]
	jmp _Z18ClearVariableValuej_10
_Z18ClearVariableValuej_30:
	mov [esp], ecx
	call _Z20SL_RemoveRefToStringj
	mov edx, [ebx+0x8]
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	add esp, 0x14
	pop ebx
	pop ebp
	ret


;FindObjectVariable(unsigned int, unsigned int)
_Z18FindObjectVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	mov esi, [ebp+0xc]
	add esi, 0x10000
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, [ebp+0x8]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z18FindObjectVariablejj_10
_Z18FindObjectVariablejj_40:
	mov ecx, 0x8002
_Z18FindObjectVariablejj_20:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18FindObjectVariablejj_10:
	shr edx, 0x8
	cmp esi, edx
	jz _Z18FindObjectVariablejj_20
	movzx ecx, word [ebx+0xc]
	jmp _Z18FindObjectVariablejj_30
_Z18FindObjectVariablejj_50:
	movzx ecx, word [edx+0xc]
_Z18FindObjectVariablejj_30:
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z18FindObjectVariablejj_40
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z18FindObjectVariablejj_50
	add ecx, 0x8002
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret


;RemoveNextVariable(unsigned int)
_Z18RemoveNextVariablej:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edx, [ebp+0x8]
	lea eax, [edx+0x1]
	mov [ebp-0x28], eax
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0xe]
	lea edi, [eax+0x8002]
	mov eax, edi
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x8]
	shr ebx, 0x8
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	lea esi, [edx+eax]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x24], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z18RemoveNextVariablej_10
_Z18RemoveNextVariablej_110:
	xor esi, esi
_Z18RemoveNextVariablej_100:
	mov edx, [ebp-0x28]
	shl edx, 0x4
	add edx, scrVarGlob
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl edi, 0x4
	lea esi, [edi+scrVarGlob]
	mov edx, [esi+0x4]
	mov eax, [esi+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z18RemoveNextVariablej_20
	test eax, eax
	jz _Z18RemoveNextVariablej_30
	cmp eax, 0x2
	jbe _Z18RemoveNextVariablej_40
	cmp byte [edx-0x1], 0x0
	jz _Z18RemoveNextVariablej_50
_Z18RemoveNextVariablej_20:
	movzx edi, word [esi+0xc]
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx eax, word [esi+0xe]
	mov [ebp-0x1e], ax
	movzx ecx, ax
	mov edx, [ebp-0x1c]
	movzx eax, word [edx+0x2]
	movzx ebx, ax
	test ax, ax
	jz _Z18RemoveNextVariablej_60
	mov eax, ebx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
	cmp word [ebp-0x1e], 0x0
	jz _Z18RemoveNextVariablej_70
_Z18RemoveNextVariablej_80:
	shl ecx, 0x4
	mov [ecx+scrVarGlob+0x80022], bx
_Z18RemoveNextVariablej_90:
	mov dword [esi+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [esi+0x4], ax
	mov eax, [ebp-0x1c]
	mov word [eax+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], di
	mov [scrVarGlob+0x80024], di
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18RemoveNextVariablej_60:
	mov eax, [ebp-0x28]
	shl eax, 0x4
	mov edx, ecx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0xe], dx
	cmp word [ebp-0x1e], 0x0
	jnz _Z18RemoveNextVariablej_80
_Z18RemoveNextVariablej_70:
	shl dword [ebp-0x28], 0x4
	mov edx, [ebp-0x28]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ebx, 0x4
	movzx edx, word [ebx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z18RemoveNextVariablej_90
_Z18RemoveNextVariablej_10:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z18RemoveNextVariablej_100
_Z18RemoveNextVariablej_120:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z18RemoveNextVariablej_110
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z18RemoveNextVariablej_120
	jmp _Z18RemoveNextVariablej_100
_Z18RemoveNextVariablej_30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z18RemoveNextVariablej_20
_Z18RemoveNextVariablej_50:
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z18RemoveNextVariablej_130
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z18RemoveNextVariablej_20
_Z18RemoveNextVariablej_40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z18RemoveNextVariablej_20
_Z18RemoveNextVariablej_130:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z18RemoveNextVariablej_20


;SafeRemoveVariable(unsigned int, unsigned int)
_Z18SafeRemoveVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov ebx, [ebp+0xc]
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	mov eax, [ebp+0x8]
	lea esi, [edx+eax]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z18SafeRemoveVariablejj_10
_Z18SafeRemoveVariablejj_30:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18SafeRemoveVariablejj_10:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z18SafeRemoveVariablejj_20
_Z18SafeRemoveVariablejj_40:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z18SafeRemoveVariablejj_30
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z18SafeRemoveVariablejj_40
_Z18SafeRemoveVariablejj_20:
	test esi, esi
	jz _Z18SafeRemoveVariablejj_30
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov eax, [ebp+0x8]
	add eax, 0x1
	mov [ebp-0x24], eax
	mov edx, eax
	shl edx, 0x4
	add edx, scrVarGlob
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	add ebx, scrVarGlob+0x80020
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z18SafeRemoveVariablejj_50
	test eax, eax
	jz _Z18SafeRemoveVariablejj_60
	cmp eax, 0x2
	jbe _Z18SafeRemoveVariablejj_70
	cmp byte [edx-0x1], 0x0
	jnz _Z18SafeRemoveVariablejj_50
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z18SafeRemoveVariablejj_80
	sub eax, 0x1
	mov [edx-0x4], ax
_Z18SafeRemoveVariablejj_50:
	movzx edi, word [ebx+0xc]
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx edx, word [ebx+0xe]
	mov [ebp-0x1e], dx
	movzx ecx, dx
	movzx eax, word [eax+0x2]
	movzx esi, ax
	test ax, ax
	jz _Z18SafeRemoveVariablejj_90
	mov eax, esi
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
	cmp word [ebp-0x1e], 0x0
	jz _Z18SafeRemoveVariablejj_100
_Z18SafeRemoveVariablejj_110:
	shl ecx, 0x4
	mov [ecx+scrVarGlob+0x80022], si
_Z18SafeRemoveVariablejj_120:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov eax, [ebp-0x1c]
	mov word [eax+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], di
	mov [scrVarGlob+0x80024], di
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18SafeRemoveVariablejj_90:
	mov eax, [ebp-0x24]
	shl eax, 0x4
	mov edx, ecx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0xe], dx
	cmp word [ebp-0x1e], 0x0
	jnz _Z18SafeRemoveVariablejj_110
_Z18SafeRemoveVariablejj_100:
	shl dword [ebp-0x24], 0x4
	mov edx, [ebp-0x24]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl esi, 0x4
	movzx edx, word [esi+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z18SafeRemoveVariablejj_120
_Z18SafeRemoveVariablejj_60:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z18SafeRemoveVariablejj_50
_Z18SafeRemoveVariablejj_70:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z18SafeRemoveVariablejj_50
_Z18SafeRemoveVariablejj_80:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z18SafeRemoveVariablejj_50


;Scr_EvalInequality(VariableValue*, VariableValue*)
_Z18Scr_EvalInequalityP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0x8]
	mov eax, [ebp+0xc]
	mov [esp+0x4], eax
	mov [esp], ebx
	call _Z16Scr_EvalEqualityP13VariableValueS0_
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;Scr_EvalShiftRight(VariableValue*, VariableValue*)
_Z18Scr_EvalShiftRightP13VariableValueS0_:
	push ebp
	mov ebp, esp
	mov edx, [ebp+0x8]
	mov eax, [ebp+0xc]
	cmp dword [edx+0x4], 0x6
	jz _Z18Scr_EvalShiftRightP13VariableValueS0__10
_Z18Scr_EvalShiftRightP13VariableValueS0__20:
	mov [ebp+0xc], eax
	mov [ebp+0x8], edx
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z18Scr_EvalShiftRightP13VariableValueS0__10:
	cmp dword [eax+0x4], 0x6
	jnz _Z18Scr_EvalShiftRightP13VariableValueS0__20
	mov ecx, [eax]
	sar dword [edx], cl
	pop ebp
	ret
	nop


;Scr_FreeEntityList()
_Z18Scr_FreeEntityListv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x5c
	mov eax, [scrVarPub+0x2c]
	mov [ebp-0x30], eax
	test eax, eax
	jnz _Z18Scr_FreeEntityListv_10
_Z18Scr_FreeEntityListv_20:
	add esp, 0x5c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z18Scr_FreeEntityListv_30:
	mov edi, [ebp-0x30]
	mov [esp], edi
	call _Z17RemoveRefToObjectj
	mov eax, [scrVarPub+0x2c]
	mov [ebp-0x30], eax
	test eax, eax
	jz _Z18Scr_FreeEntityListv_20
_Z18Scr_FreeEntityListv_10:
	mov edx, eax
	add edx, 0x1
	mov [ebp-0x2c], edx
	mov eax, edx
	shl eax, 0x4
	lea edi, [eax+scrVarGlob]
	movzx eax, word [edi+0x6]
	mov [scrVarPub+0x2c], eax
	mov word [edi+0x6], 0x0
	mov ecx, [ebp-0x30]
	mov [esp], ecx
	call _Z20Scr_CancelNotifyListj
	movzx eax, word [edi+0xe]
	test ax, ax
	jz _Z18Scr_FreeEntityListv_30
	movzx eax, ax
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	mov eax, [ebp-0x30]
	lea esi, [edx+eax]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea esi, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x24], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z18Scr_FreeEntityListv_40
_Z18Scr_FreeEntityListv_150:
	xor esi, esi
_Z18Scr_FreeEntityListv_50:
	mov eax, esi
	shl eax, 0x4
	movzx ebx, word [eax+scrVarGlob+0x80020]
	mov edx, edi
	mov eax, esi
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	movzx eax, word [ebx+scrVarGlob+0x8002e]
	movzx esi, ax
	test ax, ax
	jnz _Z18Scr_FreeEntityListv_50
	movzx edi, word [edi+0xe]
	mov [ebp-0x20], edi
	mov edi, [ebp-0x2c]
	shl edi, 0x4
	mov [ebp-0x34], edi
	jmp _Z18Scr_FreeEntityListv_60
_Z18Scr_FreeEntityListv_120:
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], dx
	cmp word [ebp-0x4a], 0x0
	jz _Z18Scr_FreeEntityListv_70
_Z18Scr_FreeEntityListv_130:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x80022], cx
_Z18Scr_FreeEntityListv_140:
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	mov ecx, [ebp-0x1c]
	mov word [ecx+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], si
	mov [scrVarGlob+0x80024], si
	cmp word [ebp-0x26], 0x0
	jz _Z18Scr_FreeEntityListv_30
_Z18Scr_FreeEntityListv_60:
	mov eax, [ebp-0x20]
	add eax, 0x8002
	shl eax, 0x4
	movzx edx, word [eax+scrVarGlob+0xe]
	mov [ebp-0x26], dx
	movzx edx, dx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [ebp-0x20], edx
	lea ebx, [eax+scrVarGlob]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z18Scr_FreeEntityListv_80
	test eax, eax
	jz _Z18Scr_FreeEntityListv_90
	cmp eax, 0x2
	jbe _Z18Scr_FreeEntityListv_100
	cmp byte [edx-0x1], 0x0
	jnz _Z18Scr_FreeEntityListv_80
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z18Scr_FreeEntityListv_110
	sub eax, 0x1
	mov [edx-0x4], ax
_Z18Scr_FreeEntityListv_80:
	movzx esi, word [ebx+0xc]
	mov eax, esi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx ecx, word [ebx+0xe]
	mov [ebp-0x4a], cx
	movzx edx, cx
	movzx eax, word [eax+0x2]
	movzx ecx, ax
	test ax, ax
	jnz _Z18Scr_FreeEntityListv_120
	mov eax, edx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	mov edi, [ebp-0x34]
	mov [edi+scrVarGlob+0xe], ax
	cmp word [ebp-0x4a], 0x0
	jnz _Z18Scr_FreeEntityListv_130
_Z18Scr_FreeEntityListv_70:
	mov edx, [ebp-0x34]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ecx, 0x4
	movzx edx, word [ecx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z18Scr_FreeEntityListv_140
_Z18Scr_FreeEntityListv_40:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z18Scr_FreeEntityListv_50
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jz _Z18Scr_FreeEntityListv_150
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jnz _Z18Scr_FreeEntityListv_160
	jmp _Z18Scr_FreeEntityListv_50
_Z18Scr_FreeEntityListv_170:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z18Scr_FreeEntityListv_50
_Z18Scr_FreeEntityListv_160:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x24], eax
	jnz _Z18Scr_FreeEntityListv_170
	jmp _Z18Scr_FreeEntityListv_150
_Z18Scr_FreeEntityListv_90:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z18Scr_FreeEntityListv_80
_Z18Scr_FreeEntityListv_100:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z18Scr_FreeEntityListv_80
_Z18Scr_FreeEntityListv_110:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z18Scr_FreeEntityListv_80
	nop


;Scr_GetEntityIdRef(unsigned int)
_Z18Scr_GetEntityIdRefj:
	push ebp
	mov ebp, esp
	mov edx, [ebp+0x8]
	shl edx, 0x4
	add edx, scrVarGlob+0x10
	movzx eax, word [edx+0x9]
	shl eax, 0x10
	and ecx, 0xffff
	or ecx, eax
	mov cx, [edx+0x6]
	mov eax, ecx
	pop ebp
	ret


;Scr_RemoveClassMap(unsigned int)
_Z18Scr_RemoveClassMapj:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov eax, [ebp+0x8]
	cmp byte [scrVarPub+0x34], 0x0
	jz _Z18Scr_RemoveClassMapj_10
	lea eax, [eax+eax*2]
	lea ebx, [eax*4]
	movzx eax, word [ebx+g_classMap+0x2]
	test ax, ax
	jnz _Z18Scr_RemoveClassMapj_20
	movzx eax, word [ebx+g_classMap]
	test ax, ax
	jnz _Z18Scr_RemoveClassMapj_30
_Z18Scr_RemoveClassMapj_10:
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z18Scr_RemoveClassMapj_30:
	movzx eax, ax
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov word [ebx+g_classMap], 0x0
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z18Scr_RemoveClassMapj_20:
	movzx eax, ax
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov word [ebx+g_classMap+0x2], 0x0
	movzx eax, word [ebx+g_classMap]
	test ax, ax
	jz _Z18Scr_RemoveClassMapj_10
	jmp _Z18Scr_RemoveClassMapj_30
	nop


;GetNewArrayVariable(unsigned int, unsigned int)
_Z19GetNewArrayVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	add esi, 0x800000
	and esi, 0xffffff
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	lea ecx, [edi+ecx]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, esi
	mov eax, edi
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x1c], eax
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x28], eax
	mov ecx, [ebp-0x1c]
	add ecx, 0x8002
	mov [ebp-0x30], ecx
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x2c], edx
	movzx eax, word [eax+scrVarGlob]
	mov [ebp-0x24], eax
	mov ecx, [ebp-0x28]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z19GetNewArrayVariablejj_10
	shl edx, 0x4
	mov esi, [edx+scrVarGlob+0x80028]
	shr esi, 0x8
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	lea ecx, [edi+edx]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	mov ebx, ecx
	sub ebx, eax
	lea edi, [ebx+0x1]
	lea edx, [ebx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x20], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z19GetNewArrayVariablejj_20
_Z19GetNewArrayVariablejj_50:
	xor edi, edi
	mov edx, 0x8002
_Z19GetNewArrayVariablejj_40:
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x2], ax
	movzx edx, word [ebp-0x24]
	mov eax, edi
	jmp _Z19GetNewArrayVariablejj_30
_Z19GetNewArrayVariablejj_10:
	movzx edx, word [ebp-0x24]
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	xor eax, eax
_Z19GetNewArrayVariablejj_30:
	mov ecx, [ebp-0x28]
	mov [ecx+0xe], dx
	mov edx, [ebp-0x2c]
	mov word [edx+0x2], 0x0
	shl dword [ebp-0x24], 0x4
	mov ecx, [ebp-0x24]
	mov [ecx+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x30], 0x4
	mov edx, [ebp-0x30]
	movzx eax, word [edx+scrVarGlob]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z19GetNewArrayVariablejj_20:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z19GetNewArrayVariablejj_40
	movzx edi, word [ebx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jz _Z19GetNewArrayVariablejj_50
_Z19GetNewArrayVariablejj_70:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jz _Z19GetNewArrayVariablejj_60
	movzx edi, word [edx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jnz _Z19GetNewArrayVariablejj_70
	jmp _Z19GetNewArrayVariablejj_50
_Z19GetNewArrayVariablejj_60:
	lea edx, [edi+0x8002]
	jmp _Z19GetNewArrayVariablejj_40


;RemoveVariableValue(unsigned int, unsigned int)
_Z19RemoveVariableValuejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov eax, [ebp+0xc]
	mov edx, eax
	shl edx, 0x4
	movzx ebx, word [edx+scrVarGlob+0x80020]
	mov edx, [ebp+0x8]
	add edx, 0x1
	mov [ebp-0x24], edx
	shl edx, 0x4
	add edx, scrVarGlob
	call _Z20MakeVariableExternaljP21VariableValueInternal
	shl ebx, 0x4
	lea esi, [ebx+scrVarGlob+0x80020]
	mov edx, [esi+0x4]
	mov eax, [esi+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z19RemoveVariableValuejj_10
	test eax, eax
	jz _Z19RemoveVariableValuejj_20
	cmp eax, 0x2
	jbe _Z19RemoveVariableValuejj_30
	cmp byte [edx-0x1], 0x0
	jz _Z19RemoveVariableValuejj_40
_Z19RemoveVariableValuejj_10:
	movzx edi, word [esi+0xc]
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x1c], eax
	movzx eax, word [esi+0xe]
	mov [ebp-0x1e], ax
	movzx ecx, ax
	mov edx, [ebp-0x1c]
	movzx eax, word [edx+0x2]
	movzx ebx, ax
	test ax, ax
	jz _Z19RemoveVariableValuejj_50
	mov eax, ebx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x80020]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x8002e], cx
	cmp word [ebp-0x1e], 0x0
	jz _Z19RemoveVariableValuejj_60
_Z19RemoveVariableValuejj_70:
	shl ecx, 0x4
	mov [ecx+scrVarGlob+0x80022], bx
_Z19RemoveVariableValuejj_80:
	mov dword [esi+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [esi+0x4], ax
	mov eax, [ebp-0x1c]
	mov word [eax+0x2], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], di
	mov [scrVarGlob+0x80024], di
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z19RemoveVariableValuejj_50:
	mov eax, [ebp-0x24]
	shl eax, 0x4
	mov edx, ecx
	shl edx, 0x4
	movzx edx, word [edx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0xe], dx
	cmp word [ebp-0x1e], 0x0
	jnz _Z19RemoveVariableValuejj_70
_Z19RemoveVariableValuejj_60:
	shl dword [ebp-0x24], 0x4
	mov edx, [ebp-0x24]
	movzx eax, word [edx+scrVarGlob+0xc]
	shl eax, 0x4
	shl ebx, 0x4
	movzx edx, word [ebx+scrVarGlob+0x80020]
	mov [eax+scrVarGlob+0x12], dx
	jmp _Z19RemoveVariableValuejj_80
_Z19RemoveVariableValuejj_20:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z19RemoveVariableValuejj_10
_Z19RemoveVariableValuejj_40:
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z19RemoveVariableValuejj_90
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z19RemoveVariableValuejj_10
_Z19RemoveVariableValuejj_30:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z19RemoveVariableValuejj_10
_Z19RemoveVariableValuejj_90:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z19RemoveVariableValuejj_10


;Scr_CastDebugString(VariableValue*)
_Z19Scr_CastDebugStringP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov esi, [ebp+0x8]
	mov eax, [esi+0x4]
	cmp eax, 0xb
	ja _Z19Scr_CastDebugStringP13VariableValue_10
	jmp dword [eax*4+_Z19Scr_CastDebugStringP13VariableValue_jumptab_0]
_Z19Scr_CastDebugStringP13VariableValue_10:
	mov eax, [eax*4+var_typename]
_Z19Scr_CastDebugStringP13VariableValue_70:
	mov dword [esp+0x8], 0xf
	mov dword [esp+0x4], 0x0
	mov [esp], eax
	call SL_GetString_
	mov ebx, eax
	mov edx, [esi]
	mov eax, [esi+0x4]
	sub eax, 0x1
	cmp eax, 0x3
	jbe _Z19Scr_CastDebugStringP13VariableValue_20
_Z19Scr_CastDebugStringP13VariableValue_50:
	mov dword [esi+0x4], 0x2
	mov [esi], ebx
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Scr_CastDebugStringP13VariableValue_20:
	test eax, eax
	jz _Z19Scr_CastDebugStringP13VariableValue_30
	cmp eax, 0x2
	jbe _Z19Scr_CastDebugStringP13VariableValue_40
	cmp byte [edx-0x1], 0x0
	jnz _Z19Scr_CastDebugStringP13VariableValue_50
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z19Scr_CastDebugStringP13VariableValue_60
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z19Scr_CastDebugStringP13VariableValue_50
_Z19Scr_CastDebugStringP13VariableValue_110:
	mov eax, [esi]
	movzx ebx, ax
	shr eax, 0x10
	mov [esp], eax
	call _Z12Scr_GetAnimsj
	mov [esp+0x4], ebx
	mov [esp], eax
	call _Z21XAnimGetAnimDebugNamePK7XAnim_sj
	jmp _Z19Scr_CastDebugStringP13VariableValue_70
_Z19Scr_CastDebugStringP13VariableValue_90:
	mov [esp], esi
	call _Z14Scr_CastStringP13VariableValue
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Scr_CastDebugStringP13VariableValue_100:
	mov dword [esi+0x4], 0x2
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Scr_CastDebugStringP13VariableValue_80:
	mov eax, [esi]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	and eax, 0x1f
	mov eax, [eax*4+var_typename]
	jmp _Z19Scr_CastDebugStringP13VariableValue_70
_Z19Scr_CastDebugStringP13VariableValue_40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z19Scr_CastDebugStringP13VariableValue_50
_Z19Scr_CastDebugStringP13VariableValue_30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z19Scr_CastDebugStringP13VariableValue_50
_Z19Scr_CastDebugStringP13VariableValue_60:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z19Scr_CastDebugStringP13VariableValue_50
	
	
_Z19Scr_CastDebugStringP13VariableValue_jumptab_0:
	dd _Z19Scr_CastDebugStringP13VariableValue_10
	dd _Z19Scr_CastDebugStringP13VariableValue_80
	dd _Z19Scr_CastDebugStringP13VariableValue_90
	dd _Z19Scr_CastDebugStringP13VariableValue_100
	dd _Z19Scr_CastDebugStringP13VariableValue_90
	dd _Z19Scr_CastDebugStringP13VariableValue_90
	dd _Z19Scr_CastDebugStringP13VariableValue_90
	dd _Z19Scr_CastDebugStringP13VariableValue_10
	dd _Z19Scr_CastDebugStringP13VariableValue_10
	dd _Z19Scr_CastDebugStringP13VariableValue_10
	dd _Z19Scr_CastDebugStringP13VariableValue_10
	dd _Z19Scr_CastDebugStringP13VariableValue_110


;Scr_EvalFieldObject(unsigned int, VariableValue*)
_Z19Scr_EvalFieldObjectjP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x20
	mov dword [ebp-0x10], 0x0
	mov dword [ebp-0xc], 0x0
	mov eax, [ebp+0xc]
	mov edx, [eax+0x4]
	cmp edx, 0x1
	jz _Z19Scr_EvalFieldObjectjP13VariableValue_10
	mov ebx, edx
	mov ecx, [eax]
_Z19Scr_EvalFieldObjectjP13VariableValue_60:
	lea eax, [edx-0x1]
	cmp eax, 0x3
	ja _Z19Scr_EvalFieldObjectjP13VariableValue_20
	test eax, eax
	jz _Z19Scr_EvalFieldObjectjP13VariableValue_30
	cmp eax, 0x2
	jbe _Z19Scr_EvalFieldObjectjP13VariableValue_40
	cmp byte [ecx-0x1], 0x0
	jz _Z19Scr_EvalFieldObjectjP13VariableValue_50
_Z19Scr_EvalFieldObjectjP13VariableValue_20:
	mov eax, [ebx*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_a_field
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	xor esi, esi
	mov eax, esi
	add esp, 0x20
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Scr_EvalFieldObjectjP13VariableValue_10:
	mov esi, [eax]
	mov ecx, esi
	mov eax, esi
	shl eax, 0x4
	mov ebx, [eax+scrVarGlob+0x18]
	and ebx, 0x1f
	cmp ebx, 0x14
	jg _Z19Scr_EvalFieldObjectjP13VariableValue_60
	mov [ebp-0x10], esi
	shl dword [ebp+0x8], 0x4
	mov ebx, [ebp+0x8]
	add ebx, scrVarGlob+0x80020
	mov ecx, [ebx+0x4]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z19Scr_EvalFieldObjectjP13VariableValue_70
	test eax, eax
	jz _Z19Scr_EvalFieldObjectjP13VariableValue_80
	cmp eax, 0x2
	jbe _Z19Scr_EvalFieldObjectjP13VariableValue_90
	cmp byte [ecx-0x1], 0x0
	jnz _Z19Scr_EvalFieldObjectjP13VariableValue_70
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z19Scr_EvalFieldObjectjP13VariableValue_100
	sub eax, 0x1
	mov [ecx-0x4], ax
	mov edx, [ebx+0x8]
_Z19Scr_EvalFieldObjectjP13VariableValue_70:
	and edx, 0xffffffe0
	or edx, 0x1
	mov [ebx+0x8], edx
	mov eax, [ebp-0x10]
	mov [ebx+0x4], eax
	mov eax, esi
	add esp, 0x20
	pop ebx
	pop esi
	pop ebp
	ret
_Z19Scr_EvalFieldObjectjP13VariableValue_50:
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z19Scr_EvalFieldObjectjP13VariableValue_110
	sub eax, 0x1
	mov [ecx-0x4], ax
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_20
_Z19Scr_EvalFieldObjectjP13VariableValue_30:
	mov [esp], ecx
	call _Z17RemoveRefToObjectj
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_20
_Z19Scr_EvalFieldObjectjP13VariableValue_40:
	mov [esp], ecx
	call _Z20SL_RemoveRefToStringj
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_20
_Z19Scr_EvalFieldObjectjP13VariableValue_90:
	mov [esp], ecx
	call _Z20SL_RemoveRefToStringj
	mov edx, [ebx+0x8]
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_70
_Z19Scr_EvalFieldObjectjP13VariableValue_110:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_20
_Z19Scr_EvalFieldObjectjP13VariableValue_80:
	mov [esp], ecx
	call _Z17RemoveRefToObjectj
	mov edx, [ebx+0x8]
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_70
_Z19Scr_EvalFieldObjectjP13VariableValue_100:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov edx, [ebx+0x8]
	jmp _Z19Scr_EvalFieldObjectjP13VariableValue_70


;Scr_KillEndonThread(unsigned int)
_Z19Scr_KillEndonThreadj:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov ebx, [ebp+0x8]
	shl ebx, 0x4
	add ebx, scrVarGlob+0x10
	movzx eax, word [ebx+0x6]
	mov [esp], eax
	call _Z17RemoveRefToObjectj
	mov eax, [ebx+0x8]
	and eax, 0xffffffe0
	or eax, 0x16
	mov [ebx+0x8], eax
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;SetNewVariableValue(unsigned int, VariableValue*)
_Z19SetNewVariableValuejP13VariableValue:
	push ebp
	mov ebp, esp
	mov edx, [ebp+0x8]
	mov ecx, [ebp+0xc]
	shl edx, 0x4
	add edx, scrVarGlob+0x80020
	mov eax, [edx+0x8]
	or eax, [ecx+0x4]
	mov [edx+0x8], eax
	mov eax, [ecx]
	mov [edx+0x4], eax
	pop ebp
	ret


;GetNewObjectVariable(unsigned int, unsigned int)
_Z20GetNewObjectVariablejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	add esi, 0x10000
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	lea ecx, [edi+ecx]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, esi
	mov eax, edi
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x1c], eax
	mov eax, edi
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x28], eax
	mov ecx, [ebp-0x1c]
	add ecx, 0x8002
	mov [ebp-0x30], ecx
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x2c], edx
	movzx eax, word [eax+scrVarGlob]
	mov [ebp-0x24], eax
	mov ecx, [ebp-0x28]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z20GetNewObjectVariablejj_10
	shl edx, 0x4
	mov esi, [edx+scrVarGlob+0x80028]
	shr esi, 0x8
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	lea ecx, [edi+edx]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	mov ebx, ecx
	sub ebx, eax
	lea edi, [ebx+0x1]
	lea edx, [ebx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x20], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z20GetNewObjectVariablejj_20
_Z20GetNewObjectVariablejj_50:
	xor edi, edi
	mov edx, 0x8002
_Z20GetNewObjectVariablejj_40:
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x2], ax
	movzx edx, word [ebp-0x24]
	mov eax, edi
	jmp _Z20GetNewObjectVariablejj_30
_Z20GetNewObjectVariablejj_10:
	movzx edx, word [ebp-0x24]
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	xor eax, eax
_Z20GetNewObjectVariablejj_30:
	mov ecx, [ebp-0x28]
	mov [ecx+0xe], dx
	mov edx, [ebp-0x2c]
	mov word [edx+0x2], 0x0
	shl dword [ebp-0x24], 0x4
	mov ecx, [ebp-0x24]
	mov [ecx+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x30], 0x4
	mov edx, [ebp-0x30]
	movzx eax, word [edx+scrVarGlob]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z20GetNewObjectVariablejj_20:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z20GetNewObjectVariablejj_40
	movzx edi, word [ebx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jz _Z20GetNewObjectVariablejj_50
_Z20GetNewObjectVariablejj_70:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jz _Z20GetNewObjectVariablejj_60
	movzx edi, word [edx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jnz _Z20GetNewObjectVariablejj_70
	jmp _Z20GetNewObjectVariablejj_50
_Z20GetNewObjectVariablejj_60:
	lea edx, [edi+0x8002]
	jmp _Z20GetNewObjectVariablejj_40


;GetSafeParentLocalId(unsigned int)
_Z20GetSafeParentLocalIdj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	add eax, 0x1
	shl eax, 0x4
	mov edx, [eax+scrVarGlob+0x8]
	mov eax, edx
	and eax, 0x1f
	cmp eax, 0x11
	jz _Z20GetSafeParentLocalIdj_10
	xor eax, eax
	pop ebp
	ret
_Z20GetSafeParentLocalIdj_10:
	mov eax, edx
	shr eax, 0x8
	pop ebp
	ret
	nop


;GetVariableKeyObject(unsigned int)
_Z20GetVariableKeyObjectj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80028]
	shr eax, 0x8
	sub eax, 0x10000
	pop ebp
	ret
	nop


;RemoveObjectVariable(unsigned int, unsigned int)
_Z20RemoveObjectVariablejj:
	push ebp
	mov ebp, esp
	add dword [ebp+0xc], 0x10000
	pop ebp
	jmp _Z14RemoveVariablejj


;Scr_EvalGreaterEqual(VariableValue*, VariableValue*)
_Z20Scr_EvalGreaterEqualP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, esi
	mov eax, ebx
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [ebx+0x4]
	cmp eax, 0x5
	jz _Z20Scr_EvalGreaterEqualP13VariableValueS0__10
	cmp eax, 0x6
	jz _Z20Scr_EvalGreaterEqualP13VariableValueS0__20
	mov [esp+0x4], esi
	mov [esp], ebx
	call _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z20Scr_EvalGreaterEqualP13VariableValueS0__10:
	mov dword [ebx+0x4], 0x6
	movss xmm0, dword [esi]
	xor eax, eax
	ucomiss xmm0, [ebx]
	seta al
	mov [ebx], eax
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z20Scr_EvalGreaterEqualP13VariableValueS0__20:
	mov eax, [ebx]
	cmp eax, [esi]
	setl al
	movzx eax, al
	mov [ebx], eax
	xor eax, eax
	cmp dword [ebx], 0x0
	setz al
	mov [ebx], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret


;Scr_FreeGameVariable(int)
_Z20Scr_FreeGameVariablei:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov eax, [ebp+0x8]
	test eax, eax
	jz _Z20Scr_FreeGameVariablei_10
	mov eax, [scrVarPub+0x24]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	jbe _Z20Scr_FreeGameVariablei_20
_Z20Scr_FreeGameVariablei_50:
	movzx edx, word [ebx+0xc]
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	movzx eax, dx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], dx
	mov [scrVarGlob+0x80024], dx
	mov dword [scrVarPub+0x24], 0x0
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z20Scr_FreeGameVariablei_20:
	test eax, eax
	jz _Z20Scr_FreeGameVariablei_30
	cmp eax, 0x2
	jbe _Z20Scr_FreeGameVariablei_40
	cmp byte [edx-0x1], 0x0
	jnz _Z20Scr_FreeGameVariablei_50
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z20Scr_FreeGameVariablei_60
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z20Scr_FreeGameVariablei_50
_Z20Scr_FreeGameVariablei_10:
	mov eax, [scrVarPub+0x24]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x80024]
	call _Z22Scr_MakeValuePrimitivej
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z20Scr_FreeGameVariablei_40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z20Scr_FreeGameVariablei_50
_Z20Scr_FreeGameVariablei_30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z20Scr_FreeGameVariablei_50
_Z20Scr_FreeGameVariablei_60:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z20Scr_FreeGameVariablei_50


;Scr_GetNumScriptVars()
_Z20Scr_GetNumScriptVarsv:
	push ebp
	mov ebp, esp
	xor eax, eax
	pop ebp
	ret
	nop


;GetArrayVariableIndex(unsigned int, unsigned int)
_Z21GetArrayVariableIndexjj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0xc]
	add eax, 0x800000
	and eax, 0xffffff
	mov [ebp+0xc], eax
	pop ebp
	jmp _Z24GetVariableIndexInternaljj
	nop


;Scr_AllocGameVariable()
_Z21Scr_AllocGameVariablev:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov dword [ebp-0x30], 0x0
	mov dword [ebp-0x2c], 0x0
	mov eax, [scrVarPub+0x24]
	test eax, eax
	jnz _Z21Scr_AllocGameVariablev_10
	movzx edi, word [scrVarGlob+0x80024]
	test di, di
	jz _Z21Scr_AllocGameVariablev_20
_Z21Scr_AllocGameVariablev_120:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x80020]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x20], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x80020]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1e], ax
	cmp ebx, ecx
	jz _Z21Scr_AllocGameVariablev_30
	test byte [ebx+0x8], 0x60
	jz _Z21Scr_AllocGameVariablev_40
	movzx eax, word [ebp-0x1e]
_Z21Scr_AllocGameVariablev_30:
	mov [scrVarGlob+0x80024], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	mov dword [ecx+0x8], 0x60
	movzx ebx, word [ebx]
	mov [ebp-0x24], ebx
	mov [scrVarPub+0x24], ebx
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z21Scr_AllocGameVariablev_50
_Z21Scr_AllocGameVariablev_130:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	mov [ebp-0x1a], ax
	cmp ebx, ecx
	jz _Z21Scr_AllocGameVariablev_60
	test byte [ebx+0x8], 0x60
	jz _Z21Scr_AllocGameVariablev_70
	movzx eax, word [ebp-0x1a]
_Z21Scr_AllocGameVariablev_60:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov [ebp-0x30], edx
	shl dword [ebp-0x24], 0x4
	mov ebx, [ebp-0x24]
	add ebx, scrVarGlob+0x80020
	mov ecx, [ebx+0x4]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z21Scr_AllocGameVariablev_80
	test eax, eax
	jz _Z21Scr_AllocGameVariablev_90
	cmp eax, 0x2
	jbe _Z21Scr_AllocGameVariablev_100
	cmp byte [ecx-0x1], 0x0
	jnz _Z21Scr_AllocGameVariablev_80
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z21Scr_AllocGameVariablev_110
	sub eax, 0x1
	mov [ecx-0x4], ax
	mov edx, [ebx+0x8]
_Z21Scr_AllocGameVariablev_80:
	and edx, 0xffffffe0
	or edx, 0x1
	mov [ebx+0x8], edx
	mov eax, [ebp-0x30]
	mov [ebx+0x4], eax
_Z21Scr_AllocGameVariablev_10:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_AllocGameVariablev_70:
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
	jmp _Z21Scr_AllocGameVariablev_60
_Z21Scr_AllocGameVariablev_40:
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x20]
	mov [edx+scrVarGlob+0x80020], ax
	mov [esi+scrVarGlob], di
	movzx eax, word [ebx+0xc]
	mov [ecx+0xc], ax
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1e]
	jmp _Z21Scr_AllocGameVariablev_30
_Z21Scr_AllocGameVariablev_20:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z21Scr_AllocGameVariablev_120
_Z21Scr_AllocGameVariablev_50:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z21Scr_AllocGameVariablev_130
_Z21Scr_AllocGameVariablev_100:
	mov [esp], ecx
	call _Z20SL_RemoveRefToStringj
	mov edx, [ebx+0x8]
	jmp _Z21Scr_AllocGameVariablev_80
_Z21Scr_AllocGameVariablev_90:
	mov [esp], ecx
	call _Z17RemoveRefToObjectj
	mov edx, [ebx+0x8]
	and edx, 0xffffffe0
	or edx, 0x1
	mov [ebx+0x8], edx
	mov eax, [ebp-0x30]
	mov [ebx+0x4], eax
	jmp _Z21Scr_AllocGameVariablev_10
_Z21Scr_AllocGameVariablev_110:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov edx, [ebx+0x8]
	jmp _Z21Scr_AllocGameVariablev_80


;Scr_DumpScriptThreads()
_Z21Scr_DumpScriptThreadsv:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x14c
	xor esi, esi
	mov ebx, 0x8003
	mov ecx, scrVarGlob+0x80030
_Z21Scr_DumpScriptThreadsv_20:
	mov edx, [ecx+0x8]
	test dl, 0x60
	jz _Z21Scr_DumpScriptThreadsv_10
	and edx, 0x1f
	lea eax, [esi+0x1]
	cmp edx, 0xa
	cmovz esi, eax
_Z21Scr_DumpScriptThreadsv_10:
	add ebx, 0x1
	add ecx, 0x10
	cmp ebx, 0x18000
	jnz _Z21Scr_DumpScriptThreadsv_20
	test esi, esi
	jnz _Z21Scr_DumpScriptThreadsv_30
_Z21Scr_DumpScriptThreadsv_670:
	add esp, 0x14c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_DumpScriptThreadsv_30:
	lea edx, [esi+esi*4]
	lea eax, [edx*8]
	sub eax, edx
	shl eax, 0x2
	mov [esp], eax
	call Z_TryVirtualAllocInternal
	mov [ebp-0x118], eax
	test eax, eax
	jz _Z21Scr_DumpScriptThreadsv_40
	mov dword [ebp-0x114], 0x0
	mov dword [ebp-0xbc], 0x8003
	mov dword [ebp-0x120], scrVarGlob+0x80030
	mov eax, [ebp-0x118]
	mov [ebp-0x124], eax
	jmp _Z21Scr_DumpScriptThreadsv_50
_Z21Scr_DumpScriptThreadsv_70:
	add dword [ebp-0xbc], 0x1
	add dword [ebp-0x120], 0x10
	cmp dword [ebp-0xbc], 0x18000
	jz _Z21Scr_DumpScriptThreadsv_60
_Z21Scr_DumpScriptThreadsv_50:
	mov edx, [ebp-0x120]
	mov eax, [edx+0x8]
	test al, 0x60
	jz _Z21Scr_DumpScriptThreadsv_70
	and eax, 0x1f
	cmp eax, 0xa
	jnz _Z21Scr_DumpScriptThreadsv_70
	mov ecx, [ebp-0x124]
	mov [ebp-0xb4], ecx
	add dword [ebp-0x114], 0x1
	add ecx, 0x8c
	mov [ebp-0x124], ecx
	mov edi, [edx+0x4]
	movzx eax, word [edi+0x4]
	mov [ebp-0x11a], ax
	movzx edx, ax
	mov [ebp-0x108], edx
	mov ecx, [edi]
	mov [ebp-0x104], ecx
	lea eax, [edi+0xb]
	mov [ebp-0xac], eax
	cmp word [ebp-0x11a], 0x0
	jnz _Z21Scr_DumpScriptThreadsv_80
	xor esi, esi
	mov dword [ebp-0xd4], 0x1
_Z21Scr_DumpScriptThreadsv_600:
	mov ecx, [ebp-0x104]
	mov [ebp+esi*4-0xa4], ecx
	mov eax, [ebp-0xb4]
	add eax, 0x88
	mov [ebp-0xf8], eax
	mov edx, [ebp-0x108]
	lea eax, [edx+edx*4]
	add eax, [ebp-0xac]
	mov [ebp-0xf0], eax
	movzx ecx, word [edi+0x8]
	mov eax, ecx
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_90
	movss xmm3, dword [_float_1_00000000]
	movss [ebp-0xec], xmm3
_Z21Scr_DumpScriptThreadsv_120:
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_100
_Z21Scr_DumpScriptThreadsv_300:
	movaps xmm0, xmm3
_Z21Scr_DumpScriptThreadsv_310:
	addss xmm0, [ebp-0xec]
	movss [ebp-0xec], xmm0
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_110
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_120
_Z21Scr_DumpScriptThreadsv_110:
	movzx ecx, word [edi+0x8]
_Z21Scr_DumpScriptThreadsv_560:
	lea esi, [ecx+0x10000]
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, [scrVarPub+0x1c]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0xe8], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z21Scr_DumpScriptThreadsv_130
_Z21Scr_DumpScriptThreadsv_390:
	mov ecx, 0x8002
_Z21Scr_DumpScriptThreadsv_380:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	pxor xmm2, xmm2
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_140
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_150
	movaps xmm2, xmm3
_Z21Scr_DumpScriptThreadsv_140:
	mov ecx, [ebp-0xf8]
	movss [ecx], xmm2
	movzx edi, word [edi+0x8]
	cmp word [ebp-0x11a], 0x0
	jz _Z21Scr_DumpScriptThreadsv_160
	mov dword [ebp-0xc0], 0x0
_Z21Scr_DumpScriptThreadsv_190:
	mov eax, [ebp-0xf0]
	mov edx, [eax-0x4]
	sub eax, 0x5
	mov [ebp-0xf0], eax
	movzx eax, byte [eax]
	cmp al, 0x7
	jz _Z21Scr_DumpScriptThreadsv_170
	sub al, 0x1
	jz _Z21Scr_DumpScriptThreadsv_180
_Z21Scr_DumpScriptThreadsv_320:
	pxor xmm0, xmm0
_Z21Scr_DumpScriptThreadsv_370:
	addss xmm0, [ebp-0xec]
	movss [ebp-0xec], xmm0
_Z21Scr_DumpScriptThreadsv_500:
	add dword [ebp-0xc0], 0x1
	mov eax, [ebp-0xc0]
	cmp [ebp-0x108], eax
	jnz _Z21Scr_DumpScriptThreadsv_190
_Z21Scr_DumpScriptThreadsv_160:
	movss xmm0, dword [ebp-0xec]
	mov edx, [ebp-0xb4]
	movss [edx+0x84], xmm0
	mov eax, [ebp-0xd4]
	mov [edx+0x80], eax
	mov eax, [ebp-0xd4]
	sub eax, 0x1
	mov edi, [ebp-0xd4]
	test edi, edi
	jle _Z21Scr_DumpScriptThreadsv_70
	lea ecx, [ebp+eax*4-0xa4]
	mov edx, [ebp-0xb4]
	xor ebx, ebx
_Z21Scr_DumpScriptThreadsv_200:
	mov eax, [ecx]
	mov [edx], eax
	add ebx, 0x1
	sub ecx, 0x4
	add edx, 0x4
	cmp ebx, [ebp-0xd4]
	jl _Z21Scr_DumpScriptThreadsv_200
	add dword [ebp-0xbc], 0x1
	add dword [ebp-0x120], 0x10
	cmp dword [ebp-0xbc], 0x18000
	jnz _Z21Scr_DumpScriptThreadsv_50
_Z21Scr_DumpScriptThreadsv_60:
	mov dword [esp+0xc], _Z17ThreadInfoComparePKvS0_
	mov dword [esp+0x8], 0x8c
	mov edx, [ebp-0x114]
	mov [esp+0x4], edx
	mov ecx, [ebp-0x118]
	mov [esp], ecx
	call qsort
	mov dword [esp+0x4], _cstring_
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	mov esi, [ebp-0x114]
	test esi, esi
	jg _Z21Scr_DumpScriptThreadsv_210
	xor esi, esi
	xor ebx, ebx
_Z21Scr_DumpScriptThreadsv_810:
	mov eax, [ebp-0x118]
	mov [esp], eax
	call Z_VirtualFreeInternal
	mov dword [esp+0x4], _cstring_
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	mov [esp+0xc], esi
	mov [esp+0x8], ebx
	mov dword [esp+0x4], _cstring_var_usage_d_endo
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	mov dword [esp+0x4], _cstring_1
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	mov dword [ebp-0xd0], g_classMap
	jmp _Z21Scr_DumpScriptThreadsv_220
_Z21Scr_DumpScriptThreadsv_250:
	mov dword [ebp-0xb0], 0x0
	xor eax, eax
_Z21Scr_DumpScriptThreadsv_290:
	mov [esp+0x10], eax
	mov eax, [ebp-0xb0]
	mov [esp+0xc], eax
	mov edx, [ebp-0xd0]
	mov eax, [edx+0x8]
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_ent_type_s_count
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
_Z21Scr_DumpScriptThreadsv_240:
	add dword [ebp-0xd0], 0xc
	mov ecx, g_classMap+0x30
	cmp ecx, [ebp-0xd0]
	jz _Z21Scr_DumpScriptThreadsv_230
_Z21Scr_DumpScriptThreadsv_220:
	mov edx, [ebp-0xd0]
	movzx eax, word [edx+0x2]
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_240
	movzx eax, ax
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_250
	mov dword [ebp-0xb0], 0x0
	pxor xmm0, xmm0
	movss [ebp-0xd8], xmm0
_Z21Scr_DumpScriptThreadsv_280:
	add dword [ebp-0xb0], 0x1
	lea edi, [edx+0x8002]
	mov edx, edi
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_260
_Z21Scr_DumpScriptThreadsv_860:
	shl edi, 0x4
	movzx eax, word [edi+scrVarGlob+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_270
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_280
_Z21Scr_DumpScriptThreadsv_270:
	cvttss2si eax, [ebp-0xd8]
	jmp _Z21Scr_DumpScriptThreadsv_290
_Z21Scr_DumpScriptThreadsv_100:
	mov eax, edx
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x10]
	mov eax, [esi+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_300
	mov eax, edx
	call _Z18Scr_GetObjectUsagej
	movzx eax, word [esi+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	jmp _Z21Scr_DumpScriptThreadsv_310
_Z21Scr_DumpScriptThreadsv_180:
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x10]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_320
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_330
	movaps xmm2, xmm3
_Z21Scr_DumpScriptThreadsv_360:
	shl edx, 0x4
	lea esi, [edx+scrVarGlob+0x80020]
	mov edx, [esi+0x4]
	mov eax, [esi+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_340
_Z21Scr_DumpScriptThreadsv_410:
	movaps xmm0, xmm3
_Z21Scr_DumpScriptThreadsv_420:
	addss xmm2, xmm0
	movzx eax, word [esi+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_350
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_360
_Z21Scr_DumpScriptThreadsv_350:
	movzx eax, word [ebx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	divss xmm2, xmm0
	movaps xmm0, xmm2
	jmp _Z21Scr_DumpScriptThreadsv_370
_Z21Scr_DumpScriptThreadsv_130:
	shr edx, 0x8
	cmp esi, edx
	jz _Z21Scr_DumpScriptThreadsv_380
	movzx eax, word [ebx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0xe8], eax
	jz _Z21Scr_DumpScriptThreadsv_390
_Z21Scr_DumpScriptThreadsv_400:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, esi
	jz _Z21Scr_DumpScriptThreadsv_380
	movzx eax, word [edx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0xe8], eax
	jnz _Z21Scr_DumpScriptThreadsv_400
	jmp _Z21Scr_DumpScriptThreadsv_390
_Z21Scr_DumpScriptThreadsv_340:
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0xe4], eax
	mov eax, [eax+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_410
	mov eax, edx
	movss [ebp-0x138], xmm2
	call _Z18Scr_GetObjectUsagej
	mov edx, [ebp-0xe4]
	movzx eax, word [edx+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	movss xmm2, dword [ebp-0x138]
	jmp _Z21Scr_DumpScriptThreadsv_420
_Z21Scr_DumpScriptThreadsv_170:
	shl edi, 0x4
	mov edi, [edi+scrVarGlob+0x18]
	shr edi, 0x8
	mov eax, edi
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_430
	movaps xmm2, xmm3
_Z21Scr_DumpScriptThreadsv_460:
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_440
_Z21Scr_DumpScriptThreadsv_510:
	movaps xmm0, xmm3
_Z21Scr_DumpScriptThreadsv_520:
	addss xmm2, xmm0
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_450
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_460
_Z21Scr_DumpScriptThreadsv_450:
	addss xmm2, [ebp-0xec]
	movss [ebp-0xec], xmm2
	mov ecx, [ebp-0xf8]
	movss xmm0, dword [ecx]
	movss [ebp-0xf4], xmm0
	lea esi, [edi+0x10000]
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, [scrVarPub+0x1c]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0xe0], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z21Scr_DumpScriptThreadsv_470
_Z21Scr_DumpScriptThreadsv_540:
	mov ecx, 0x8002
_Z21Scr_DumpScriptThreadsv_530:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	pxor xmm2, xmm2
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_480
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_490
	movaps xmm2, xmm3
_Z21Scr_DumpScriptThreadsv_480:
	addss xmm2, [ebp-0xf4]
	mov ecx, [ebp-0xf8]
	movss [ecx], xmm2
	jmp _Z21Scr_DumpScriptThreadsv_500
_Z21Scr_DumpScriptThreadsv_440:
	mov eax, edx
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x10]
	mov eax, [esi+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_510
	mov eax, edx
	movss [ebp-0x138], xmm2
	call _Z18Scr_GetObjectUsagej
	movzx eax, word [esi+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	movss xmm2, dword [ebp-0x138]
	jmp _Z21Scr_DumpScriptThreadsv_520
_Z21Scr_DumpScriptThreadsv_470:
	shr edx, 0x8
	cmp esi, edx
	jz _Z21Scr_DumpScriptThreadsv_530
	movzx eax, word [ebx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0xe0], eax
	jz _Z21Scr_DumpScriptThreadsv_540
_Z21Scr_DumpScriptThreadsv_550:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, esi
	jz _Z21Scr_DumpScriptThreadsv_530
	movzx eax, word [edx+0xc]
	lea ecx, [eax+0x8002]
	mov edx, ecx
	shl edx, 0x4
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0xe0], eax
	jnz _Z21Scr_DumpScriptThreadsv_550
	jmp _Z21Scr_DumpScriptThreadsv_540
_Z21Scr_DumpScriptThreadsv_430:
	movaps xmm2, xmm3
	jmp _Z21Scr_DumpScriptThreadsv_450
_Z21Scr_DumpScriptThreadsv_90:
	movss xmm3, dword [_float_1_00000000]
	movss [ebp-0xec], xmm3
	jmp _Z21Scr_DumpScriptThreadsv_560
_Z21Scr_DumpScriptThreadsv_80:
	mov edx, eax
	xor esi, esi
	xor ecx, ecx
	jmp _Z21Scr_DumpScriptThreadsv_570
_Z21Scr_DumpScriptThreadsv_590:
	add ecx, 0x1
	cmp [ebp-0x108], ecx
	jz _Z21Scr_DumpScriptThreadsv_580
_Z21Scr_DumpScriptThreadsv_570:
	movzx eax, byte [edx]
	mov ebx, [edx+0x1]
	add edx, 0x5
	cmp al, 0x7
	jnz _Z21Scr_DumpScriptThreadsv_590
	mov [ebp+esi*4-0xa4], ebx
	add esi, 0x1
	add ecx, 0x1
	cmp [ebp-0x108], ecx
	jnz _Z21Scr_DumpScriptThreadsv_570
_Z21Scr_DumpScriptThreadsv_580:
	lea edx, [esi+0x1]
	mov [ebp-0xd4], edx
	jmp _Z21Scr_DumpScriptThreadsv_600
_Z21Scr_DumpScriptThreadsv_490:
	movaps xmm2, xmm3
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_610
_Z21Scr_DumpScriptThreadsv_620:
	movaps xmm0, xmm3
_Z21Scr_DumpScriptThreadsv_630:
	addss xmm2, xmm0
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_480
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_480
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jnz _Z21Scr_DumpScriptThreadsv_620
_Z21Scr_DumpScriptThreadsv_610:
	mov eax, edx
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x10]
	mov eax, [esi+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_620
	mov eax, edx
	movss [ebp-0x138], xmm2
	call _Z18Scr_GetObjectUsagej
	movzx eax, word [esi+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	movss xmm2, dword [ebp-0x138]
	jmp _Z21Scr_DumpScriptThreadsv_630
_Z21Scr_DumpScriptThreadsv_150:
	movaps xmm2, xmm3
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_640
_Z21Scr_DumpScriptThreadsv_650:
	movaps xmm0, xmm3
_Z21Scr_DumpScriptThreadsv_660:
	addss xmm2, xmm0
	movzx eax, word [ebx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_140
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_140
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jnz _Z21Scr_DumpScriptThreadsv_650
_Z21Scr_DumpScriptThreadsv_640:
	mov eax, edx
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x10]
	mov eax, [esi+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_650
	mov eax, edx
	movss [ebp-0x138], xmm2
	call _Z18Scr_GetObjectUsagej
	movzx eax, word [esi+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	movss xmm2, dword [ebp-0x138]
	jmp _Z21Scr_DumpScriptThreadsv_660
_Z21Scr_DumpScriptThreadsv_330:
	movaps xmm2, xmm3
	movzx eax, word [ebx+0x4]
	cvtsi2ss xmm0, eax
	addss xmm0, xmm3
	divss xmm2, xmm0
	movaps xmm0, xmm2
	jmp _Z21Scr_DumpScriptThreadsv_370
_Z21Scr_DumpScriptThreadsv_40:
	mov dword [esp+0x4], _cstring_cannot_dump_scri
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	jmp _Z21Scr_DumpScriptThreadsv_670
_Z21Scr_DumpScriptThreadsv_230:
	mov dword [esp+0x4], _cstring_
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	jmp _Z21Scr_DumpScriptThreadsv_670
_Z21Scr_DumpScriptThreadsv_210:
	mov dword [ebp-0x110], 0x0
	pxor xmm0, xmm0
	movss [ebp-0xfc], xmm0
	movss [ebp-0x100], xmm0
_Z21Scr_DumpScriptThreadsv_780:
	mov eax, [ebp-0x110]
	lea edx, [eax+eax*4]
	lea eax, [edx*8]
	sub eax, edx
	mov edx, [ebp-0x118]
	lea edi, [edx+eax*4]
	mov [ebp-0xcc], edi
	lea ecx, [edi+0x8c]
	mov [ebp-0xc8], ecx
	mov [ebp-0xc4], ecx
	mov dword [ebp-0x10c], 0x0
	movaps xmm1, xmm0
	mov eax, edi
_Z21Scr_DumpScriptThreadsv_710:
	add dword [ebp-0x10c], 0x1
	addss xmm0, [eax+0x84]
	addss xmm1, [eax+0x88]
	add dword [ebp-0x110], 0x1
	mov edx, [ebp-0x110]
	cmp [ebp-0x114], edx
	jle _Z21Scr_DumpScriptThreadsv_680
	mov ecx, [edi+0x80]
	mov [ebp-0xdc], ecx
	test ecx, ecx
	jle _Z21Scr_DumpScriptThreadsv_690
	mov eax, [ebp-0xc4]
	mov eax, [eax+0x80]
	mov [ebp-0xb8], eax
	test eax, eax
	jle _Z21Scr_DumpScriptThreadsv_690
	mov edx, [edi]
	mov ecx, [ebp-0xc4]
	mov eax, [ecx]
	cmp edx, eax
	jz _Z21Scr_DumpScriptThreadsv_700
_Z21Scr_DumpScriptThreadsv_730:
	sub edx, eax
	mov eax, edx
	add dword [ebp-0xcc], 0x8c
	add dword [ebp-0xc8], 0x8c
	add dword [ebp-0xc4], 0x8c
	test eax, eax
	jnz _Z21Scr_DumpScriptThreadsv_680
_Z21Scr_DumpScriptThreadsv_750:
	mov eax, [ebp-0xcc]
	jmp _Z21Scr_DumpScriptThreadsv_710
_Z21Scr_DumpScriptThreadsv_700:
	mov ebx, edi
	mov ecx, [ebp-0xc8]
	xor esi, esi
	jmp _Z21Scr_DumpScriptThreadsv_720
_Z21Scr_DumpScriptThreadsv_740:
	cmp esi, [ebp-0xb8]
	jz _Z21Scr_DumpScriptThreadsv_690
	mov edx, [ebx+0x4]
	mov eax, [ecx+0x4]
	add ebx, 0x4
	add ecx, 0x4
	cmp edx, eax
	jnz _Z21Scr_DumpScriptThreadsv_730
_Z21Scr_DumpScriptThreadsv_720:
	add esi, 0x1
	cmp esi, [ebp-0xdc]
	jnz _Z21Scr_DumpScriptThreadsv_740
_Z21Scr_DumpScriptThreadsv_690:
	mov eax, [ebp-0xdc]
	mov edx, [ebp-0xc8]
	sub eax, [edx+0x80]
	add dword [ebp-0xcc], 0x8c
	add dword [ebp-0xc8], 0x8c
	add dword [ebp-0xc4], 0x8c
	test eax, eax
	jz _Z21Scr_DumpScriptThreadsv_750
_Z21Scr_DumpScriptThreadsv_680:
	movss xmm2, dword [ebp-0x100]
	addss xmm2, xmm0
	movss [ebp-0x100], xmm2
	movss xmm2, dword [ebp-0xfc]
	addss xmm2, xmm1
	movss [ebp-0xfc], xmm2
	cvttss2si eax, xmm1
	mov [esp+0x10], eax
	cvttss2si eax, xmm0
	mov [esp+0xc], eax
	mov eax, [ebp-0x10c]
	mov [esp+0x8], eax
	mov dword [esp+0x4], _cstring_count_d_var_usag
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	mov dword [esp+0x8], 0x0
	mov eax, [edi]
	mov [esp+0x4], eax
	mov dword [esp], 0x17
	call _Z20Scr_PrintPrevCodePosiPKcj
	cmp dword [edi+0x80], 0x1
	jg _Z21Scr_DumpScriptThreadsv_760
_Z21Scr_DumpScriptThreadsv_800:
	mov ecx, [ebp-0x110]
	cmp [ebp-0x114], ecx
	jle _Z21Scr_DumpScriptThreadsv_770
	pxor xmm0, xmm0
	jmp _Z21Scr_DumpScriptThreadsv_780
_Z21Scr_DumpScriptThreadsv_760:
	mov esi, edi
	mov ebx, 0x1
_Z21Scr_DumpScriptThreadsv_790:
	mov dword [esp+0x4], _cstring_called_from
	mov dword [esp], 0x17
	call _Z10Com_PrintfiPKcz
	mov dword [esp+0x8], 0x0
	mov eax, [esi+0x4]
	mov [esp+0x4], eax
	mov dword [esp], 0x17
	call _Z20Scr_PrintPrevCodePosiPKcj
	add ebx, 0x1
	add esi, 0x4
	cmp ebx, [edi+0x80]
	jl _Z21Scr_DumpScriptThreadsv_790
	jmp _Z21Scr_DumpScriptThreadsv_800
_Z21Scr_DumpScriptThreadsv_770:
	cvttss2si esi, [ebp-0xfc]
	cvttss2si ebx, [ebp-0x100]
	jmp _Z21Scr_DumpScriptThreadsv_810
_Z21Scr_DumpScriptThreadsv_260:
	mov eax, [edx+scrVarGlob+0x4]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x1e]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_820
	movss xmm2, dword [_float_1_00000000]
	movaps xmm3, xmm2
_Z21Scr_DumpScriptThreadsv_850:
	shl edx, 0x4
	lea esi, [edx+scrVarGlob+0x80020]
	mov edx, [esi+0x4]
	mov eax, [esi+0x8]
	and eax, 0x1f
	sub eax, 0x1
	jz _Z21Scr_DumpScriptThreadsv_830
_Z21Scr_DumpScriptThreadsv_870:
	movaps xmm0, xmm3
_Z21Scr_DumpScriptThreadsv_880:
	addss xmm2, xmm0
	movzx eax, word [esi+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_DumpScriptThreadsv_840
	shl edx, 0x4
	movzx eax, word [edx+scrVarGlob+0x80020]
	movzx edx, ax
	test ax, ax
	jnz _Z21Scr_DumpScriptThreadsv_850
	jmp _Z21Scr_DumpScriptThreadsv_840
_Z21Scr_DumpScriptThreadsv_820:
	movss xmm2, dword [_float_1_00000000]
_Z21Scr_DumpScriptThreadsv_840:
	addss xmm2, [ebp-0xd8]
	movss [ebp-0xd8], xmm2
	jmp _Z21Scr_DumpScriptThreadsv_860
_Z21Scr_DumpScriptThreadsv_830:
	mov eax, edx
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x10]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	cmp eax, 0x15
	jnz _Z21Scr_DumpScriptThreadsv_870
	mov eax, edx
	movss [ebp-0x138], xmm2
	call _Z18Scr_GetObjectUsagej
	movzx eax, word [ebx+0x4]
	cvtsi2ss xmm1, eax
	movss xmm3, dword [_float_1_00000000]
	addss xmm1, xmm3
	divss xmm0, xmm1
	addss xmm0, xmm3
	movss xmm2, dword [ebp-0x138]
	jmp _Z21Scr_DumpScriptThreadsv_880


;Scr_EvalVariableField(unsigned int)
_Z21Scr_EvalVariableFieldj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov eax, [ebp+0x8]
	test eax, eax
	jz _Z21Scr_EvalVariableFieldj_10
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov edx, [eax+0x8]
	and edx, 0x1f
	mov [ebp-0x1c], edx
	mov edi, [eax+0x4]
	mov eax, edx
	sub eax, 0x1
	cmp eax, 0x3
	jbe _Z21Scr_EvalVariableFieldj_20
	mov esi, edx
_Z21Scr_EvalVariableFieldj_60:
	mov eax, edi
	mov edx, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_EvalVariableFieldj_20:
	test eax, eax
	jz _Z21Scr_EvalVariableFieldj_30
	cmp eax, 0x2
	jbe _Z21Scr_EvalVariableFieldj_40
	cmp byte [edi-0x1], 0x0
	jnz _Z21Scr_EvalVariableFieldj_50
	add word [edi-0x4], 0x1
	mov esi, [ebp-0x1c]
	jmp _Z21Scr_EvalVariableFieldj_60
_Z21Scr_EvalVariableFieldj_10:
	mov edx, [scrVarPub+0x40]
	mov eax, [scrVarPub+0x3c]
	call _Z27Scr_EvalVariableEntityFieldjj
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_EvalVariableFieldj_30:
	lea eax, [edi+0x1]
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	mov esi, [ebp-0x1c]
	jmp _Z21Scr_EvalVariableFieldj_60
_Z21Scr_EvalVariableFieldj_50:
	mov esi, [ebp-0x1c]
	jmp _Z21Scr_EvalVariableFieldj_60
_Z21Scr_EvalVariableFieldj_40:
	mov [esp], edi
	call _Z17SL_AddRefToStringj
	mov esi, [ebp-0x1c]
	jmp _Z21Scr_EvalVariableFieldj_60


;Scr_FindVariableField(unsigned int, unsigned int)
_Z21Scr_FindVariableFieldjj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov dword [ebp-0x28], 0x0
	mov dword [ebp-0x24], 0x0
	mov dword [ebp-0x30], 0x0
	mov dword [ebp-0x2c], 0x0
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	lea ecx, [edi+ecx]
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x1c], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z21Scr_FindVariableFieldjj_10
_Z21Scr_FindVariableFieldjj_60:
	mov ecx, 0x8002
_Z21Scr_FindVariableFieldjj_50:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z21Scr_FindVariableFieldjj_20
	shl edx, 0x4
	lea eax, [edx+scrVarGlob+0x80020]
	mov esi, [eax+0x8]
	and esi, 0x1f
	mov ebx, [eax+0x4]
	lea eax, [esi-0x1]
	cmp eax, 0x3
	jbe _Z21Scr_FindVariableFieldjj_30
_Z21Scr_FindVariableFieldjj_110:
	mov [ebp-0x30], ebx
	mov [ebp-0x2c], esi
	mov eax, [ebp-0x30]
	mov edx, [ebp-0x2c]
_Z21Scr_FindVariableFieldjj_120:
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_FindVariableFieldjj_20:
	mov eax, edi
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	and eax, 0x1f
	cmp eax, 0x14
	jz _Z21Scr_FindVariableFieldjj_40
	mov dword [ebp-0x24], 0x0
	mov eax, [ebp-0x28]
	mov edx, [ebp-0x24]
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z21Scr_FindVariableFieldjj_10:
	shr edx, 0x8
	cmp esi, edx
	jz _Z21Scr_FindVariableFieldjj_50
	movzx ecx, word [ebx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z21Scr_FindVariableFieldjj_60
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jz _Z21Scr_FindVariableFieldjj_70
_Z21Scr_FindVariableFieldjj_80:
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z21Scr_FindVariableFieldjj_60
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z21Scr_FindVariableFieldjj_80
_Z21Scr_FindVariableFieldjj_70:
	add ecx, 0x8002
	jmp _Z21Scr_FindVariableFieldjj_50
_Z21Scr_FindVariableFieldjj_30:
	test eax, eax
	jz _Z21Scr_FindVariableFieldjj_90
	cmp eax, 0x2
	jbe _Z21Scr_FindVariableFieldjj_100
	cmp byte [ebx-0x1], 0x0
	jnz _Z21Scr_FindVariableFieldjj_110
	add word [ebx-0x4], 0x1
	jmp _Z21Scr_FindVariableFieldjj_110
_Z21Scr_FindVariableFieldjj_90:
	lea eax, [ebx+0x1]
	shl eax, 0x4
	add word [eax+scrVarGlob+0x4], 0x1
	jmp _Z21Scr_FindVariableFieldjj_110
_Z21Scr_FindVariableFieldjj_40:
	mov edx, esi
	mov eax, edi
	call _Z27Scr_EvalVariableEntityFieldjj
	jmp _Z21Scr_FindVariableFieldjj_120
_Z21Scr_FindVariableFieldjj_100:
	mov [esp], ebx
	call _Z17SL_AddRefToStringj
	jmp _Z21Scr_FindVariableFieldjj_110


;Scr_GetThreadWaitTime(unsigned int)
_Z21Scr_GetThreadWaitTimej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	shr eax, 0x8
	pop ebp
	ret


;Scr_SetThreadWaitTime(unsigned int, unsigned int)
_Z21Scr_SetThreadWaitTimejj:
	push ebp
	mov ebp, esp
	push ebx
	mov ecx, [ebp+0xc]
	mov edx, [ebp+0x8]
	add edx, 0x1
	shl edx, 0x4
	lea ebx, [edx+scrVarGlob]
	mov eax, [ebx+0x8]
	and eax, 0xe0
	or eax, 0x10
	mov [ebx+0x8], eax
	shl ecx, 0x8
	or [edx+scrVarGlob+0x8], ecx
	pop ebx
	pop ebp
	ret


;Scr_ShutdownVariables()
_Z21Scr_ShutdownVariablesv:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov eax, [scrVarPub+0x24]
	test eax, eax
	jz _Z21Scr_ShutdownVariablesv_10
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	jbe _Z21Scr_ShutdownVariablesv_20
_Z21Scr_ShutdownVariablesv_50:
	movzx edx, word [ebx+0xc]
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	movzx eax, dx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], dx
	mov [scrVarGlob+0x80024], dx
	mov dword [scrVarPub+0x24], 0x0
_Z21Scr_ShutdownVariablesv_10:
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z21Scr_ShutdownVariablesv_20:
	test eax, eax
	jz _Z21Scr_ShutdownVariablesv_30
	cmp eax, 0x2
	jbe _Z21Scr_ShutdownVariablesv_40
	cmp byte [edx-0x1], 0x0
	jnz _Z21Scr_ShutdownVariablesv_50
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z21Scr_ShutdownVariablesv_60
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z21Scr_ShutdownVariablesv_50
_Z21Scr_ShutdownVariablesv_40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z21Scr_ShutdownVariablesv_50
_Z21Scr_ShutdownVariablesv_30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z21Scr_ShutdownVariablesv_50
_Z21Scr_ShutdownVariablesv_60:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z21Scr_ShutdownVariablesv_50
	nop


;SetVariableFieldValue(unsigned int, VariableValue*)
_Z21SetVariableFieldValuejP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov eax, [ebp+0x8]
	mov esi, [ebp+0xc]
	test eax, eax
	jz _Z21SetVariableFieldValuejP13VariableValue_10
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov ecx, [ebx+0x4]
	mov edx, [ebx+0x8]
	mov eax, edx
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	jbe _Z21SetVariableFieldValuejP13VariableValue_20
_Z21SetVariableFieldValuejP13VariableValue_50:
	and edx, 0xffffffe0
	mov [ebx+0x8], edx
	or edx, [esi+0x4]
	mov [ebx+0x8], edx
	mov eax, [esi]
	mov [ebx+0x4], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z21SetVariableFieldValuejP13VariableValue_20:
	test eax, eax
	jz _Z21SetVariableFieldValuejP13VariableValue_30
	cmp eax, 0x2
	jbe _Z21SetVariableFieldValuejP13VariableValue_40
	cmp byte [ecx-0x1], 0x0
	jnz _Z21SetVariableFieldValuejP13VariableValue_50
	lea edx, [ecx-0x4]
	movzx eax, word [ecx-0x4]
	test ax, ax
	jz _Z21SetVariableFieldValuejP13VariableValue_60
	sub eax, 0x1
	mov [ecx-0x4], ax
	mov edx, [ebx+0x8]
	jmp _Z21SetVariableFieldValuejP13VariableValue_50
_Z21SetVariableFieldValuejP13VariableValue_10:
	mov [esp+0x8], esi
	mov eax, [scrVarPub+0x40]
	mov [esp+0x4], eax
	mov eax, [scrVarPub+0x3c]
	mov [esp], eax
	call _Z27SetVariableEntityFieldValuejjP13VariableValue
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z21SetVariableFieldValuejP13VariableValue_40:
	mov [esp], ecx
	call _Z20SL_RemoveRefToStringj
	mov edx, [ebx+0x8]
	jmp _Z21SetVariableFieldValuejP13VariableValue_50
_Z21SetVariableFieldValuejP13VariableValue_30:
	mov [esp], ecx
	call _Z17RemoveRefToObjectj
	mov edx, [ebx+0x8]
	jmp _Z21SetVariableFieldValuejP13VariableValue_50
_Z21SetVariableFieldValuejP13VariableValue_60:
	mov dword [esp+0x4], 0x10
	mov [esp], edx
	call _Z7MT_FreePvi
	mov edx, [ebx+0x8]
	jmp _Z21SetVariableFieldValuejP13VariableValue_50


;RemoveRefToEmptyObject(unsigned int)
_Z22RemoveRefToEmptyObjectj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx eax, word [ecx+0x4]
	test ax, ax
	jz _Z22RemoveRefToEmptyObjectj_10
	sub eax, 0x1
	mov [ecx+0x4], ax
	pop ebp
	ret
_Z22RemoveRefToEmptyObjectj_10:
	movzx edx, word [ecx+0xc]
	mov dword [ecx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x14]
	mov [ecx+0x4], ax
	mov eax, edx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	movzx eax, word [scrVarGlob+0x14]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	mov [scrVarGlob+0x14], dx
	pop ebp
	ret
	nop


;Scr_EvalBinaryOperator(int, VariableValue*, VariableValue*)
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov esi, [ebp+0xc]
	mov ebx, [ebp+0x10]
	mov eax, [ebp+0x8]
	sub eax, 0x66
	cmp eax, 0xf
	ja _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
	jmp dword [eax*4+_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__jumptab_0]
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__270:
	cmp dword [esi+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	cmp dword [ebx+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov edx, [ebx]
	test edx, edx
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__30
	mov eax, [esi]
	mov ecx, edx
	cdq
	idiv ecx
	mov [esi], edx
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10:
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__120:
	cmp dword [esi+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	cmp dword [ebx+0x4], 0x6
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__40
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20:
	mov [ebp+0xc], ebx
	mov [ebp+0x8], esi
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__200:
	mov edx, ebx
	mov eax, esi
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [esi+0x4]
	cmp eax, 0x5
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__50
	cmp eax, 0x6
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__60
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__90:
	mov [esp+0x4], ebx
	mov [esp], esi
	call _Z24Scr_UnmatchingTypesErrorP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__100:
	xor eax, eax
	cmp dword [esi], 0x0
	setz al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__210:
	cmp dword [esi+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	cmp dword [ebx+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov ecx, [ebx]
	shl dword [esi], cl
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__220:
	cmp dword [esi+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	cmp dword [ebx+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov ecx, [ebx]
	sar dword [esi], cl
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__230:
	mov [ebp+0xc], ebx
	mov [ebp+0x8], esi
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z12Scr_EvalPlusP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__240:
	mov [ebp+0xc], ebx
	mov [ebp+0x8], esi
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z13Scr_EvalMinusP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__250:
	mov [ebp+0xc], ebx
	mov [ebp+0x8], esi
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z16Scr_EvalMultiplyP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__260:
	mov [ebp+0xc], ebx
	mov [ebp+0x8], esi
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z14Scr_EvalDivideP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__160:
	mov [esp+0x4], ebx
	mov [esp], esi
	call _Z16Scr_EvalEqualityP13VariableValueS0_
	xor eax, eax
	cmp dword [esi], 0x0
	setz al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__140:
	cmp dword [esi+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	cmp dword [ebx+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov eax, [esi]
	and eax, [ebx]
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__150:
	mov [ebp+0xc], ebx
	mov [ebp+0x8], esi
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z16Scr_EvalEqualityP13VariableValueS0_
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__130:
	cmp dword [esi+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	cmp dword [ebx+0x4], 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov eax, [esi]
	xor eax, [ebx]
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__180:
	mov edx, ebx
	mov eax, esi
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [esi+0x4]
	cmp eax, 0x5
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__70
	cmp eax, 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov eax, [esi]
	cmp eax, [ebx]
	setg al
	movzx eax, al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__190:
	mov edx, ebx
	mov eax, esi
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [esi+0x4]
	cmp eax, 0x5
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__80
	cmp eax, 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__90
	mov eax, [esi]
	cmp eax, [ebx]
	setg al
	movzx eax, al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__100
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__170:
	mov edx, ebx
	mov eax, esi
	call _Z18Scr_CastWeakerPairP13VariableValueS0_
	mov eax, [esi+0x4]
	cmp eax, 0x5
	jz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__110
	cmp eax, 0x6
	jnz _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__20
	mov eax, [esi]
	cmp eax, [ebx]
	setl al
	movzx eax, al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__50:
	mov dword [esi+0x4], 0x6
	movss xmm0, dword [ebx]
	xor eax, eax
	ucomiss xmm0, [esi]
	seta al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__100
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__110:
	mov dword [esi+0x4], 0x6
	movss xmm0, dword [ebx]
	xor eax, eax
	ucomiss xmm0, [esi]
	seta al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__70:
	mov dword [esi+0x4], 0x6
	movss xmm0, dword [esi]
	xor eax, eax
	ucomiss xmm0, [ebx]
	seta al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__80:
	mov dword [esi+0x4], 0x6
	movss xmm0, dword [esi]
	xor eax, eax
	ucomiss xmm0, [ebx]
	seta al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__100
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__60:
	mov eax, [esi]
	cmp eax, [ebx]
	setl al
	movzx eax, al
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__100
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__40:
	mov eax, [esi]
	or eax, [ebx]
	mov [esi], eax
	jmp _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__10
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__30:
	mov dword [esi], 0x0
	mov dword [ebp+0x8], _cstring_divide_by_0
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z9Scr_ErrorPKc
	nop
	
	
_Z22Scr_EvalBinaryOperatoriP13VariableValueS0__jumptab_0:
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__120
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__130
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__140
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__150
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__160
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__170
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__180
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__190
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__200
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__210
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__220
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__230
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__240
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__250
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__260
	dd _Z22Scr_EvalBinaryOperatoriP13VariableValueS0__270


;Scr_EvalBoolComplement(VariableValue*)
_Z22Scr_EvalBoolComplementP13VariableValue:
	push ebp
	mov ebp, esp
	push esi
	push ebx
	sub esp, 0x10
	mov ebx, [ebp+0x8]
	mov esi, [ebx+0x4]
	cmp esi, 0x6
	jz _Z22Scr_EvalBoolComplementP13VariableValue_10
	mov edx, [ebx]
	lea eax, [esi-0x1]
	cmp eax, 0x3
	ja _Z22Scr_EvalBoolComplementP13VariableValue_20
	test eax, eax
	jz _Z22Scr_EvalBoolComplementP13VariableValue_30
	cmp eax, 0x2
	jbe _Z22Scr_EvalBoolComplementP13VariableValue_40
	cmp byte [edx-0x1], 0x0
	jnz _Z22Scr_EvalBoolComplementP13VariableValue_20
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z22Scr_EvalBoolComplementP13VariableValue_50
	sub eax, 0x1
	mov [edx-0x4], ax
_Z22Scr_EvalBoolComplementP13VariableValue_20:
	mov dword [ebx+0x4], 0x0
	mov eax, [esi*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring__cannot_be_appli
	call _Z2vaPKcz
	mov [ebp+0x8], eax
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z22Scr_EvalBoolComplementP13VariableValue_10:
	not dword [ebx]
	add esp, 0x10
	pop ebx
	pop esi
	pop ebp
	ret
_Z22Scr_EvalBoolComplementP13VariableValue_40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z22Scr_EvalBoolComplementP13VariableValue_20
_Z22Scr_EvalBoolComplementP13VariableValue_30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z22Scr_EvalBoolComplementP13VariableValue_20
_Z22Scr_EvalBoolComplementP13VariableValue_50:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z22Scr_EvalBoolComplementP13VariableValue_20


;Scr_EvalVariableObject(unsigned int)
_Z22Scr_EvalVariableObjectj:
	push ebp
	mov ebp, esp
	sub esp, 0x18
	mov eax, [ebp+0x8]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov edx, [eax+0x8]
	and edx, 0x1f
	cmp edx, 0x1
	jz _Z22Scr_EvalVariableObjectj_10
_Z22Scr_EvalVariableObjectj_20:
	mov eax, [edx*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_s_is_not_a_field
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	xor ecx, ecx
	mov eax, ecx
	leave
	ret
_Z22Scr_EvalVariableObjectj_10:
	mov ecx, [eax+0x4]
	mov eax, ecx
	shl eax, 0x4
	mov edx, [eax+scrVarGlob+0x18]
	and edx, 0x1f
	cmp edx, 0x14
	jg _Z22Scr_EvalVariableObjectj_20
	mov eax, ecx
	leave
	ret
	nop


;GetVariableValueAddress(unsigned int)
_Z23GetVariableValueAddressj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	add eax, scrVarGlob+0x80024
	pop ebp
	ret


;Scr_GetThreadNotifyName(unsigned int)
_Z23Scr_GetThreadNotifyNamej:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	shl eax, 0x4
	movzx eax, word [eax+scrVarGlob+0x19]
	pop ebp
	ret
	add [eax], al


;Scr_SetThreadNotifyName(unsigned int, unsigned int)
_Z23Scr_SetThreadNotifyNamejj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	mov ecx, [ebp+0xc]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov edx, [eax+0x8]
	and edx, 0xe0
	or edx, 0xf
	shl ecx, 0x8
	or ecx, edx
	mov [eax+0x8], ecx
	pop ebp
	ret
	nop


;GetInternalVariableIndex(unsigned int)
_Z24GetInternalVariableIndexj:
	push ebp
	mov ebp, esp
	mov eax, [ebp+0x8]
	add eax, 0x800000
	and eax, 0xffffff
	pop ebp
	ret


;GetVariableIndexInternal(unsigned int, unsigned int)
_Z24GetVariableIndexInternaljj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov ebx, [ebp+0xc]
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	mov eax, [ebp+0x8]
	lea esi, [edx+eax]
	mov eax, 0x80018005
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, esi
	sub ecx, eax
	lea eax, [ecx+0x1]
	mov [ebp-0x30], eax
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edi, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x80020]
	mov edx, [ecx+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z24GetVariableIndexInternaljj_10
_Z24GetVariableIndexInternaljj_60:
	mov ecx, [ebp-0x30]
	mov edx, ebx
	mov eax, [ebp+0x8]
	call _Z28GetNewVariableIndexInternal3jjj
	mov esi, eax
	mov eax, [ebp+0x8]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x28], eax
	mov eax, esi
	shl eax, 0x4
	add eax, 0x80020
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x2c], edx
	movzx eax, word [eax+scrVarGlob]
	mov [ebp-0x24], eax
	mov ecx, [ebp-0x28]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z24GetVariableIndexInternaljj_20
	shl edx, 0x4
	mov ebx, [edx+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	mov eax, [ebp+0x8]
	lea edi, [edx+eax]
	mov eax, 0x80018005
	mul edi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, edi
	sub ecx, eax
	lea edi, [ecx+0x1]
	lea edx, [ecx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x1c], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x20], eax
	mov ecx, [eax+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z24GetVariableIndexInternaljj_30
_Z24GetVariableIndexInternaljj_110:
	xor edi, edi
	mov edx, 0x8002
_Z24GetVariableIndexInternaljj_100:
	shl edx, 0x4
	mov [edx+scrVarGlob+0x2], si
	movzx edx, word [ebp-0x24]
	mov eax, edi
_Z24GetVariableIndexInternaljj_40:
	mov ecx, [ebp-0x28]
	mov [ecx+0xe], dx
	mov edx, [ebp-0x2c]
	mov word [edx+0x2], 0x0
	shl dword [ebp-0x24], 0x4
	mov ecx, [ebp-0x24]
	mov [ecx+scrVarGlob+0x8002e], ax
	mov eax, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z24GetVariableIndexInternaljj_20:
	movzx edx, word [ebp-0x24]
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], dx
	xor eax, eax
	jmp _Z24GetVariableIndexInternaljj_40
_Z24GetVariableIndexInternaljj_10:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z24GetVariableIndexInternaljj_50
	movzx esi, word [ecx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z24GetVariableIndexInternaljj_60
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z24GetVariableIndexInternaljj_70
_Z24GetVariableIndexInternaljj_80:
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp edi, eax
	jz _Z24GetVariableIndexInternaljj_60
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z24GetVariableIndexInternaljj_80
_Z24GetVariableIndexInternaljj_70:
	test esi, esi
	jz _Z24GetVariableIndexInternaljj_60
_Z24GetVariableIndexInternaljj_90:
	mov eax, esi
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z24GetVariableIndexInternaljj_50:
	mov esi, [ebp-0x30]
	test esi, esi
	jz _Z24GetVariableIndexInternaljj_60
	jmp _Z24GetVariableIndexInternaljj_90
_Z24GetVariableIndexInternaljj_30:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z24GetVariableIndexInternaljj_100
	mov eax, [ebp-0x20]
	movzx edi, word [eax+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z24GetVariableIndexInternaljj_110
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z24GetVariableIndexInternaljj_120
_Z24GetVariableIndexInternaljj_130:
	movzx edi, word [edx+0xc]
	mov eax, edi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z24GetVariableIndexInternaljj_110
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jnz _Z24GetVariableIndexInternaljj_130
_Z24GetVariableIndexInternaljj_120:
	lea edx, [edi+0x8002]
	jmp _Z24GetVariableIndexInternaljj_100
	nop


;Scr_GetClassnumForCharId(char)
_Z24Scr_GetClassnumForCharIdc:
	push ebp
	mov ebp, esp
	movzx ecx, byte [ebp+0x8]
	xor eax, eax
	mov edx, g_classMap
_Z24Scr_GetClassnumForCharIdc_20:
	cmp [edx+0x4], cl
	jz _Z24Scr_GetClassnumForCharIdc_10
	add eax, 0x1
	add edx, 0xc
	cmp eax, 0x4
	jnz _Z24Scr_GetClassnumForCharIdc_20
	mov eax, 0xffffffff
_Z24Scr_GetClassnumForCharIdc_10:
	pop ebp
	ret
	nop


;Scr_UnmatchingTypesError(VariableValue*, VariableValue*)
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0_:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x3c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov edx, [scrVarPub+0xc]
	test edx, edx
	jz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__10
	xor ebx, ebx
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__110:
	mov edx, [edi]
	mov eax, [edi+0x4]
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__20
	test eax, eax
	jz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__30
	cmp eax, 0x2
	jbe _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__40
	cmp byte [edx-0x1], 0x0
	jz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__50
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__20:
	mov dword [edi+0x4], 0x0
	mov edx, [esi]
	mov eax, [esi+0x4]
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__60
	test eax, eax
	jz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__70
	cmp eax, 0x2
	jbe _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__80
	cmp byte [edx-0x1], 0x0
	jnz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__60
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__90
	sub eax, 0x1
	mov [edx-0x4], ax
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__60:
	mov dword [esi+0x4], 0x0
	mov [ebp+0x8], ebx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__70:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	mov dword [esi+0x4], 0x0
	mov [ebp+0x8], ebx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__30:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__20
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__50:
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__100
	sub eax, 0x1
	mov [edx-0x4], ax
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__20
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__90:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__60
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__80:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	mov dword [esi+0x4], 0x0
	mov [ebp+0x8], ebx
	add esp, 0x3c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z9Scr_ErrorPKc
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__40:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__20
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__10:
	mov eax, [edi+0x4]
	mov [ebp-0x1c], eax
	mov ebx, [esi+0x4]
	mov [esp], edi
	call _Z19Scr_CastDebugStringP13VariableValue
	mov [esp], esi
	call _Z19Scr_CastDebugStringP13VariableValue
	mov ebx, [ebx*4+var_typename]
	mov [ebp-0x24], ebx
	mov edx, [ebp-0x1c]
	mov edx, [edx*4+var_typename]
	mov [ebp-0x20], edx
	mov eax, [esi]
	mov [esp], eax
	call _Z18SL_ConvertToStringj
	mov ebx, eax
	mov eax, [edi]
	mov [esp], eax
	call _Z18SL_ConvertToStringj
	mov edx, [ebp-0x24]
	mov [esp+0x10], edx
	mov edx, [ebp-0x20]
	mov [esp+0xc], edx
	mov [esp+0x8], ebx
	mov [esp+0x4], eax
	mov dword [esp], _cstring_pair_s_and_s_has
	call _Z2vaPKcz
	mov ebx, eax
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__110
_Z24Scr_UnmatchingTypesErrorP13VariableValueS0__100:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z24Scr_UnmatchingTypesErrorP13VariableValueS0__20


;Scr_GetVariableFieldIndex(unsigned int, unsigned int)
_Z25Scr_GetVariableFieldIndexjj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov edi, [ebp+0x8]
	mov esi, [ebp+0xc]
	mov eax, edi
	shl eax, 0x4
	mov eax, [eax+scrVarGlob+0x18]
	and eax, 0x1f
	cmp eax, 0x12
	jle _Z25Scr_GetVariableFieldIndexjj_10
	cmp eax, 0x14
	jz _Z25Scr_GetVariableFieldIndexjj_20
	mov eax, [eax*4+var_typename]
	mov [esp+0x4], eax
	mov dword [esp], _cstring_cannot_set_field
	call _Z2vaPKcz
	mov [esp], eax
	call _Z9Scr_ErrorPKc
	xor ebx, ebx
_Z25Scr_GetVariableFieldIndexjj_70:
	mov eax, ebx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z25Scr_GetVariableFieldIndexjj_20:
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	lea ebx, [edi+edx]
	mov eax, 0x80018005
	mul ebx
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, ebx
	sub ecx, eax
	lea ebx, [ecx+0x1]
	shl ecx, 0x4
	lea eax, [ecx+0x80030]
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x1c], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z25Scr_GetVariableFieldIndexjj_30
_Z25Scr_GetVariableFieldIndexjj_50:
	mov [scrVarPub+0x3c], edi
	mov [scrVarPub+0x40], esi
	xor ebx, ebx
	mov eax, ebx
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z25Scr_GetVariableFieldIndexjj_10:
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	jmp _Z24GetVariableIndexInternaljj
_Z25Scr_GetVariableFieldIndexjj_30:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z25Scr_GetVariableFieldIndexjj_40
_Z25Scr_GetVariableFieldIndexjj_60:
	movzx ebx, word [edx+0xc]
	mov eax, ebx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x1c], eax
	jz _Z25Scr_GetVariableFieldIndexjj_50
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z25Scr_GetVariableFieldIndexjj_60
_Z25Scr_GetVariableFieldIndexjj_40:
	test ebx, ebx
	jnz _Z25Scr_GetVariableFieldIndexjj_70
	jmp _Z25Scr_GetVariableFieldIndexjj_50
	nop


;Scr_RemoveThreadNotifyName(unsigned int)
_Z26Scr_RemoveThreadNotifyNamej:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov eax, [ebp+0x8]
	add eax, 0x1
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob+0x9]
	mov [esp], eax
	call _Z20SL_RemoveRefToStringj
	mov eax, [ebx+0x8]
	and eax, 0xffffffe0
	or eax, 0xe
	mov [ebx+0x8], eax
	add esp, 0x14
	pop ebx
	pop ebp
	ret
	nop


;GetNewObjectVariableReverse(unsigned int, unsigned int)
_Z27GetNewObjectVariableReversejj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x1c
	mov esi, [ebp+0xc]
	add esi, 0x10000
	lea ecx, [esi+esi*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [esi+ecx*4]
	add ecx, [ebp+0x8]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, esi
	mov eax, [ebp+0x8]
	call _Z28GetNewVariableIndexInternal3jjj
	mov ecx, eax
	mov eax, [ebp+0x8]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x10]
	movzx eax, word [ebx+0xc]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x20], eax
	lea eax, [ecx+0x8002]
	mov [ebp-0x28], eax
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x24], edx
	movzx edi, word [eax+scrVarGlob]
	mov edx, [ebp-0x20]
	movzx eax, word [edx+0x2]
	movzx edx, ax
	test ax, ax
	jz _Z27GetNewObjectVariableReversejj_10
	shl edx, 0x4
	lea eax, [edx+scrVarGlob+0x80020]
	mov [eax+0xe], cx
	mov esi, [eax+0x8]
	shr esi, 0x8
	lea edx, [esi+esi*4]
	lea edx, [edx+edx*4]
	lea edx, [esi+edx*4]
	mov eax, [ebp+0x8]
	lea ecx, [edx+eax]
	mov eax, 0x80018005
	mul ecx
	mov ebx, edx
	shr ebx, 0xf
	mov eax, ebx
	shl eax, 0xe
	sub eax, ebx
	lea eax, [ebx+eax*4]
	mov ebx, ecx
	sub ebx, eax
	lea eax, [ebx+0x1]
	mov [ebp-0x1c], eax
	shl ebx, 0x4
	lea eax, [ebx+0x80030]
	lea ebx, [eax+scrVarGlob]
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov ecx, [edx+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z27GetNewObjectVariableReversejj_20
_Z27GetNewObjectVariableReversejj_60:
	mov ecx, edi
	xor eax, eax
	jmp _Z27GetNewObjectVariableReversejj_30
_Z27GetNewObjectVariableReversejj_10:
	mov ecx, edi
	mov [ebx+0xe], di
	xor eax, eax
_Z27GetNewObjectVariableReversejj_30:
	mov edx, [ebp-0x20]
	mov [edx+0x2], cx
	mov edx, [ebp-0x24]
	mov [edx+0x2], ax
	shl edi, 0x4
	mov word [edi+scrVarGlob+0x8002e], 0x0
	shl dword [ebp-0x28], 0x4
	mov edx, [ebp-0x28]
	movzx eax, word [edx+scrVarGlob]
	add esp, 0x1c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z27GetNewObjectVariableReversejj_20:
	shr ecx, 0x8
	cmp esi, ecx
	jz _Z27GetNewObjectVariableReversejj_40
	movzx edx, word [edx+0xc]
	jmp _Z27GetNewObjectVariableReversejj_50
_Z27GetNewObjectVariableReversejj_70:
	movzx edx, word [ecx+0xc]
_Z27GetNewObjectVariableReversejj_50:
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+0x80020]
	lea eax, [ecx+scrVarGlob]
	cmp ebx, eax
	jz _Z27GetNewObjectVariableReversejj_60
	movzx eax, word [ecx+scrVarGlob]
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x80020]
	mov eax, [ecx+0x8]
	shr eax, 0x8
	cmp esi, eax
	jnz _Z27GetNewObjectVariableReversejj_70
	mov ecx, edi
	mov eax, edx
	jmp _Z27GetNewObjectVariableReversejj_30
_Z27GetNewObjectVariableReversejj_40:
	mov ecx, edi
	movzx eax, word [ebp-0x1c]
	jmp _Z27GetNewObjectVariableReversejj_30
	nop


;SetVariableEntityFieldValue(unsigned int, unsigned int, VariableValue*)
_Z27SetVariableEntityFieldValuejjP13VariableValue:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x4c
	mov eax, [ebp+0x8]
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov [ebp-0x34], eax
	mov edi, [eax+0x8]
	shr edi, 0x8
	mov ebx, [ebp+0xc]
	add ebx, 0x800000
	and ebx, 0xffffff
	lea eax, [edi+edi*2]
	movzx ecx, word [eax*4+g_classMap]
	lea eax, [ebx+ebx*4]
	lea eax, [eax+eax*4]
	lea eax, [ebx+eax*4]
	add ecx, eax
	mov edx, 0x80018005
	mov eax, ecx
	mul edx
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x8003
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x30], edx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	lea esi, [eax+scrVarGlob+0x80020]
	mov edx, [esi+0x8]
	mov eax, edx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_10
_Z27SetVariableEntityFieldValuejjP13VariableValue_80:
	mov ecx, 0x8002
_Z27SetVariableEntityFieldValuejjP13VariableValue_70:
	shl ecx, 0x4
	movzx eax, word [ecx+scrVarGlob]
	movzx edx, ax
	test ax, ax
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_20
	mov ecx, [ebp+0x10]
	mov [esp+0xc], ecx
	shl edx, 0x4
	mov eax, [edx+scrVarGlob+0x80024]
	mov [esp+0x8], eax
	mov edx, [ebp-0x34]
	movzx eax, word [edx+0x6]
	mov [esp+0x4], eax
	mov [esp], edi
	call _Z19SetEntityFieldValuejiiP13VariableValue
	test al, al
	jnz _Z27SetVariableEntityFieldValuejjP13VariableValue_30
_Z27SetVariableEntityFieldValuejjP13VariableValue_20:
	mov eax, [ebp+0xc]
	lea ecx, [eax+eax*4]
	lea ecx, [ecx+ecx*4]
	lea ecx, [eax+ecx*4]
	add ecx, [ebp+0x8]
	mov esi, 0x80018005
	mov eax, ecx
	mul esi
	shr edx, 0xf
	mov eax, edx
	shl eax, 0xe
	sub eax, edx
	lea eax, [edx+eax*4]
	sub ecx, eax
	add ecx, 0x1
	mov edx, [ebp+0xc]
	mov eax, [ebp+0x8]
	call _Z28GetNewVariableIndexInternal3jjj
	mov [ebp-0x1c], eax
	add eax, 0x8002
	mov [ebp-0x2c], eax
	shl eax, 0x4
	lea edx, [eax+scrVarGlob]
	mov [ebp-0x28], edx
	movzx edi, word [eax+scrVarGlob]
	mov ecx, [ebp-0x34]
	movzx eax, word [ecx+0xe]
	movzx edx, ax
	test ax, ax
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_40
	shl edx, 0x4
	mov ebx, [edx+scrVarGlob+0x80028]
	shr ebx, 0x8
	lea edx, [ebx+ebx*4]
	lea edx, [edx+edx*4]
	lea edx, [ebx+edx*4]
	add edx, [ebp+0x8]
	mov [ebp-0x3c], edx
	mov eax, edx
	mul esi
	mov ecx, edx
	shr ecx, 0xf
	mov eax, ecx
	shl eax, 0xe
	sub eax, ecx
	lea eax, [ecx+eax*4]
	mov ecx, [ebp-0x3c]
	sub ecx, eax
	lea esi, [ecx+0x1]
	lea edx, [ecx+0x8003]
	mov eax, edx
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob]
	mov [ebp-0x20], ecx
	movzx eax, word [eax+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x24], eax
	mov ecx, [eax+0x8]
	mov eax, ecx
	and eax, 0x60
	cmp eax, 0x40
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_50
_Z27SetVariableEntityFieldValuejjP13VariableValue_120:
	xor esi, esi
	mov edx, 0x8002
_Z27SetVariableEntityFieldValuejjP13VariableValue_110:
	shl edx, 0x4
	movzx ecx, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x2], cx
	mov edx, edi
	mov eax, esi
	mov ecx, [ebp-0x34]
_Z27SetVariableEntityFieldValuejjP13VariableValue_60:
	mov [ecx+0xe], dx
	mov edx, [ebp-0x28]
	mov word [edx+0x2], 0x0
	shl edi, 0x4
	mov [edi+scrVarGlob+0x8002e], ax
	shl dword [ebp-0x2c], 0x4
	mov ecx, [ebp-0x2c]
	movzx eax, word [ecx+scrVarGlob]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov edx, [eax+0x8]
	mov ecx, [ebp+0x10]
	or edx, [ecx+0x4]
	mov [eax+0x8], edx
	mov edx, [ecx]
	mov [eax+0x4], edx
_Z27SetVariableEntityFieldValuejjP13VariableValue_30:
	add esp, 0x4c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z27SetVariableEntityFieldValuejjP13VariableValue_40:
	mov edx, edi
	movzx eax, word [ecx+0xc]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x12], di
	xor eax, eax
	jmp _Z27SetVariableEntityFieldValuejjP13VariableValue_60
_Z27SetVariableEntityFieldValuejjP13VariableValue_10:
	shr edx, 0x8
	cmp ebx, edx
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_70
	movzx ecx, word [esi+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x30], eax
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_80
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_90
_Z27SetVariableEntityFieldValuejjP13VariableValue_100:
	movzx ecx, word [edx+0xc]
	mov eax, ecx
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x30], eax
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_80
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp ebx, eax
	jnz _Z27SetVariableEntityFieldValuejjP13VariableValue_100
_Z27SetVariableEntityFieldValuejjP13VariableValue_90:
	add ecx, 0x8002
	jmp _Z27SetVariableEntityFieldValuejjP13VariableValue_70
_Z27SetVariableEntityFieldValuejjP13VariableValue_50:
	shr ecx, 0x8
	cmp ebx, ecx
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_110
	mov eax, [ebp-0x24]
	movzx esi, word [eax+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_120
_Z27SetVariableEntityFieldValuejjP13VariableValue_140:
	movzx eax, word [edx+scrVarGlob]
	shl eax, 0x4
	lea edx, [eax+scrVarGlob+0x80020]
	mov eax, [edx+0x8]
	shr eax, 0x8
	cmp eax, ebx
	jz _Z27SetVariableEntityFieldValuejjP13VariableValue_130
	movzx esi, word [edx+0xc]
	mov eax, esi
	shl eax, 0x4
	lea edx, [eax+0x80020]
	lea eax, [edx+scrVarGlob]
	cmp [ebp-0x20], eax
	jnz _Z27SetVariableEntityFieldValuejjP13VariableValue_140
	jmp _Z27SetVariableEntityFieldValuejjP13VariableValue_120
_Z27SetVariableEntityFieldValuejjP13VariableValue_130:
	lea edx, [esi+0x8002]
	jmp _Z27SetVariableEntityFieldValuejjP13VariableValue_110
	add [eax], al


;Scr_DumpScriptVariablesDefault()
_Z30Scr_DumpScriptVariablesDefaultv:
	push ebp
	mov ebp, esp
	pop ebp
	ret
	nop


;GetArray(unsigned int)
_Z8GetArrayj:
	push ebp
	mov ebp, esp
	push edi
	push esi
	push ebx
	sub esp, 0x2c
	mov eax, [ebp+0x8]
	shl eax, 0x4
	add eax, scrVarGlob+0x80020
	mov [ebp-0x20], eax
	mov edx, eax
	mov eax, [eax+0x8]
	test al, 0x1f
	jnz _Z8GetArrayj_10
	or eax, 0x1
	mov [edx+0x8], eax
	movzx edi, word [scrVarGlob+0x14]
	test di, di
	jz _Z8GetArrayj_20
_Z8GetArrayj_60:
	movzx eax, di
	shl eax, 0x4
	lea esi, [eax+0x10]
	lea ebx, [esi+scrVarGlob]
	movzx eax, word [esi+scrVarGlob]
	mov [ebp-0x1c], ax
	movzx eax, ax
	shl eax, 0x4
	lea ecx, [eax+scrVarGlob+0x10]
	movzx edx, word [ecx+0x4]
	mov [ebp-0x1a], dx
	cmp ebx, ecx
	jz _Z8GetArrayj_30
	test byte [ebx+0x8], 0x60
	jz _Z8GetArrayj_40
	movzx eax, word [ebp-0x1a]
_Z8GetArrayj_50:
	mov [scrVarGlob+0x14], ax
	movzx eax, ax
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x12], 0x0
	mov [ecx+0xc], di
	mov word [ecx+0xe], 0x0
	mov word [ebx+0x2], 0x0
	movzx edx, word [ebx]
	mov eax, edx
	shl eax, 0x4
	add eax, scrVarGlob+0x10
	mov dword [eax+0x8], 0x75
	mov word [eax+0x4], 0x0
	mov word [eax+0x6], 0x0
	mov eax, [ebp-0x20]
	mov [eax+0x4], edx
_Z8GetArrayj_10:
	mov edx, [ebp-0x20]
	mov eax, [edx+0x4]
	add esp, 0x2c
	pop ebx
	pop esi
	pop edi
	pop ebp
	ret
_Z8GetArrayj_40:
	movzx edx, word [ebx+0xc]
	shl edx, 0x4
	movzx eax, word [ebp-0x1c]
	mov [edx+scrVarGlob+0x10], ax
	mov [esi+scrVarGlob], di
	movzx edx, word [ebx+0xc]
	mov [ecx+0xc], dx
	movzx eax, word [ebx+0x4]
	mov [ecx+0x4], ax
	mov ecx, ebx
	movzx eax, word [ebp-0x1a]
	jmp _Z8GetArrayj_50
_Z8GetArrayj_20:
	mov dword [esp], _cstring_exceeded_maximum
	call _Z17Scr_TerminalErrorPKc
	jmp _Z8GetArrayj_60
_Z8GetArrayj_30:
	mov eax, edx
	jmp _Z8GetArrayj_50
	nop


;FreeValue(unsigned int)
_Z9FreeValuej:
	push ebp
	mov ebp, esp
	push ebx
	sub esp, 0x14
	mov eax, [ebp+0x8]
	shl eax, 0x4
	lea ebx, [eax+scrVarGlob+0x80020]
	mov edx, [ebx+0x4]
	mov eax, [ebx+0x8]
	and eax, 0x1f
	sub eax, 0x1
	cmp eax, 0x3
	ja _Z9FreeValuej_10
	test eax, eax
	jz _Z9FreeValuej_20
	cmp eax, 0x2
	jbe _Z9FreeValuej_30
	cmp byte [edx-0x1], 0x0
	jnz _Z9FreeValuej_10
	lea ecx, [edx-0x4]
	movzx eax, word [edx-0x4]
	test ax, ax
	jz _Z9FreeValuej_40
	sub eax, 0x1
	mov [edx-0x4], ax
_Z9FreeValuej_10:
	movzx edx, word [ebx+0xc]
	mov dword [ebx+0x8], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	mov [ebx+0x4], ax
	movzx eax, dx
	shl eax, 0x4
	mov word [eax+scrVarGlob+0x80022], 0x0
	movzx eax, word [scrVarGlob+0x80024]
	shl eax, 0x4
	mov [eax+scrVarGlob+0x80022], dx
	mov [scrVarGlob+0x80024], dx
	add esp, 0x14
	pop ebx
	pop ebp
	ret
_Z9FreeValuej_20:
	mov [esp], edx
	call _Z17RemoveRefToObjectj
	jmp _Z9FreeValuej_10
_Z9FreeValuej_40:
	mov dword [esp+0x4], 0x10
	mov [esp], ecx
	call _Z7MT_FreePvi
	jmp _Z9FreeValuej_10
_Z9FreeValuej_30:
	mov [esp], edx
	call _Z20SL_RemoveRefToStringj
	jmp _Z9FreeValuej_10
	nop


;Initialized global or static variables of scr_variable:
SECTION .data
var_typename: dd _cstring_undefined, _cstring_object, _cstring_string, _cstring_localized_string, _cstring_vector, _cstring_float, _cstring_int, _cstring_codepos, _cstring_precodepos, _cstring_function, _cstring_stack, _cstring_animation, _cstring_developer_codepo, _cstring_include_codepos, _cstring_thread, _cstring_thread, _cstring_thread, _cstring_thread, _cstring_struct, _cstring_removed_entity, _cstring_entity, _cstring_array, _cstring_removed_thread, 0x0
g_classMap: dd 0x0, 0x65, _cstring_entity, 0x0, 0x68, _cstring_hudelem, 0x0, 0x70, _cstring_pathnode, 0x0, 0x76, _cstring_vehiclenode, 0x0, 0x0, 0x0, 0x0


;Initialized constant data of scr_variable:
SECTION .rdata


;Zero initialized global or static variables of scr_variable:
SECTION .bss
scrVarPub: resb 0x20060
scrVarGlob: resb 0x180020


;All cstrings:
SECTION .rdata
_cstring_cannot_find_s:		db 015h,"cannot find ",27h,"%s",27h,0
_cstring_keys:		db "keys",0
_cstring_sss:		db "%s/%s.%s",0
_cstring_ss:		db "%s/%s",0
_cstring_scr_addfields:		db "Scr_AddFields",0
_cstring_float:		db "float",0
_cstring_int:		db "int",0
_cstring_duplicate_key_s_:		db 015h,"duplicate key ",27h,"%s",27h," in ",27h,"%s",27h,0
_cstring_missing_field_na:		db 015h,"missing field name in ",27h,"%s",27h,0
_cstring_string:		db "string",0
_cstring_vector:		db "vector",0
_cstring_unknown_type_s_i:		db 015h,"unknown type ",27h,"%s",27h," in ",27h,"%s",27h,0
_cstring_exceeded_maximum:		db "exceeded maximum number of script variables",0
_cstring_s_is_not_an_arra:		db "%s is not an array",0
_cstring_s_is_not_an_arra1:		db "%s is not an array index",0
_cstring_readonly_array_c:		db "read-only array cannot be changed",0
_cstring_array_index_d_ou:		db "array index %d out of range",0
_cstring_divide_by_0:		db "divide by 0",0
_cstring_cannot_cast_s_to:		db "cannot cast %s to Bool",0
_cstring_cannot_concat_s_:		db "cannot concat ",22h,"%s",22h," and ",22h,"%s",22h," - max string length exceeded",0
_cstring_s_is_not_an_arra2:		db "%s is not an array, string, or vector",0
_cstring_s_is_not_a_strin:		db "%s is not a string index",0
_cstring_s_is_not_a_vecto:		db "%s is not a vector index",0
_cstring_string_index_d_o:		db "string index %d out of range",0
_cstring_vector_index_d_o:		db "vector index %d out of range",0
_cstring_cannot_cast_s_to1:		db "cannot cast %s to string",0
_cstring_type_s_is_not_a_:		db "type %s is not a float",0
_cstring_string_character:		db "string characters cannot be individually changed",0
_cstring_vector_component:		db "vector components cannot be individually changed",0
_cstring_size_cannot_be_a:		db "size cannot be applied to %s",0
_cstring_s_is_not_a_field:		db "%s is not a field object",0
_cstring_:		db "********************************",0ah,0
_cstring_var_usage_d_endo:		db "var usage: %d, endon usage: %d",0ah,0
_cstring_1:		db 0ah,0
_cstring_ent_type_s_count:		db "ent type ",27h,"%s",27h,"... count: %d, var usage: %d",0ah,0
_cstring_cannot_dump_scri:		db "Cannot dump script threads: out of memory",0ah,0
_cstring_count_d_var_usag:		db "count: %d, var usage: %d, endon usage: %d",0ah,0
_cstring_called_from:		db "called from:",0ah,0
_cstring__cannot_be_appli:		db "~ cannot be applied to ",22h,"%s",22h,0
_cstring_pair_s_and_s_has:		db "pair ",27h,"%s",27h," and ",27h,"%s",27h," has unmatching types ",27h,"%s",27h," and ",27h,"%s",27h,0
_cstring_cannot_set_field:		db "cannot set field of %s",0
_cstring_undefined:		db "undefined",0
_cstring_object:		db "object",0
_cstring_localized_string:		db "localized string",0
_cstring_codepos:		db "codepos",0
_cstring_precodepos:		db "precodepos",0
_cstring_function:		db "function",0
_cstring_stack:		db "stack",0
_cstring_animation:		db "animation",0
_cstring_developer_codepo:		db "developer codepos",0
_cstring_include_codepos:		db "include codepos",0
_cstring_thread:		db "thread",0
_cstring_struct:		db "struct",0
_cstring_removed_entity:		db "removed entity",0
_cstring_entity:		db "entity",0
_cstring_array:		db "array",0
_cstring_removed_thread:		db "removed thread",0
_cstring_hudelem:		db "hudelem",0
_cstring_pathnode:		db "pathnode",0
_cstring_vehiclenode:		db "vehiclenode",0



;All constant floats and doubles:
SECTION .rdata
_float_1_00000000:		dd 0x3f800000	; 1
_float_0_00000000:		dd 0x0	; 0
_data16_7fffffff:		dd 0x7fffffff, 0x0, 0x0, 0x0	; OWORD
_float_0_00000100:		dd 0x358637bd	; 1e-06

