// Decompiled C Code: /* WARNING: Enum "DRAW_PRIMITIVE_FLAGS": Some values do not have unique names */ CLandscape * __thiscall CLandscape::ctor(CLandscape *this,LPCSTR materialConfigName,char *landscapeBaseName, IComponent **owner) { CGameObject *pCVar1; BoundingBox *pBVar2; char cVar3; float fVar4; float fVar5; float fVar6; ushort uVar7; int (*paiVar8) [5]; undefined4 *puVar9; char *mem; ushort *mem_00; I3DRender **ppIVar10; I3DSound **ppIVar11; ISoundPool **ppIVar12; IMatManager **ppIVar13; undefined4 uVar14; ILightManager **ppIVar15; IComponent **ppIVar16; BOOL BVar17; SystemArealMap *this_00; INResFile **ppIVar18; nres_metadata_item *pnVar19; Vector3 *pVVar20; MSH_15_element *pMVar21; MSH_02_file *pMVar22; MshMetaForLandscape *pMVar23; MSH_15_element *puVar20; int *piVar24; int *piVar25; undefined4 *puVar26; CShade *pCVar27; int iVar28; uint uVar29; uint uVar30; Vector3 *pfVar29; int iVar31; byte (*data_ptr) [212]; char *pcVar32; Vector3 *pVVar33; BoundingBox *pfVar35; Vector3 *pfVar34; float fVar34; char *pcVar35; ushort *puVar36; ushort *puVar37; char *pcVar38; BoundingBox *pBVar39; Vector3 *pfVar40; undefined4 *puVar40; byte *pbVar41; uint uStack_1ec; int iStack_1e4; BoundingBox fStack_1e0; Vector3 VStack_178; Vector3 VStack_16c; Vector3 VStack_160; Vector3 VStack_154; Vector3 VStack_148; Vector3 VStack_13c; float fStack_130; float fStack_12c; float fStack_128; float fStack_124; float fStack_120; float fStack_11c; float fStack_118; float fStack_114; float fStack_110; Vector3 fStack_10c; Vector3 fStack_f4; Vector3 fStack_e8; Vector3 fStack_d8; Vector3 VStack_78; Vector3 VStack_6c; Vector3 VStack_60; Vector3 VStack_54; Vector3 VStack_48; Vector3 VStack_3c; Vector3 VStack_30; Vector3 VStack_24; StackException exception2; StackException exception; exception.Offset = -1; exception.Handler = (undefined4 *)&LAB_1006320e; exception.ExceptionList = (undefined4 *)ExceptionList; ExceptionList = &exception; this->IComponent = (IComponent *)&PTR_pure_virtual_100655d0; CGameObject::ctor(&this->game_object,owner); this->ITerrain = (ITerrain *)&PTR_pure_virtual_100655a0; this->IMesh2 = (IMesh2 *)&PTR_pure_virtual_10065560; this->I0x1 = (I0x1 *)&PTR_pure_virtual_1006552c; this->IControl = (IControl *)&PTR_pure_virtual_100654d8; this->IUnknown_0x22 = (I0x22 *)&PTR_pure_virtual_100654c8; exception.Offset = 0; this->field104_0x1e8 = 0; this->field105_0x1ec = -2; paiVar8 = this->field115_0x214; iVar28 = 3; do { (*paiVar8)[0] = 0; (*paiVar8)[1] = -2; (*paiVar8)[2] = -1; (*paiVar8)[3] = -1; (*paiVar8)[4] = -1; paiVar8 = paiVar8 + 1; iVar28 = iVar28 + -1; } while (iVar28 != 0); puVar9 = (undefined4 *)operator_new(8000); (this->array_0x278).data = puVar9; (this->array_0x278).capacity = 1000; (this->array_0x278).count = 0; exception.Offset = CONCAT31(exception.Offset._1_3_,1); data_ptr = this->unk_obj_array_elemsize_212; uStack_1ec = 100; do { vector_initializer(data_ptr,0xc,8,move_to_eax_return); data_ptr = data_ptr + 1; uStack_1ec = uStack_1ec + -1; } while (uStack_1ec != 0); puVar9 = (undefined4 *)operator_new(400); (this->array_0x7a40).data = puVar9; (this->array_0x7a40).capacity = 100; (this->array_0x7a40).count = 0; exception.Offset = CONCAT31(exception.Offset._1_3_,2); puVar9 = (undefined4 *)operator_new(4000); (this->array_0x7c00).data = puVar9; (this->array_0x7c00).capacity = 1000; (this->array_0x7c00).count = 0; exception.Offset = CONCAT31(exception.Offset._1_3_,3); puVar9 = (undefined4 *)operator_new(400); (this->array_0x7c0c).data = puVar9; (this->array_0x7c0c).capacity = 100; (this->array_0x7c0c).count = 0; exception.Offset = CONCAT31(exception.Offset._1_3_,4); puVar9 = (undefined4 *)operator_new(400); (this->array_0x7c2c).data = puVar9; (this->array_0x7c2c).capacity = 100; (this->array_0x7c2c).count = 0; exception.Offset = CONCAT31(exception.Offset._1_3_,5); puVar9 = (undefined4 *)operator_new(0xa0); (this->array_0x7c84).data = puVar9; (this->array_0x7c84).capacity = 0x28; (this->array_0x7c84).count = 0; (this->m_CollisionContext).logicID = Landscape; (this->m_CollisionContext).GameObjectID = 0; (this->m_CollisionContext).field2_0x8 = 0; (this->m_CollisionContext).field3_0xc = 0; (this->m_CollisionContext).field4_0x10 = 0; (this->m_CollisionContext).field5_0x14 = 0; (this->m_CollisionContext).mSweptSphere.position.z = 0.0; (this->m_CollisionContext).mSweptSphere.position.y = 0.0; (this->m_CollisionContext).mSweptSphere.position.x = 0.0; (this->m_CollisionContext).mSweptSphere.targetPosition.z = 0.0; (this->m_CollisionContext).mSweptSphere.targetPosition.y = 0.0; (this->m_CollisionContext).mSweptSphere.targetPosition.x = 0.0; (this->m_CollisionContext).mSweptSphere.radius = -1.0; (this->m_CollisionContext).pSweptSphere2 = (SweptSphere *)0x0; (this->m_CollisionContext).ResolvedIMesh2 = (IMesh2 **)0x0; (this->m_CollisionContext).I0x25 = (void **)0x0; (this->m_CollisionContext).ResolvedICollManager = (ICollManager **)0x0; this->IComponent = &IComponent_of_CLandscape; (this->game_object).vptr = &IGameObject_of_CLandscape; this->ITerrain = &ITerrain_of_CLandscape; this->IMesh2 = &IMesh2_of_CLandscape; this->I0x1 = &I0x1_of_CLandscape; this->IControl = &IControl_1006536c; this->IUnknown_0x22 = &I0x22_1006535c; this->IComponent_owner = owner; uVar29 = 0xffffffff; exception.Offset = CONCAT31(exception.Offset._1_3_,6); pcVar32 = landscapeBaseName; do { if (uVar29 == 0) break; uVar29 = uVar29 - 1; cVar3 = *pcVar32; pcVar32 = pcVar32 + 1; } while (cVar3 != '\0'); pBVar2 = &this->bounding_box; fStack_1e0.TopBackLeft.y = (float)operator_new(~uVar29 + 4); uVar29 = 0xffffffff; pcVar32 = landscapeBaseName; do { if (uVar29 == 0) break; uVar29 = uVar29 - 1; cVar3 = *pcVar32; pcVar32 = pcVar32 + 1; } while (cVar3 != '\0'); fStack_1e0.TopBackLeft.x = (float)operator_new(~uVar29 + 5); uVar29 = 0xffffffff; pcVar32 = landscapeBaseName; do { if (uVar29 == 0) break; uVar29 = uVar29 - 1; cVar3 = *pcVar32; pcVar32 = pcVar32 + 1; } while (cVar3 != '\0'); mem = (char *)operator_new(~uVar29 + 5); uVar29 = 0xffffffff; pcVar32 = landscapeBaseName; do { if (uVar29 == 0) break; uVar29 = uVar29 - 1; cVar3 = *pcVar32; pcVar32 = pcVar32 + 1; } while (cVar3 != '\0'); mem_00 = (ushort *)operator_new(~uVar29 + 4); uVar29 = 0xffffffff; pcVar32 = landscapeBaseName; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; pcVar32 = pcVar38 + -uVar29; pcVar38 = (char *)fStack_1e0.TopBackLeft.y; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } uVar29 = 0xffffffff; pcVar32 = s__msh_1006bfb4; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; iVar28 = -1; pcVar32 = (char *)fStack_1e0.TopBackLeft.y; do { pcVar35 = pcVar32; if (iVar28 == 0) break; iVar28 = iVar28 + -1; pcVar35 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar35; } while (cVar3 != '\0'); pcVar32 = pcVar38 + -uVar29; pcVar38 = pcVar35 + -1; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } uVar29 = 0xffffffff; pcVar32 = landscapeBaseName; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; pcVar32 = pcVar38 + -uVar29; pcVar38 = (char *)fStack_1e0.TopBackLeft.x; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } uVar29 = 0xffffffff; pcVar32 = s_1_wea_1006bfac; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; iVar28 = -1; pcVar32 = (char *)fStack_1e0.TopBackLeft.x; do { pcVar35 = pcVar32; if (iVar28 == 0) break; iVar28 = iVar28 + -1; pcVar35 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar35; } while (cVar3 != '\0'); pcVar32 = pcVar38 + -uVar29; pcVar38 = pcVar35 + -1; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } uVar29 = 0xffffffff; pcVar32 = landscapeBaseName; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; pcVar32 = pcVar38 + -uVar29; pcVar38 = mem; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } uVar29 = 0xffffffff; pcVar32 = s_2_wea_1006bfa4; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; iVar28 = -1; pcVar32 = mem; do { pcVar35 = pcVar32; if (iVar28 == 0) break; iVar28 = iVar28 + -1; pcVar35 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar35; } while (cVar3 != '\0'); pcVar32 = pcVar38 + -uVar29; pcVar38 = pcVar35 + -1; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } uVar29 = 0xffffffff; do { pcVar32 = landscapeBaseName; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar32 = landscapeBaseName + 1; cVar3 = *landscapeBaseName; landscapeBaseName = pcVar32; } while (cVar3 != '\0'); uVar29 = ~uVar29; pcVar32 = pcVar32 + -uVar29; puVar36 = mem_00; for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)puVar36 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; puVar36 = puVar36 + 2; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *(char *)puVar36 = *pcVar32; pcVar32 = pcVar32 + 1; puVar36 = (ushort *)((int)puVar36 + 1); } uVar29 = 0xffffffff; pcVar32 = s__map_1006bf9c; do { pcVar38 = pcVar32; if (uVar29 == 0) break; uVar29 = uVar29 - 1; pcVar38 = pcVar32 + 1; cVar3 = *pcVar32; pcVar32 = pcVar38; } while (cVar3 != '\0'); uVar29 = ~uVar29; iVar28 = -1; puVar36 = mem_00; do { puVar37 = puVar36; if (iVar28 == 0) break; iVar28 = iVar28 + -1; puVar37 = (ushort *)((int)puVar36 + 1); uVar7 = *puVar36; puVar36 = puVar37; } while ((char)uVar7 != '\0'); pcVar32 = pcVar38 + -uVar29; pcVar38 = (char *)((int)puVar37 + -1); for (uVar30 = uVar29 >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *(undefined4 *)pcVar38 = *(undefined4 *)pcVar32; pcVar32 = pcVar32 + 4; pcVar38 = pcVar38 + 4; } for (uVar29 = uVar29 & 3; uVar29 != 0; uVar29 = uVar29 - 1) { *pcVar38 = *pcVar32; pcVar32 = pcVar32 + 1; pcVar38 = pcVar38 + 1; } ppIVar10 = niGet3DRender(); this->I3DRender__ = ppIVar10; if (ppIVar10 == (I3DRender **)0x0) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_3D_Render_was_not_initialized_1006bf7c); } ppIVar11 = niGet3DSound(); this->I3DSound = ppIVar11; if (ppIVar11 == (I3DSound **)0x0) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_3D_Sound_was_not_initialized_1006bf40); } pCVar1 = &this->game_object; ppIVar12 = (ISoundPool **) (*(*this->I3DSound)->CreateSoundPool) ((int *)this->I3DSound,0,0,-(uint)(this != (CLandscape *)0x0) & (uint)pCVar1) ; this->ISoundPool = ppIVar12; if (this->I3DRender__ != 0) { ppIVar13 = LoadMatManager(materialConfigName,(LPCSTR)fStack_1e0.TopBackLeft.x, (IComponent **)(-(uint)(this != (CLandscape *)0x0) & (uint)pCVar1)); this->IMatManager = ppIVar13; uVar14 = (*(code *)(*ppIVar13)->LoadWear)(ppIVar13,materialConfigName,mem); this->wear_ptr = uVar14; } ppIVar15 = CreateLightManager(0,(undefined4 *)0x0, (IComponent **)(-(uint)(this != (CLandscape *)0x0) & (uint)pCVar1)); this->ILightManager_owned = ppIVar15; ppIVar16 = CreateCollManager((IComponent **)(-(uint)(this != (CLandscape *)0x0) & (uint)pCVar1)); BVar17 = (*(*ppIVar16)->QueryInterface)(ppIVar16,ICollManager,&this->ResolvedICollManager); if (BVar17 == 0) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_obtain_ICollManager_in_1006bf18); } ppIVar16 = CreateFxManager(0,0,(IComponent **)(-(uint)(this != (CLandscape *)0x0) & (uint)pCVar1)) ; BVar17 = (*(*ppIVar16)->QueryInterface)(ppIVar16,IEffectManager,&this->ResolvedIEffectManager); if (BVar17 == 0) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_obtain_IEffectManager_i_1006beec); } this_00 = CreateSystemArealMap (0,mem_00,(void *)(-(uint)(this != (CLandscape *)0x0) & (uint)pCVar1)); BVar17 = (*(this_00->ISystemArealMap->IComponent).QueryInterface) (this_00,ISystemArealMap,&this->ResolvedISystemArealMap); if (BVar17 == 0) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_obtain_ISystemArealMap_1006bec0); } ppIVar18 = niOpenResFile((LPCSTR)fStack_1e0.TopBackLeft.y); this->INResFile = ppIVar18; if (ppIVar18 == (INResFile **)0x0) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_library_1006bea8); } pnVar19 = (*(*this->INResFile)->get_metadata_ptr)(this->INResFile); this->_count_unk_obj_array_elemsize_212 = 1; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,3); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } this->vertices_count = pnVar19[iVar28].element_count_or_version; /* сначала читается тип файла, потом страйд */ pVVar20 = (Vector3 *)(*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_3_vertices_data_ptr = pVVar20; this->_3_vertices_stride = 0xc; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,4); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } puVar9 = (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_4_data_ptr = puVar9; this->_4_stride = 4; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,5); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } puVar9 = (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_5_data_ptr = puVar9; this->_5_stride = 4; this->_2_microtexture_mapping_data_ptr = 0; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,0x12); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_find_microtexture_mapp_1006be68); } puVar9 = (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_2_microtexture_mapping_data_ptr = puVar9; this->_2_microtexture_mapping_stride = 4; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,0xe); if (iVar28 == -1) { this->_e_data_ptr = 0; } else { puVar9 = (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_e_data_ptr = puVar9; this->_e_stride = 4; } this->field138_0x2a4 = 0; this->field143_0x2ac = 0; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,0x15); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } this->_5_element_count = pnVar19[iVar28].element_count_or_version; pMVar21 = (MSH_15_element *) (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_5_data_ptr = pMVar21; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,2); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } pMVar22 = (MSH_02_file *) (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,0); this->msh_02_data_ptr = pMVar22; pMVar23 = (MshMetaForLandscape *)operator_new(0x28); this->mshmeta_ptr = pMVar23; pMVar22 = this->msh_02_data_ptr; pBVar39 = &this->bounding_box_from_msh_02; for (iVar28 = 0x18; iVar28 != 0; iVar28 = iVar28 + -1) { (pBVar39->BottomFrontLeft).x = (pMVar22->header).bounding_box.BottomFrontLeft.x; pMVar22 = (MSH_02_file *)&(pMVar22->header).bounding_box.BottomFrontLeft.y; pBVar39 = (BoundingBox *)&(pBVar39->BottomFrontLeft).y; } this->mshmeta_ptr->min_x = (this->msh_02_data_ptr->header).bounding_box.BottomFrontLeft.x; this->mshmeta_ptr->min_y = (this->msh_02_data_ptr->header).bounding_box.BottomFrontLeft.y; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,1); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } puVar9 = (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,0); this->_1_data_ptr = puVar9; this->mshmeta_ptr->_1_element_count = pnVar19[iVar28].element_count_or_version; this->mshmeta_ptr->_1_magic1 = pnVar19[iVar28].magic1; pMVar23 = this->mshmeta_ptr; pMVar23->_1_element_count_magic1 = pMVar23->_1_element_count / pMVar23->_1_magic1; pMVar22 = this->msh_02_data_ptr; pVVar33 = &pMVar22->elements[0].local_minimum; pVVar20 = Vector3::ctor(&VStack_148,pVVar33->x,pMVar22->elements[0].local_minimum.y, pMVar22->elements[0].local_minimum.z); fVar34 = pVVar20->x; fVar4 = pVVar20->y; Vector3::ctor(&VStack_13c,pMVar22->elements[0].local_maximum.x, pMVar22->elements[0].local_minimum.y,pMVar22->elements[0].local_minimum.z); Vector3::ctor(&VStack_154,pMVar22->elements[0].local_maximum.x, pMVar22->elements[0].local_maximum.y,pMVar22->elements[0].local_minimum.z); pVVar20 = Vector3::ctor(&VStack_16c,pMVar22->elements[0].local_maximum.x, pMVar22->elements[0].local_maximum.y,pMVar22->elements[0].local_maximum.z) ; fVar5 = pVVar20->x; fVar6 = pVVar20->y; Vector3::ctor((Vector3 *)&fStack_1e0.TopFrontLeft.z,pVVar33->x, pMVar22->elements[0].local_maximum.y,pMVar22->elements[0].local_maximum.z); Vector3::ctor(&VStack_160,pVVar33->x,pMVar22->elements[0].local_minimum.y, pMVar22->elements[0].local_maximum.z); Vector3::ctor((Vector3 *)&fStack_1e0.TopBackLeft.z,pVVar33->x,pMVar22->elements[0].local_maximum.y ,pMVar22->elements[0].local_minimum.z); Vector3::ctor(&VStack_178,pMVar22->elements[0].local_maximum.x, pMVar22->elements[0].local_minimum.y,pMVar22->elements[0].local_maximum.z); this->mshmeta_ptr->width = fVar5 - fVar34; this->mshmeta_ptr->height = fVar6 - fVar4; this->mshmeta_ptr->inv_width = FLOAT_1006516c / this->mshmeta_ptr->width; this->mshmeta_ptr->inv_height = FLOAT_1006516c / this->mshmeta_ptr->height; iVar28 = (*(*this->INResFile)->find_index_of_type)(this->INResFile,0xb); if (iVar28 == -1) { /* WARNING: Subroutine does not return */ print_error_and_die(s_TERRAIN_DLL_1006b3f4,s_CLandscape__CLandscape___1006bf60, s_Unable_to_open_file_1006be94); } puVar9 = (*(*this->INResFile)->get_item_data_ptr_by_index)(this->INResFile,iVar28,1); this->_b_data_ptr = puVar9; operator_delete((void *)fStack_1e0.TopBackLeft.y); operator_delete((void *)fStack_1e0.TopBackLeft.x); operator_delete(mem); operator_delete(mem_00); (this->m_CollisionContext).extraArg = (void **)0xbf800000; uVar29 = 0; if (this->_5_element_count != 0) { pMVar21 = this->_5_data_ptr; do { if ((pMVar21->flags & 0x20000) != 0) { (this->m_CollisionContext).extraArg = *(void ***) ((int)&this->_3_vertices_data_ptr->z + (uint)pMVar21->vertex1_idx * this->_3_vertices_stride); break; } uVar29 = uVar29 + 1; pMVar21 = pMVar21 + 1; } while (uVar29 < this->_5_element_count); } pfVar35 = &g_bounding_box; pBVar39 = pBVar2; for (iVar28 = 0x18; iVar28 != 0; iVar28 = iVar28 + -1) { (pBVar39->BottomFrontLeft).x = (pfVar35->BottomFrontLeft).x; pfVar35 = (BoundingBox *)&(pfVar35->BottomFrontLeft).y; pBVar39 = (BoundingBox *)&(pBVar39->BottomFrontLeft).y; } uStack_1ec = 0; if (this->_5_element_count != 0) { iStack_1e4 = 0; do { puVar20 = (MSH_15_element *)((int)&this->_5_data_ptr->flags + iStack_1e4); if ((puVar20->flags & 0x20000) != 0) { iVar28 = this->_3_vertices_stride; pfVar29 = (Vector3 *) ((int)&this->_3_vertices_data_ptr->x + (uint)puVar20->vertex1_idx * iVar28); pfVar34 = (Vector3 *) ((int)&this->_3_vertices_data_ptr->x + (uint)puVar20->vertex2_idx * iVar28); pfVar40 = (Vector3 *) ((int)&this->_3_vertices_data_ptr->x + (uint)puVar20->vertex3_idx * iVar28); fStack_1e0.BottomFrontLeft.x = (pBVar2->BottomFrontLeft).x; fStack_1e0.BottomFrontLeft.y = (this->bounding_box).BottomFrontLeft.y; fStack_1e0.BottomFrontLeft.z = (this->bounding_box).BottomFrontLeft.z; fStack_1e0.BottomBackRight.x = (this->bounding_box).TopFrontLeft.x; fStack_1e0.BottomBackRight.y = (this->bounding_box).TopFrontLeft.y; fStack_1e0.BottomBackRight.z = (this->bounding_box).TopFrontLeft.z; if (pfVar29->x < fStack_1e0.BottomFrontLeft.x) { fStack_1e0.BottomFrontLeft.x = pfVar29->x; } if (pfVar29->y < fStack_1e0.BottomFrontLeft.y) { fStack_1e0.BottomFrontLeft.y = pfVar29->y; } if (pfVar29->z < fStack_1e0.BottomFrontLeft.z) { fStack_1e0.BottomFrontLeft.z = pfVar29->z; } if (fStack_1e0.BottomBackRight.x < pfVar29->x) { fStack_1e0.BottomBackRight.x = pfVar29->x; } if (fStack_1e0.BottomBackRight.y < pfVar29->y) { fStack_1e0.BottomBackRight.y = pfVar29->y; } if (fStack_1e0.BottomBackRight.z < pfVar29->z) { fStack_1e0.BottomBackRight.z = pfVar29->z; } fStack_10c.x = fStack_1e0.BottomBackRight.x; fStack_10c.y = fStack_1e0.BottomBackRight.y; fStack_10c.z = fStack_1e0.BottomFrontLeft.z; (pBVar2->BottomFrontLeft).x = fStack_1e0.BottomFrontLeft.x; (this->bounding_box).BottomFrontLeft.y = fStack_1e0.BottomFrontLeft.y; (this->bounding_box).BottomFrontLeft.z = fStack_1e0.BottomFrontLeft.z; (this->bounding_box).BottomFrontRight.x = fStack_1e0.BottomBackRight.x; (this->bounding_box).BottomFrontRight.y = fStack_1e0.BottomFrontLeft.y; (this->bounding_box).BottomFrontRight.z = fStack_1e0.BottomFrontLeft.z; (this->bounding_box).BottomBackRight.x = fStack_1e0.BottomBackRight.x; (this->bounding_box).BottomBackRight.y = fStack_1e0.BottomBackRight.y; fStack_124 = fStack_1e0.BottomFrontLeft.x; (this->bounding_box).BottomBackRight.z = fStack_1e0.BottomFrontLeft.z; (this->bounding_box).TopFrontLeft.x = fStack_1e0.BottomBackRight.x; fStack_120 = fStack_1e0.BottomBackRight.y; (this->bounding_box).TopFrontLeft.y = fStack_1e0.BottomBackRight.y; (this->bounding_box).TopFrontLeft.z = fStack_1e0.BottomBackRight.z; (this->bounding_box).TopBackRight.x = fStack_1e0.BottomFrontLeft.x; fStack_11c = fStack_1e0.BottomBackRight.z; (this->bounding_box).TopBackRight.y = fStack_1e0.BottomBackRight.y; (this->bounding_box).TopBackRight.z = fStack_1e0.BottomBackRight.z; fStack_118 = fStack_1e0.BottomFrontLeft.x; fStack_114 = fStack_1e0.BottomFrontLeft.y; (this->bounding_box).TopFrontRight.x = fStack_1e0.BottomFrontLeft.x; fStack_110 = fStack_1e0.BottomBackRight.z; (this->bounding_box).TopFrontRight.y = fStack_1e0.BottomFrontLeft.y; (this->bounding_box).TopFrontRight.z = fStack_1e0.BottomBackRight.z; pVVar20 = Vector3::ctor((Vector3 *)&exception2,fStack_1e0.BottomFrontLeft.x, fStack_1e0.BottomBackRight.y,fStack_1e0.BottomFrontLeft.z); (this->bounding_box).BottomBackLeft.x = pVVar20->x; (this->bounding_box).BottomBackLeft.y = pVVar20->y; (this->bounding_box).BottomBackLeft.z = pVVar20->z; pVVar20 = Vector3::ctor(&VStack_78,fStack_1e0.BottomBackRight.x,fStack_1e0.BottomFrontLeft.y ,fStack_1e0.BottomBackRight.z); (this->bounding_box).TopBackLeft.x = pVVar20->x; (this->bounding_box).TopBackLeft.y = pVVar20->y; (this->bounding_box).TopBackLeft.z = pVVar20->z; fStack_1e0.BottomFrontRight.x = (pBVar2->BottomFrontLeft).x; fStack_1e0.BottomFrontRight.y = (this->bounding_box).BottomFrontLeft.y; fStack_1e0.BottomFrontRight.z = (this->bounding_box).BottomFrontLeft.z; pVVar20 = &(this->bounding_box).TopFrontLeft; fStack_1e0.BottomBackLeft.x = pVVar20->x; fStack_1e0.BottomBackLeft.y = (this->bounding_box).TopFrontLeft.y; fStack_1e0.BottomBackLeft.z = (this->bounding_box).TopFrontLeft.z; if (pfVar34->x < fStack_1e0.BottomFrontRight.x) { fStack_1e0.BottomFrontRight.x = pfVar34->x; } if (pfVar34->y < fStack_1e0.BottomFrontRight.y) { fStack_1e0.BottomFrontRight.y = pfVar34->y; } if (pfVar34->z < fStack_1e0.BottomFrontRight.z) { fStack_1e0.BottomFrontRight.z = pfVar34->z; } if (fStack_1e0.BottomBackLeft.x < pfVar34->x) { fStack_1e0.BottomBackLeft.x = pfVar34->x; } if (fStack_1e0.BottomBackLeft.y < pfVar34->y) { fStack_1e0.BottomBackLeft.y = pfVar34->y; } if (fStack_1e0.BottomBackLeft.z < pfVar34->z) { fStack_1e0.BottomBackLeft.z = pfVar34->z; } fVar34 = fStack_1e0.BottomBackLeft.z; fStack_130 = fStack_1e0.BottomFrontRight.x; fStack_12c = fStack_1e0.BottomFrontRight.y; fStack_128 = fStack_1e0.BottomFrontRight.z; VStack_178.x = fStack_1e0.BottomBackLeft.x; VStack_178.y = fStack_1e0.BottomFrontRight.y; VStack_178.z = fStack_1e0.BottomFrontRight.z; fStack_1e0.TopBackLeft.z = fStack_1e0.BottomBackLeft.x; (pBVar2->BottomFrontLeft).x = fStack_1e0.BottomFrontRight.x; fStack_1e0.TopFrontLeft.x = fStack_1e0.BottomBackLeft.y; (this->bounding_box).BottomFrontLeft.y = fStack_1e0.BottomFrontRight.y; fStack_1e0.TopFrontLeft.y = fStack_1e0.BottomFrontRight.z; (this->bounding_box).BottomFrontLeft.z = fStack_1e0.BottomFrontRight.z; VStack_160.x = fStack_1e0.BottomBackLeft.x; (this->bounding_box).BottomFrontRight.x = fStack_1e0.BottomBackLeft.x; VStack_160.y = fStack_1e0.BottomBackLeft.y; (this->bounding_box).BottomFrontRight.y = fStack_1e0.BottomFrontRight.y; (this->bounding_box).BottomFrontRight.z = fStack_1e0.BottomFrontRight.z; VStack_160.z = fStack_1e0.BottomBackLeft.z; (this->bounding_box).BottomBackRight.x = fStack_1e0.BottomBackLeft.x; fStack_1e0.TopFrontLeft.z = fStack_1e0.BottomFrontRight.x; (this->bounding_box).BottomBackRight.y = fStack_1e0.BottomBackLeft.y; (this->bounding_box).BottomBackRight.z = fStack_1e0.BottomFrontRight.z; pVVar20->x = fStack_1e0.BottomBackLeft.x; (this->bounding_box).TopFrontLeft.y = fStack_1e0.BottomBackLeft.y; (this->bounding_box).TopFrontLeft.z = fStack_1e0.BottomBackLeft.z; (this->bounding_box).TopBackRight.x = fStack_1e0.BottomFrontRight.x; (this->bounding_box).TopBackRight.y = fStack_1e0.BottomBackLeft.y; (this->bounding_box).TopBackRight.z = fStack_1e0.BottomBackLeft.z; pVVar20 = Vector3::ctor(&VStack_3c,fStack_1e0.BottomFrontRight.x, fStack_1e0.BottomFrontRight.y,fStack_1e0.BottomBackLeft.z); (this->bounding_box).TopFrontRight.x = pVVar20->x; (this->bounding_box).TopFrontRight.y = pVVar20->y; (this->bounding_box).TopFrontRight.z = pVVar20->z; pVVar20 = Vector3::ctor(&VStack_54,fStack_1e0.BottomFrontRight.x,fStack_1e0.BottomBackLeft.y ,fStack_1e0.BottomFrontRight.z); (this->bounding_box).BottomBackLeft.x = pVVar20->x; (this->bounding_box).BottomBackLeft.y = pVVar20->y; (this->bounding_box).BottomBackLeft.z = pVVar20->z; pVVar20 = Vector3::ctor(&VStack_24,fStack_1e0.BottomBackLeft.x,fStack_1e0.BottomFrontRight.y ,fVar34); (this->bounding_box).TopBackLeft.x = pVVar20->x; (this->bounding_box).TopBackLeft.y = pVVar20->y; (this->bounding_box).TopBackLeft.z = pVVar20->z; fStack_1e0.TopBackRight.x = (pBVar2->BottomFrontLeft).x; fStack_1e0.TopBackRight.y = (this->bounding_box).BottomFrontLeft.y; fStack_1e0.TopBackRight.z = (this->bounding_box).BottomFrontLeft.z; pVVar20 = &(this->bounding_box).TopFrontLeft; fStack_1e0.TopFrontRight.x = pVVar20->x; fStack_1e0.TopFrontRight.y = (this->bounding_box).TopFrontLeft.y; fVar34 = (this->bounding_box).TopFrontLeft.z; if (pfVar40->x < fStack_1e0.TopBackRight.x) { fStack_1e0.TopBackRight.x = pfVar40->x; } fVar4 = fStack_1e0.TopBackRight.x; if (pfVar40->y < fStack_1e0.TopBackRight.y) { fStack_1e0.TopBackRight.y = pfVar40->y; } if (pfVar40->z < fStack_1e0.TopBackRight.z) { fStack_1e0.TopBackRight.z = pfVar40->z; } if (fStack_1e0.TopFrontRight.x < pfVar40->x) { fStack_1e0.TopFrontRight.x = pfVar40->x; } if (fStack_1e0.TopFrontRight.y < pfVar40->y) { fStack_1e0.TopFrontRight.y = pfVar40->y; } if (fVar34 < pfVar40->z) { fVar34 = pfVar40->z; } VStack_16c.x = fStack_1e0.TopBackRight.x; VStack_16c.y = fStack_1e0.TopBackRight.y; VStack_16c.z = fStack_1e0.TopBackRight.z; VStack_154.x = fStack_1e0.TopFrontRight.x; VStack_154.y = fStack_1e0.TopBackRight.y; VStack_154.z = fStack_1e0.TopBackRight.z; (pBVar2->BottomFrontLeft).x = fStack_1e0.TopBackRight.x; VStack_13c.x = fStack_1e0.TopFrontRight.x; (this->bounding_box).BottomFrontLeft.y = fStack_1e0.TopBackRight.y; VStack_13c.y = fStack_1e0.TopFrontRight.y; (this->bounding_box).BottomFrontLeft.z = fStack_1e0.TopBackRight.z; VStack_13c.z = fStack_1e0.TopBackRight.z; (this->bounding_box).BottomFrontRight.x = fStack_1e0.TopFrontRight.x; VStack_148.x = fStack_1e0.TopFrontRight.x; (this->bounding_box).BottomFrontRight.y = fStack_1e0.TopBackRight.y; (this->bounding_box).BottomFrontRight.z = fStack_1e0.TopBackRight.z; VStack_148.y = fStack_1e0.TopFrontRight.y; (this->bounding_box).BottomBackRight.x = fStack_1e0.TopFrontRight.x; (this->bounding_box).BottomBackRight.y = fStack_1e0.TopFrontRight.y; (this->bounding_box).BottomBackRight.z = fStack_1e0.TopBackRight.z; pVVar20->x = fStack_1e0.TopFrontRight.x; (this->bounding_box).TopFrontLeft.y = fStack_1e0.TopFrontRight.y; (this->bounding_box).TopFrontLeft.z = fVar34; fStack_1e0.TopFrontRight.z = fVar34; VStack_148.z = fVar34; pVVar20 = Vector3::ctor(&VStack_6c,fStack_1e0.TopBackRight.x,fStack_1e0.TopFrontRight.y, fVar34); (this->bounding_box).TopBackRight.x = pVVar20->x; (this->bounding_box).TopBackRight.y = pVVar20->y; (this->bounding_box).TopBackRight.z = pVVar20->z; pVVar20 = Vector3::ctor(&VStack_60,fVar4,fStack_1e0.TopBackRight.y,fVar34); (this->bounding_box).TopFrontRight.x = pVVar20->x; (this->bounding_box).TopFrontRight.y = pVVar20->y; (this->bounding_box).TopFrontRight.z = pVVar20->z; pVVar20 = Vector3::ctor(&VStack_48,fVar4,fStack_1e0.TopFrontRight.y, fStack_1e0.TopBackRight.z); (this->bounding_box).BottomBackLeft.x = pVVar20->x; (this->bounding_box).BottomBackLeft.y = pVVar20->y; (this->bounding_box).BottomBackLeft.z = pVVar20->z; pVVar20 = Vector3::ctor(&VStack_30,fStack_1e0.TopFrontRight.x,fStack_1e0.TopBackRight.y, fVar34); (this->bounding_box).TopBackLeft.x = pVVar20->x; (this->bounding_box).TopBackLeft.y = pVVar20->y; (this->bounding_box).TopBackLeft.z = pVVar20->z; } uStack_1ec = uStack_1ec + 1; iStack_1e4 = iStack_1e4 + 0x1c; } while (uStack_1ec < this->_5_element_count); } iVar28 = this->mshmeta_ptr->_1_element_count; piVar24 = (int *)operator_new(iVar28 * 0xc + 4); exception.Offset = CONCAT31(exception.Offset._1_3_,7); if (piVar24 == (int *)0x0) { piVar25 = (int *)0x0; } else { piVar25 = piVar24 + 1; *piVar24 = iVar28; vector_constructor_iterator(piVar25,0xc,iVar28,KindaArray::ctor_capacity5_elemsize8); } this->field9815_0x7b64 = piVar25; exception.Offset = CONCAT31(exception.Offset._1_3_,6); iVar28 = this->mshmeta_ptr->_1_element_count; piVar24 = (int *)operator_new(iVar28 * 0xc + 4); exception.Offset = CONCAT31(exception.Offset._1_3_,8); if (piVar24 == (int *)0x0) { piVar25 = (int *)0x0; } else { piVar25 = piVar24 + 1; *piVar24 = iVar28; vector_constructor_iterator(piVar25,0xc,iVar28,KindaArray::ctor_capacity100_elemsize4); } this->field9818_0x7b70 = piVar25; exception.Offset = CONCAT31(exception.Offset._1_3_,6); iVar28 = this->mshmeta_ptr->_1_element_count; piVar24 = (int *)operator_new(iVar28 * 0xc + 4); exception.Offset = CONCAT31(exception.Offset._1_3_,9); if (piVar24 == (int *)0x0) { piVar25 = (int *)0x0; } else { piVar25 = piVar24 + 1; *piVar24 = iVar28; vector_constructor_iterator(piVar25,0xc,iVar28,KindaArray::ctor_capacity5_elemsize4); } this->field9816_0x7b68 = piVar25; this->field62_0x194 = &this->field9784_0x7b3c; this->field95_0x1c4 = this->wear_ptr; this->field63_0x198 = &this->field9793_0x7b48; this->field22_0x160 = &this->field_0x7c54; this->field23_0x164 = &this->field_0x7c5c; this->field64_0x19c = &this->field_0x7b54; this->field96_0x1c8 = &this->field_0x7c6c; this->field24_0x168 = &this->field_0x7c64; this->field97_0x1cc = &this->field9885_0x7c74; this->field65_0x1a0 = -1; this->field70_0x1a8 = 0; this->field98_0x1d0 = &this->field9890_0x7c7c; this->field29_0x170 = &this->field_0x7c48; this->field101_0x1dc = -1; this->field103_0x1e4 = -1; this->field107_0x1f4 = 0; this->field104_0x1e8 = 0; this->field105_0x1ec = -2; this->field106_0x1f0 = 0; this->field108_0x1f8 = 0; this->field109_0x1fc = 0; this->field110_0x200 = 0; this->field111_0x204 = 0; uVar29 = this->_5_element_count; exception.Offset = CONCAT31(exception.Offset._1_3_,6); if ((this->array_0x278).data == (undefined4 *)0x0) { puVar9 = (undefined4 *)operator_new(8000); (this->array_0x278).data = puVar9; } iVar28 = uVar29 + (this->array_0x278).count; if ((this->array_0x278).capacity < iVar28) { puVar26 = (undefined4 *)operator_new(iVar28 * 8 + 800); puVar9 = (this->array_0x278).data; puVar40 = puVar26; for (uVar30 = (uint)((this->array_0x278).capacity << 3) >> 2; uVar30 != 0; uVar30 = uVar30 - 1) { *puVar40 = *puVar9; puVar9 = puVar9 + 1; puVar40 = puVar40 + 1; } for (iVar28 = 0; iVar28 != 0; iVar28 = iVar28 + -1) { *(undefined1 *)puVar40 = *(undefined1 *)puVar9; puVar9 = (undefined4 *)((int)puVar9 + 1); puVar40 = (undefined4 *)((int)puVar40 + 1); } operator_delete((this->array_0x278).data); iVar28 = (this->array_0x278).count + uVar29; (this->array_0x278).data = puVar26; (this->array_0x278).capacity = iVar28 + 100; } (this->array_0x278).count = iVar28; uVar29 = 0; if (this->_5_element_count != 0) { iVar28 = 0; do { iVar31 = (int)&this->_5_data_ptr->flags + iVar28; iVar28 = iVar28 + 0x1c; (this->array_0x278).data[uVar29 * 2] = iVar31; *(undefined1 *)((this->array_0x278).data + uVar29 * 2 + 1) = 0; uVar29 = uVar29 + 1; } while (uVar29 < this->_5_element_count); } pbVar41 = this->unk_obj_array_elemsize_212[99] + 0x60; for (iVar28 = 0x19; iVar28 != 0; iVar28 = iVar28 + -1) { pbVar41[0] = 0; pbVar41[1] = 0; pbVar41[2] = 0; pbVar41[3] = 0; pbVar41 = pbVar41 + 4; } this->field9896_0x7c90 = (undefined4 *)0x0; pCVar27 = GetShade(); this->Shade = pCVar27; this->field9833_0x7c20 = 0; this->flags_of_mesh_part = 0x10; this->_CheckMaxBasementAngleStep = 2; ExceptionList = exception.ExceptionList; return this; } --- // Assembly: 1000eba0 PUSH -0x1 1000eba2 PUSH 0x1006320e 1000eba7 MOV EAX,FS:[0x0] 1000ebad PUSH EAX 1000ebae MOV dword ptr FS:[0x0],ESP 1000ebb5 SUB ESP,0x1e0 1000ebbb MOV EAX,dword ptr [ESP + 0x1fc] 1000ebc2 PUSH EBX 1000ebc3 PUSH EBP 1000ebc4 PUSH ESI 1000ebc5 PUSH EDI 1000ebc6 MOV EDI,dword ptr [ESP + 0x208] 1000ebcd MOV EBP,ECX 1000ebcf PUSH EAX 1000ebd0 PUSH EDI 1000ebd1 MOV dword ptr [ESP + 0x128],EBP 1000ebd8 LEA ECX,[EBP + 0x4] 1000ebdb MOV dword ptr [EBP],0x100655d0 1000ebe2 CALL 0x100565d0 1000ebe7 MOV dword ptr [EBP + 0x134],0x100655a0 1000ebf1 MOV dword ptr [EBP + 0x138],0x10065560 1000ebfb MOV dword ptr [EBP + 0x13c],0x1006552c 1000ec05 XOR ESI,ESI 1000ec07 MOV dword ptr [EBP + 0x140],0x100654d8 1000ec11 MOV EBX,0xfffffffe 1000ec16 MOV dword ptr [EBP + 0x144],0x100654c8 1000ec20 MOV dword ptr [ESP + 0x1f8],ESI 1000ec27 MOV dword ptr [EBP + 0x1e8],ESI 1000ec2d MOV dword ptr [EBP + 0x1ec],EBX 1000ec33 LEA EAX,[EBP + 0x214] 1000ec39 MOV ECX,0x3 1000ec3e OR EDX,0xffffffff 1000ec41 MOV dword ptr [EAX],ESI 1000ec43 MOV dword ptr [EAX + 0x4],EBX 1000ec46 MOV dword ptr [EAX + 0x8],EDX 1000ec49 MOV dword ptr [EAX + 0xc],EDX 1000ec4c MOV dword ptr [EAX + 0x10],EDX 1000ec4f ADD EAX,0x14 1000ec52 DEC ECX 1000ec53 JNZ 0x1000ec41 1000ec55 PUSH 0x1f40 1000ec5a CALL 0x100597e7 1000ec5f ADD ESP,0x4 1000ec62 MOV dword ptr [EBP + 0x278],EAX 1000ec68 MOV dword ptr [EBP + 0x280],0x3e8 1000ec72 MOV dword ptr [EBP + 0x27c],ESI 1000ec78 MOV EBX,0x64 1000ec7d MOV byte ptr [ESP + 0x1f8],0x1 1000ec85 LEA ESI,[EBP + 0x2fc] 1000ec8b MOV dword ptr [ESP + 0x10],EBX 1000ec8f PUSH 0x1000da50 1000ec94 PUSH 0x8 1000ec96 PUSH 0xc 1000ec98 PUSH ESI 1000ec99 CALL 0x10001330 1000ec9e MOV EAX,dword ptr [ESP + 0x10] 1000eca2 ADD ESI,0xd4 1000eca8 DEC EAX 1000eca9 MOV dword ptr [ESP + 0x10],EAX 1000ecad JNZ 0x1000ec8f 1000ecaf PUSH 0x190 1000ecb4 CALL 0x100597e7 1000ecb9 XOR ESI,ESI 1000ecbb MOV dword ptr [EBP + 0x7b74],EAX 1000ecc1 MOV dword ptr [EBP + 0x7b7c],EBX 1000ecc7 MOV dword ptr [EBP + 0x7b78],ESI 1000eccd PUSH 0xfa0 1000ecd2 MOV byte ptr [ESP + 0x200],0x2 1000ecda CALL 0x100597e7 1000ecdf MOV dword ptr [EBP + 0x7c00],EAX 1000ece5 MOV dword ptr [EBP + 0x7c08],0x3e8 1000ecef MOV dword ptr [EBP + 0x7c04],ESI 1000ecf5 PUSH 0x190 1000ecfa MOV byte ptr [ESP + 0x204],0x3 1000ed02 CALL 0x100597e7 1000ed07 MOV dword ptr [EBP + 0x7c0c],EAX 1000ed0d MOV dword ptr [EBP + 0x7c14],EBX 1000ed13 MOV dword ptr [EBP + 0x7c10],ESI 1000ed19 PUSH 0x190 1000ed1e MOV byte ptr [ESP + 0x208],0x4 1000ed26 CALL 0x100597e7 1000ed2b MOV dword ptr [EBP + 0x7c2c],EAX 1000ed31 MOV dword ptr [EBP + 0x7c34],EBX 1000ed37 MOV dword ptr [EBP + 0x7c30],ESI 1000ed3d PUSH 0xa0 1000ed42 MOV byte ptr [ESP + 0x20c],0x5 1000ed4a CALL 0x100597e7 1000ed4f MOV dword ptr [EBP + 0x7c84],EAX 1000ed55 MOV dword ptr [EBP + 0x7c8c],0x28 1000ed5f MOV dword ptr [EBP + 0x7c88],ESI 1000ed65 MOV dword ptr [EBP + 0x7c98],0x1 1000ed6f MOV dword ptr [EBP + 0x7c9c],ESI 1000ed75 MOV dword ptr [EBP + 0x7ca0],ESI 1000ed7b MOV dword ptr [EBP + 0x7ca4],ESI 1000ed81 MOV dword ptr [EBP + 0x7ca8],ESI 1000ed87 MOV dword ptr [EBP + 0x7cac],ESI 1000ed8d MOV dword ptr [EBP + 0x7cb8],ESI 1000ed93 MOV dword ptr [EBP + 0x7cb4],ESI 1000ed99 MOV dword ptr [EBP + 0x7cb0],ESI 1000ed9f MOV dword ptr [EBP + 0x7cc4],ESI 1000eda5 MOV dword ptr [EBP + 0x7cc0],ESI 1000edab MOV dword ptr [EBP + 0x7cbc],ESI 1000edb1 MOV dword ptr [EBP + 0x7cc8],0xbf800000 1000edbb MOV dword ptr [EBP + 0x7ccc],ESI 1000edc1 MOV dword ptr [EBP + 0x7cd0],ESI 1000edc7 MOV dword ptr [EBP + 0x7cd4],ESI 1000edcd MOV dword ptr [EBP + 0x7cd8],ESI 1000edd3 MOV ESI,dword ptr [ESP + 0x218] 1000edda MOV dword ptr [EBP],0x100654c0 1000ede1 MOV dword ptr [EBP + 0x4],0x10065464 1000ede8 MOV dword ptr [EBP + 0x134],0x10065434 1000edf2 MOV dword ptr [EBP + 0x138],0x100653f4 1000edfc MOV dword ptr [EBP + 0x13c],0x100653c0 1000ee06 MOV dword ptr [EBP + 0x140],0x1006536c 1000ee10 MOV dword ptr [EBP + 0x144],0x1006535c 1000ee1a MOV dword ptr [EBP + 0x274],EDI 1000ee20 MOV EDI,ESI 1000ee22 OR ECX,0xffffffff 1000ee25 XOR EAX,EAX 1000ee27 MOV byte ptr [ESP + 0x20c],0x6 1000ee2f SCASB.REPNE ES:EDI 1000ee31 NOT ECX 1000ee33 ADD ECX,0x4 1000ee36 LEA EBX,[EBP + 0x7ce0] 1000ee3c PUSH ECX 1000ee3d CALL 0x100597e7 1000ee42 MOV dword ptr [ESP + 0x80],EAX 1000ee49 MOV EDI,ESI 1000ee4b OR ECX,0xffffffff 1000ee4e XOR EAX,EAX 1000ee50 SCASB.REPNE ES:EDI 1000ee52 NOT ECX 1000ee54 ADD ECX,0x5 1000ee57 PUSH ECX 1000ee58 CALL 0x100597e7 1000ee5d MOV dword ptr [ESP + 0x80],EAX 1000ee64 MOV EDI,ESI 1000ee66 OR ECX,0xffffffff 1000ee69 XOR EAX,EAX 1000ee6b SCASB.REPNE ES:EDI 1000ee6d NOT ECX 1000ee6f ADD ECX,0x5 1000ee72 PUSH ECX 1000ee73 CALL 0x100597e7 1000ee78 MOV dword ptr [ESP + 0x38],EAX 1000ee7c MOV EDI,ESI 1000ee7e OR ECX,0xffffffff 1000ee81 XOR EAX,EAX 1000ee83 SCASB.REPNE ES:EDI 1000ee85 NOT ECX 1000ee87 ADD ECX,0x4 1000ee8a PUSH ECX 1000ee8b CALL 0x100597e7 1000ee90 MOV dword ptr [ESP + 0x34],EAX 1000ee94 OR ECX,0xffffffff 1000ee97 MOV EDI,ESI 1000ee99 XOR EAX,EAX 1000ee9b ADD ESP,0x24 1000ee9e MOV EDX,dword ptr [ESP + 0x68] 1000eea2 SCASB.REPNE ES:EDI 1000eea4 NOT ECX 1000eea6 SUB EDI,ECX 1000eea8 MOV EAX,ECX 1000eeaa MOV ESI,EDI 1000eeac SHR ECX,0x2 1000eeaf MOV EDI,EDX 1000eeb1 MOVSD.REP ES:EDI,ESI 1000eeb3 MOV ECX,EAX 1000eeb5 XOR EAX,EAX 1000eeb7 AND ECX,0x3 1000eeba MOVSB.REP ES:EDI,ESI 1000eebc MOV EDI,0x1006bfb4 1000eec1 OR ECX,0xffffffff 1000eec4 SCASB.REPNE ES:EDI 1000eec6 NOT ECX 1000eec8 SUB EDI,ECX 1000eeca MOV EAX,ECX 1000eecc MOV ESI,EDI 1000eece MOV EDI,EDX 1000eed0 MOV EDX,EAX 1000eed2 OR ECX,0xffffffff 1000eed5 XOR EAX,EAX 1000eed7 SCASB.REPNE ES:EDI 1000eed9 MOV ECX,EDX 1000eedb DEC EDI 1000eedc SHR ECX,0x2 1000eedf MOVSD.REP ES:EDI,ESI 1000eee1 MOV ECX,EDX 1000eee3 MOV EDX,dword ptr [ESP + 0x64] 1000eee7 AND ECX,0x3 1000eeea MOVSB.REP ES:EDI,ESI 1000eeec MOV EDI,dword ptr [ESP + 0x204] 1000eef3 OR ECX,0xffffffff 1000eef6 SCASB.REPNE ES:EDI 1000eef8 NOT ECX 1000eefa SUB EDI,ECX 1000eefc MOV EAX,ECX 1000eefe MOV ESI,EDI 1000ef00 MOV EDI,EDX 1000ef02 SHR ECX,0x2 1000ef05 MOVSD.REP ES:EDI,ESI 1000ef07 MOV ECX,EAX 1000ef09 XOR EAX,EAX 1000ef0b AND ECX,0x3 1000ef0e MOVSB.REP ES:EDI,ESI 1000ef10 MOV EDI,0x1006bfac 1000ef15 OR ECX,0xffffffff 1000ef18 SCASB.REPNE ES:EDI 1000ef1a NOT ECX 1000ef1c SUB EDI,ECX 1000ef1e MOV EAX,ECX 1000ef20 MOV ESI,EDI 1000ef22 OR ECX,0xffffffff 1000ef25 MOV dword ptr [ESP + 0x14],EAX 1000ef29 MOV EDI,EDX 1000ef2b XOR EAX,EAX 1000ef2d MOV EDX,dword ptr [ESP + 0x14] 1000ef31 SCASB.REPNE ES:EDI 1000ef33 MOV ECX,EDX 1000ef35 DEC EDI 1000ef36 SHR ECX,0x2 1000ef39 MOVSD.REP ES:EDI,ESI 1000ef3b MOV ECX,EDX 1000ef3d MOV EDX,dword ptr [ESP + 0x18] 1000ef41 AND ECX,0x3 1000ef44 MOVSB.REP ES:EDI,ESI 1000ef46 MOV EDI,dword ptr [ESP + 0x204] 1000ef4d OR ECX,0xffffffff 1000ef50 SCASB.REPNE ES:EDI 1000ef52 NOT ECX 1000ef54 SUB EDI,ECX 1000ef56 MOV EAX,ECX 1000ef58 MOV ESI,EDI 1000ef5a SHR ECX,0x2 1000ef5d MOV EDI,EDX 1000ef5f MOVSD.REP ES:EDI,ESI 1000ef61 MOV ECX,EAX 1000ef63 XOR EAX,EAX 1000ef65 AND ECX,0x3 1000ef68 MOVSB.REP ES:EDI,ESI 1000ef6a OR ECX,0xffffffff 1000ef6d MOV EDI,0x1006bfa4 1000ef72 SCASB.REPNE ES:EDI 1000ef74 NOT ECX 1000ef76 SUB EDI,ECX 1000ef78 MOV EAX,ECX 1000ef7a MOV ESI,EDI 1000ef7c OR ECX,0xffffffff 1000ef7f MOV EDI,EDX 1000ef81 MOV EDX,EAX 1000ef83 XOR EAX,EAX 1000ef85 SCASB.REPNE ES:EDI 1000ef87 MOV ECX,EDX 1000ef89 DEC EDI 1000ef8a SHR ECX,0x2 1000ef8d MOVSD.REP ES:EDI,ESI 1000ef8f MOV ECX,EDX 1000ef91 MOV EDX,dword ptr [ESP + 0x10] 1000ef95 AND ECX,0x3 1000ef98 MOVSB.REP ES:EDI,ESI 1000ef9a MOV EDI,dword ptr [ESP + 0x204] 1000efa1 OR ECX,0xffffffff 1000efa4 SCASB.REPNE ES:EDI 1000efa6 NOT ECX 1000efa8 SUB EDI,ECX 1000efaa MOV EAX,ECX 1000efac MOV ESI,EDI 1000efae MOV EDI,EDX 1000efb0 SHR ECX,0x2 1000efb3 MOVSD.REP ES:EDI,ESI 1000efb5 MOV ECX,EAX 1000efb7 XOR EAX,EAX 1000efb9 AND ECX,0x3 1000efbc MOVSB.REP ES:EDI,ESI 1000efbe MOV EDI,0x1006bf9c 1000efc3 OR ECX,0xffffffff 1000efc6 SCASB.REPNE ES:EDI 1000efc8 NOT ECX 1000efca SUB EDI,ECX 1000efcc MOV EAX,ECX 1000efce MOV ESI,EDI 1000efd0 MOV EDI,EDX 1000efd2 MOV EDX,EAX 1000efd4 OR ECX,0xffffffff 1000efd7 XOR EAX,EAX 1000efd9 SCASB.REPNE ES:EDI 1000efdb MOV ECX,EDX 1000efdd DEC EDI 1000efde SHR ECX,0x2 1000efe1 MOVSD.REP ES:EDI,ESI 1000efe3 MOV ECX,EDX 1000efe5 AND ECX,0x3 1000efe8 MOVSB.REP ES:EDI,ESI 1000efea CALL 0x10056568 1000efef MOV dword ptr [EBP + 0x7c1c],EAX 1000eff5 TEST EAX,EAX 1000eff7 JNZ 0x1000f00d 1000eff9 PUSH 0x1006bf7c 1000effe MOV EDX,0x1006bf60 1000f003 MOV ECX,0x1006b3f4 1000f008 CALL 0x10051b20 1000f00d CALL 0x10056562 1000f012 TEST EAX,EAX 1000f014 MOV dword ptr [EBP + 0x7bf8],EAX 1000f01a JNZ 0x1000f030 1000f01c PUSH 0x1006bf40 1000f021 MOV EDX,0x1006bf60 1000f026 MOV ECX,0x1006b3f4 1000f02b CALL 0x10051b20 1000f030 MOV ECX,dword ptr [EBP + 0x7bf8] 1000f036 MOV EAX,EBP 1000f038 NEG EAX 1000f03a MOV EDX,dword ptr [ECX] 1000f03c LEA ESI,[EBP + 0x4] 1000f03f SBB EAX,EAX 1000f041 AND EAX,ESI 1000f043 PUSH EAX 1000f044 PUSH 0x0 1000f046 PUSH 0x0 1000f048 PUSH ECX 1000f049 CALL dword ptr [EDX + 0x10] 1000f04c MOV dword ptr [EBP + 0x7bf4],EAX 1000f052 MOV EAX,dword ptr [EBP + 0x7c1c] 1000f058 TEST EAX,EAX 1000f05a JZ 0x1000f08f 1000f05c MOV EAX,EBP 1000f05e MOV EDI,dword ptr [ESP + 0x200] 1000f065 NEG EAX 1000f067 SBB EAX,EAX 1000f069 AND EAX,ESI 1000f06b PUSH EAX 1000f06c MOV EAX,dword ptr [ESP + 0x68] 1000f070 PUSH EAX 1000f071 PUSH EDI 1000f072 CALL 0x1005658c 1000f077 MOV EDX,dword ptr [ESP + 0x18] 1000f07b MOV dword ptr [EBP + 0x7be0],EAX 1000f081 MOV ECX,dword ptr [EAX] 1000f083 PUSH EDX 1000f084 PUSH EDI 1000f085 PUSH EAX 1000f086 CALL dword ptr [ECX + 0x18] 1000f089 MOV dword ptr [EBP + 0x7be4],EAX 1000f08f MOV EAX,EBP 1000f091 NEG EAX 1000f093 SBB EAX,EAX 1000f095 AND EAX,ESI 1000f097 PUSH EAX 1000f098 PUSH 0x0 1000f09a PUSH 0x0 1000f09c CALL 0x1004d7d0 1000f0a1 MOV dword ptr [EBP + 0x7bfc],EAX 1000f0a7 MOV EAX,EBP 1000f0a9 NEG EAX 1000f0ab SBB EAX,EAX 1000f0ad AND EAX,ESI 1000f0af PUSH EAX 1000f0b0 CALL 0x10057a5c 1000f0b5 MOV EDI,dword ptr [EAX] 1000f0b7 LEA ECX,[EBP + 0x7bf0] 1000f0bd PUSH ECX 1000f0be MOV EDX,0x203 1000f0c3 MOV ECX,EAX 1000f0c5 CALL dword ptr [EDI] 1000f0c7 TEST EAX,EAX 1000f0c9 JNZ 0x1000f0df 1000f0cb PUSH 0x1006bf18 1000f0d0 MOV EDX,0x1006bf60 1000f0d5 MOV ECX,0x1006b3f4 1000f0da CALL 0x10051b20 1000f0df MOV EAX,EBP 1000f0e1 NEG EAX 1000f0e3 SBB EAX,EAX 1000f0e5 AND EAX,ESI 1000f0e7 PUSH EAX 1000f0e8 PUSH 0x0 1000f0ea PUSH 0x0 1000f0ec CALL 0x10057a56 1000f0f1 MOV EDI,dword ptr [EAX] 1000f0f3 LEA EDX,[EBP + 0x7be8] 1000f0f9 PUSH EDX 1000f0fa MOV EDX,0x13 1000f0ff MOV ECX,EAX 1000f101 CALL dword ptr [EDI] 1000f103 TEST EAX,EAX 1000f105 JNZ 0x1000f11b 1000f107 PUSH 0x1006beec 1000f10c MOV EDX,0x1006bf60 1000f111 MOV ECX,0x1006b3f4 1000f116 CALL 0x10051b20 1000f11b MOV EAX,EBP 1000f11d NEG EAX 1000f11f SBB EAX,EAX 1000f121 AND EAX,ESI 1000f123 PUSH EAX 1000f124 MOV EAX,dword ptr [ESP + 0x14] 1000f128 PUSH EAX 1000f129 PUSH 0x0 1000f12b CALL 0x10057a50 1000f130 MOV ESI,dword ptr [EAX] 1000f132 LEA ECX,[EBP + 0x7bec] 1000f138 PUSH ECX 1000f139 MOV EDX,0x302 1000f13e MOV ECX,EAX 1000f140 CALL dword ptr [ESI] 1000f142 TEST EAX,EAX 1000f144 JNZ 0x1000f15a 1000f146 PUSH 0x1006bec0 1000f14b MOV EDX,0x1006bf60 1000f150 MOV ECX,0x1006b3f4 1000f155 CALL 0x10051b20 1000f15a MOV EDX,dword ptr [ESP + 0x68] 1000f15e PUSH EDX 1000f15f CALL 0x1005655c 1000f164 TEST EAX,EAX 1000f166 MOV dword ptr [EBP + 0x7c28],EAX 1000f16c JNZ 0x1000f182 1000f16e PUSH 0x1006bea8 1000f173 MOV EDX,0x1006bf60 1000f178 MOV ECX,0x1006b3f4 1000f17d CALL 0x10051b20 1000f182 MOV EAX,dword ptr [EBP + 0x7c28] 1000f188 PUSH EAX 1000f189 MOV ECX,dword ptr [EAX] 1000f18b CALL dword ptr [ECX + 0x14] 1000f18e MOV dword ptr [ESP + 0x14],EAX 1000f192 MOV dword ptr [EBP + 0x284],0x1 1000f19c MOV EAX,dword ptr [EBP + 0x7c28] 1000f1a2 PUSH 0x3 1000f1a4 PUSH EAX 1000f1a5 MOV EDX,dword ptr [EAX] 1000f1a7 CALL dword ptr [EDX + 0x20] 1000f1aa MOV ESI,EAX 1000f1ac CMP ESI,-0x1 1000f1af JNZ 0x1000f1c5 1000f1b1 PUSH 0x1006be94 1000f1b6 MOV EDX,0x1006bf60 1000f1bb MOV ECX,0x1006b3f4 1000f1c0 CALL 0x10051b20 1000f1c5 MOV ECX,dword ptr [ESP + 0x14] 1000f1c9 MOV EAX,ESI 1000f1cb SHL EAX,0x6 1000f1ce PUSH 0x1 1000f1d0 PUSH ESI 1000f1d1 MOV EDX,dword ptr [EAX + ECX*0x1 + 0x4] 1000f1d5 MOV dword ptr [EBP + 0x288],EDX 1000f1db MOV EAX,dword ptr [EBP + 0x7c28] 1000f1e1 PUSH EAX 1000f1e2 MOV ECX,dword ptr [EAX] 1000f1e4 CALL dword ptr [ECX + 0x18] 1000f1e7 MOV dword ptr [EBP + 0x294],EAX 1000f1ed MOV dword ptr [EBP + 0x298],0xc 1000f1f7 MOV EAX,dword ptr [EBP + 0x7c28] 1000f1fd MOV EDI,0x4 1000f202 PUSH EDI 1000f203 PUSH EAX 1000f204 MOV EDX,dword ptr [EAX] 1000f206 CALL dword ptr [EDX + 0x20] 1000f209 MOV ESI,EAX 1000f20b CMP ESI,-0x1 1000f20e JNZ 0x1000f224 1000f210 PUSH 0x1006be94 1000f215 MOV EDX,0x1006bf60 1000f21a MOV ECX,0x1006b3f4 1000f21f CALL 0x10051b20 1000f224 MOV EAX,dword ptr [EBP + 0x7c28] 1000f22a PUSH 0x1 1000f22c PUSH ESI 1000f22d PUSH EAX 1000f22e MOV ECX,dword ptr [EAX] 1000f230 CALL dword ptr [ECX + 0x18] 1000f233 MOV dword ptr [EBP + 0x29c],EAX 1000f239 MOV dword ptr [EBP + 0x2a0],EDI 1000f23f MOV EAX,dword ptr [EBP + 0x7c28] 1000f245 PUSH 0x5 1000f247 PUSH EAX 1000f248 MOV EDX,dword ptr [EAX] 1000f24a CALL dword ptr [EDX + 0x20] 1000f24d MOV ESI,EAX 1000f24f CMP ESI,-0x1 1000f252 JNZ 0x1000f268 1000f254 PUSH 0x1006be94 1000f259 MOV EDX,0x1006bf60 1000f25e MOV ECX,0x1006b3f4 1000f263 CALL 0x10051b20 1000f268 MOV EAX,dword ptr [EBP + 0x7c28] 1000f26e PUSH 0x1 1000f270 PUSH ESI 1000f271 PUSH EAX 1000f272 MOV ECX,dword ptr [EAX] 1000f274 CALL dword ptr [ECX + 0x18] 1000f277 MOV dword ptr [EBP + 0x2b4],EAX 1000f27d MOV dword ptr [EBP + 0x2b8],EDI 1000f283 MOV dword ptr [EBP + 0x2bc],0x0 1000f28d MOV EAX,dword ptr [EBP + 0x7c28] 1000f293 PUSH 0x12 1000f295 PUSH EAX 1000f296 MOV EDX,dword ptr [EAX] 1000f298 CALL dword ptr [EDX + 0x20] 1000f29b MOV ESI,EAX 1000f29d CMP ESI,-0x1 1000f2a0 JNZ 0x1000f2b6 1000f2a2 PUSH 0x1006be68 1000f2a7 MOV EDX,0x1006bf60 1000f2ac MOV ECX,0x1006b3f4 1000f2b1 CALL 0x10051b20 1000f2b6 MOV EAX,dword ptr [EBP + 0x7c28] 1000f2bc PUSH 0x1 1000f2be PUSH ESI 1000f2bf PUSH EAX 1000f2c0 MOV ECX,dword ptr [EAX] 1000f2c2 CALL dword ptr [ECX + 0x18] 1000f2c5 MOV dword ptr [EBP + 0x2bc],EAX 1000f2cb MOV dword ptr [EBP + 0x2c0],EDI 1000f2d1 MOV EAX,dword ptr [EBP + 0x7c28] 1000f2d7 PUSH 0xe 1000f2d9 PUSH EAX 1000f2da MOV EDX,dword ptr [EAX] 1000f2dc CALL dword ptr [EDX + 0x20] 1000f2df CMP EAX,-0x1 1000f2e2 JNZ 0x1000f2ee 1000f2e4 XOR EAX,EAX 1000f2e6 MOV dword ptr [EBP + 0x2ec],EAX 1000f2ec JMP 0x1000f30b 1000f2ee MOV ECX,dword ptr [EBP + 0x7c28] 1000f2f4 PUSH 0x1 1000f2f6 PUSH EAX 1000f2f7 PUSH ECX 1000f2f8 MOV EDX,dword ptr [ECX] 1000f2fa CALL dword ptr [EDX + 0x18] 1000f2fd MOV dword ptr [EBP + 0x2ec],EAX 1000f303 MOV dword ptr [EBP + 0x2f0],EDI 1000f309 XOR EAX,EAX 1000f30b MOV dword ptr [EBP + 0x2a4],EAX 1000f311 MOV dword ptr [EBP + 0x2ac],EAX 1000f317 MOV EAX,dword ptr [EBP + 0x7c28] 1000f31d PUSH 0x15 1000f31f PUSH EAX 1000f320 MOV ECX,dword ptr [EAX] 1000f322 CALL dword ptr [ECX + 0x20] 1000f325 MOV ESI,EAX 1000f327 CMP ESI,-0x1 1000f32a JNZ 0x1000f340 1000f32c PUSH 0x1006be94 1000f331 MOV EDX,0x1006bf60 1000f336 MOV ECX,0x1006b3f4 1000f33b CALL 0x10051b20 1000f340 MOV EAX,dword ptr [ESP + 0x14] 1000f344 MOV EDX,ESI 1000f346 SHL EDX,0x6 1000f349 PUSH 0x1 1000f34b PUSH ESI 1000f34c MOV ECX,dword ptr [EDX + EAX*0x1 + 0x4] 1000f350 MOV dword ptr [EBP + 0x28c],ECX 1000f356 MOV EAX,dword ptr [EBP + 0x7c28] 1000f35c PUSH EAX 1000f35d MOV EDX,dword ptr [EAX] 1000f35f CALL dword ptr [EDX + 0x18] 1000f362 MOV dword ptr [EBP + 0x2f4],EAX 1000f368 MOV EAX,dword ptr [EBP + 0x7c28] 1000f36e PUSH 0x2 1000f370 PUSH EAX 1000f371 MOV ECX,dword ptr [EAX] 1000f373 CALL dword ptr [ECX + 0x20] 1000f376 MOV ESI,EAX 1000f378 CMP ESI,-0x1 1000f37b JNZ 0x1000f391 1000f37d PUSH 0x1006be94 1000f382 MOV EDX,0x1006bf60 1000f387 MOV ECX,0x1006b3f4 1000f38c CALL 0x10051b20 1000f391 MOV EAX,dword ptr [EBP + 0x7c28] 1000f397 PUSH 0x0 1000f399 PUSH ESI 1000f39a PUSH EAX 1000f39b MOV EDX,dword ptr [EAX] 1000f39d CALL dword ptr [EDX + 0x18] 1000f3a0 PUSH 0x28 1000f3a2 MOV dword ptr [EBP + 0x14c],EAX 1000f3a8 CALL 0x100597e7 1000f3ad MOV dword ptr [EBP + 0x7b60],EAX 1000f3b3 MOV ESI,dword ptr [EBP + 0x14c] 1000f3b9 MOV ECX,0x18 1000f3be LEA EDI,[EBP + 0x7b80] 1000f3c4 MOVSD.REP ES:EDI,ESI 1000f3c6 MOV EAX,dword ptr [EBP + 0x14c] 1000f3cc MOV ECX,dword ptr [EBP + 0x7b60] 1000f3d2 ADD ESP,0x4 1000f3d5 MOV EDX,dword ptr [EAX] 1000f3d7 MOV dword ptr [ECX + 0x4],EDX 1000f3da MOV EAX,dword ptr [EBP + 0x14c] 1000f3e0 MOV ECX,dword ptr [EBP + 0x7b60] 1000f3e6 PUSH 0x1 1000f3e8 MOV EDX,dword ptr [EAX + 0x4] 1000f3eb MOV dword ptr [ECX + 0x8],EDX 1000f3ee MOV EAX,dword ptr [EBP + 0x7c28] 1000f3f4 PUSH EAX 1000f3f5 MOV ECX,dword ptr [EAX] 1000f3f7 CALL dword ptr [ECX + 0x20] 1000f3fa MOV ESI,EAX 1000f3fc CMP ESI,-0x1 1000f3ff JNZ 0x1000f415 1000f401 PUSH 0x1006be94 1000f406 MOV EDX,0x1006bf60 1000f40b MOV ECX,0x1006b3f4 1000f410 CALL 0x10051b20 1000f415 MOV EAX,dword ptr [EBP + 0x7c28] 1000f41b PUSH 0x0 1000f41d PUSH ESI 1000f41e PUSH EAX 1000f41f MOV EDX,dword ptr [EAX] 1000f421 CALL dword ptr [EDX + 0x18] 1000f424 MOV dword ptr [EBP + 0x148],EAX 1000f42a MOV EAX,dword ptr [ESP + 0x14] 1000f42e MOV ECX,dword ptr [EBP + 0x7b60] 1000f434 SHL ESI,0x6 1000f437 ADD EAX,ESI 1000f439 MOV EDX,dword ptr [EAX + 0x4] 1000f43c MOV dword ptr [ECX + 0x24],EDX 1000f43f MOV ECX,dword ptr [EBP + 0x7b60] 1000f445 MOV EDX,dword ptr [EAX + 0x8] 1000f448 MOV dword ptr [ECX + 0x1c],EDX 1000f44b MOV ECX,dword ptr [EBP + 0x7b60] 1000f451 MOV EAX,dword ptr [ECX + 0x24] 1000f454 CDQ 1000f455 IDIV dword ptr [ECX + 0x1c] 1000f458 MOV dword ptr [ECX + 0x20],EAX 1000f45b MOV ESI,dword ptr [EBP + 0x14c] 1000f461 ADD ESI,0x94 1000f467 MOV EAX,dword ptr [ESI + 0x8] 1000f46a MOV ECX,dword ptr [ESI + 0x4] 1000f46d MOV EDX,dword ptr [ESI] 1000f46f PUSH EAX 1000f470 PUSH ECX 1000f471 PUSH EDX 1000f472 LEA ECX,[ESP + 0xc0] 1000f479 CALL 0x1000e230 1000f47e MOV ECX,dword ptr [EAX] 1000f480 MOV dword ptr [ESP + 0x124],ECX 1000f487 MOV ECX,dword ptr [ESI + 0x8] 1000f48a MOV EDX,dword ptr [EAX + 0x4] 1000f48d PUSH ECX 1000f48e MOV dword ptr [ESP + 0x12c],EDX 1000f495 MOV EDX,dword ptr [ESI + 0x4] 1000f498 MOV EAX,dword ptr [EAX + 0x8] 1000f49b PUSH EDX 1000f49c MOV dword ptr [ESP + 0x134],EAX 1000f4a3 MOV EAX,dword ptr [ESI + 0xc] 1000f4a6 PUSH EAX 1000f4a7 LEA ECX,[ESP + 0xcc] 1000f4ae CALL 0x1000e230 1000f4b3 MOV ECX,dword ptr [ESI + 0x8] 1000f4b6 MOV EDX,dword ptr [ESI + 0x10] 1000f4b9 MOV EAX,dword ptr [ESI + 0xc] 1000f4bc PUSH ECX 1000f4bd PUSH EDX 1000f4be PUSH EAX 1000f4bf LEA ECX,[ESP + 0xb4] 1000f4c6 CALL 0x1000e230 1000f4cb MOV ECX,dword ptr [ESI + 0x14] 1000f4ce MOV EDX,dword ptr [ESI + 0x10] 1000f4d1 MOV EAX,dword ptr [ESI + 0xc] 1000f4d4 PUSH ECX 1000f4d5 PUSH EDX 1000f4d6 PUSH EAX 1000f4d7 LEA ECX,[ESP + 0x9c] 1000f4de CALL 0x1000e230 1000f4e3 MOV ECX,dword ptr [EAX] 1000f4e5 MOV dword ptr [ESP + 0x178],ECX 1000f4ec MOV ECX,dword ptr [ESI + 0x14] 1000f4ef MOV EDX,dword ptr [EAX + 0x4] 1000f4f2 PUSH ECX 1000f4f3 MOV dword ptr [ESP + 0x180],EDX 1000f4fa MOV EDX,dword ptr [ESI + 0x10] 1000f4fd MOV EAX,dword ptr [EAX + 0x8] 1000f500 PUSH EDX 1000f501 MOV dword ptr [ESP + 0x188],EAX 1000f508 MOV EAX,dword ptr [ESI] 1000f50a PUSH EAX 1000f50b LEA ECX,[ESP + 0x84] 1000f512 CALL 0x1000e230 1000f517 MOV ECX,dword ptr [ESI + 0x14] 1000f51a MOV EDX,dword ptr [ESI + 0x4] 1000f51d MOV EAX,dword ptr [ESI] 1000f51f PUSH ECX 1000f520 PUSH EDX 1000f521 PUSH EAX 1000f522 LEA ECX,[ESP + 0xa8] 1000f529 CALL 0x1000e230 1000f52e MOV ECX,dword ptr [ESI + 0x8] 1000f531 MOV EDX,dword ptr [ESI + 0x10] 1000f534 MOV EAX,dword ptr [ESI] 1000f536 PUSH ECX 1000f537 PUSH EDX 1000f538 PUSH EAX 1000f539 LEA ECX,[ESP + 0x78] 1000f53d CALL 0x1000e230 1000f542 MOV ECX,dword ptr [ESI + 0x14] 1000f545 MOV EDX,dword ptr [ESI + 0x4] 1000f548 MOV EAX,dword ptr [ESI + 0xc] 1000f54b PUSH ECX 1000f54c PUSH EDX 1000f54d PUSH EAX 1000f54e LEA ECX,[ESP + 0x90] 1000f555 CALL 0x1000e230 1000f55a FLD float ptr [ESP + 0x178] 1000f561 FSUB float ptr [ESP + 0x124] 1000f568 MOV ECX,dword ptr [EBP + 0x7b60] 1000f56e PUSH 0xb 1000f570 FSTP float ptr [ECX + 0xc] 1000f573 FLD float ptr [ESP + 0x180] 1000f57a FSUB float ptr [ESP + 0x12c] 1000f581 MOV EDX,dword ptr [EBP + 0x7b60] 1000f587 FSTP float ptr [EDX + 0x10] 1000f58a MOV EAX,dword ptr [EBP + 0x7b60] 1000f590 FLD float ptr [0x1006516c] 1000f596 FDIV float ptr [EAX + 0xc] 1000f599 FSTP float ptr [EAX + 0x14] 1000f59c MOV EAX,dword ptr [EBP + 0x7b60] 1000f5a2 FLD float ptr [0x1006516c] 1000f5a8 FDIV float ptr [EAX + 0x10] 1000f5ab FSTP float ptr [EAX + 0x18] 1000f5ae MOV EAX,dword ptr [EBP + 0x7c28] 1000f5b4 PUSH EAX 1000f5b5 MOV ECX,dword ptr [EAX] 1000f5b7 CALL dword ptr [ECX + 0x20] 1000f5ba MOV ESI,EAX 1000f5bc CMP ESI,-0x1 1000f5bf JNZ 0x1000f5d5 1000f5c1 PUSH 0x1006be94 1000f5c6 MOV EDX,0x1006bf60 1000f5cb MOV ECX,0x1006b3f4 1000f5d0 CALL 0x10051b20 1000f5d5 MOV EAX,dword ptr [EBP + 0x7c28] 1000f5db PUSH 0x1 1000f5dd PUSH ESI 1000f5de PUSH EAX 1000f5df MOV EDX,dword ptr [EAX] 1000f5e1 CALL dword ptr [EDX + 0x18] 1000f5e4 MOV dword ptr [EBP + 0x150],EAX 1000f5ea MOV EAX,dword ptr [ESP + 0x68] 1000f5ee PUSH EAX 1000f5ef CALL 0x10059600 1000f5f4 MOV ECX,dword ptr [ESP + 0x68] 1000f5f8 PUSH ECX 1000f5f9 CALL 0x10059600 1000f5fe MOV EDX,dword ptr [ESP + 0x20] 1000f602 PUSH EDX 1000f603 CALL 0x10059600 1000f608 MOV EAX,dword ptr [ESP + 0x1c] 1000f60c PUSH EAX 1000f60d CALL 0x10059600 1000f612 MOV dword ptr [EBP + 0x7cdc],0xbf800000 1000f61c MOV EAX,dword ptr [EBP + 0x28c] 1000f622 ADD ESP,0x10 1000f625 XOR ECX,ECX 1000f627 TEST EAX,EAX 1000f629 JBE 0x1000f661 1000f62b MOV EDX,dword ptr [EBP + 0x2f4] 1000f631 TEST dword ptr [EDX],0x20000 1000f637 JNZ 0x1000f643 1000f639 INC ECX 1000f63a ADD EDX,0x1c 1000f63d CMP ECX,EAX 1000f63f JC 0x1000f631 1000f641 JMP 0x1000f661 1000f643 XOR EAX,EAX 1000f645 MOV ECX,dword ptr [EBP + 0x294] 1000f64b MOV AX,word ptr [EDX + 0x8] 1000f64f IMUL EAX,dword ptr [EBP + 0x298] 1000f656 ADD EAX,ECX 1000f658 MOV ECX,dword ptr [EAX + 0x8] 1000f65b MOV dword ptr [EBP + 0x7cdc],ECX 1000f661 MOV ECX,0x18 1000f666 MOV ESI,0x10070950 1000f66b MOV EDI,EBX 1000f66d XOR EAX,EAX 1000f66f MOVSD.REP ES:EDI,ESI 1000f671 MOV ECX,dword ptr [EBP + 0x28c] 1000f677 MOV dword ptr [ESP + 0x10],EAX 1000f67b CMP ECX,EAX 1000f67d JBE 0x1000fe21 1000f683 MOV dword ptr [ESP + 0x18],EAX 1000f687 ADD EAX,dword ptr [EBP + 0x2f4] 1000f68d TEST dword ptr [EAX],0x20000 1000f693 JZ 0x1000fdff 1000f699 MOV EDX,dword ptr [EBP + 0x298] 1000f69f XOR ECX,ECX 1000f6a1 MOV CX,word ptr [EAX + 0x8] 1000f6a5 XOR ESI,ESI 1000f6a7 MOV SI,word ptr [EAX + 0xa] 1000f6ab IMUL ECX,EDX 1000f6ae IMUL ESI,EDX 1000f6b1 MOV EDI,dword ptr [EBP + 0x294] 1000f6b7 ADD ECX,EDI 1000f6b9 ADD ESI,EDI 1000f6bb XOR EDI,EDI 1000f6bd MOV DI,word ptr [EAX + 0xc] 1000f6c1 MOV EAX,dword ptr [EBP + 0x294] 1000f6c7 IMUL EDI,EDX 1000f6ca FLD float ptr [ECX] 1000f6cc MOV EDX,EBX 1000f6ce ADD EDI,EAX 1000f6d0 MOV EAX,dword ptr [EDX] 1000f6d2 MOV dword ptr [ESP + 0x1c],EAX 1000f6d6 MOV EAX,dword ptr [EDX + 0x4] 1000f6d9 MOV dword ptr [ESP + 0x20],EAX 1000f6dd LEA EAX,[EBX + 0x54] 1000f6e0 MOV EDX,dword ptr [EDX + 0x8] 1000f6e3 FCOMP float ptr [ESP + 0x1c] 1000f6e7 MOV dword ptr [ESP + 0x24],EDX 1000f6eb MOV EDX,dword ptr [EAX] 1000f6ed MOV dword ptr [ESP + 0x34],EDX 1000f6f1 MOV EDX,dword ptr [EAX + 0x4] 1000f6f4 MOV dword ptr [ESP + 0x38],EDX 1000f6f8 MOV EAX,dword ptr [EAX + 0x8] 1000f6fb MOV dword ptr [ESP + 0x3c],EAX 1000f6ff FNSTSW AX 1000f701 TEST AH,0x1 1000f704 JZ 0x1000f70c 1000f706 MOV EDX,dword ptr [ECX] 1000f708 MOV dword ptr [ESP + 0x1c],EDX 1000f70c FLD float ptr [ECX + 0x4] 1000f70f FCOMP float ptr [ESP + 0x20] 1000f713 FNSTSW AX 1000f715 TEST AH,0x1 1000f718 JZ 0x1000f721 1000f71a MOV EAX,dword ptr [ECX + 0x4] 1000f71d MOV dword ptr [ESP + 0x20],EAX 1000f721 FLD float ptr [ECX + 0x8] 1000f724 FCOMP float ptr [ESP + 0x24] 1000f728 FNSTSW AX 1000f72a TEST AH,0x1 1000f72d JZ 0x1000f736 1000f72f MOV EDX,dword ptr [ECX + 0x8] 1000f732 MOV dword ptr [ESP + 0x24],EDX 1000f736 FLD float ptr [ECX] 1000f738 FCOMP float ptr [ESP + 0x34] 1000f73c FNSTSW AX 1000f73e TEST AH,0x41 1000f741 JNZ 0x1000f749 1000f743 MOV EAX,dword ptr [ECX] 1000f745 MOV dword ptr [ESP + 0x34],EAX 1000f749 FLD float ptr [ECX + 0x4] 1000f74c FCOMP float ptr [ESP + 0x38] 1000f750 FNSTSW AX 1000f752 TEST AH,0x41 1000f755 JNZ 0x1000f75e 1000f757 MOV EDX,dword ptr [ECX + 0x4] 1000f75a MOV dword ptr [ESP + 0x38],EDX 1000f75e FLD float ptr [ECX + 0x8] 1000f761 FCOMP float ptr [ESP + 0x3c] 1000f765 FNSTSW AX 1000f767 TEST AH,0x41 1000f76a JNZ 0x1000f773 1000f76c MOV EAX,dword ptr [ECX + 0x8] 1000f76f MOV dword ptr [ESP + 0x3c],EAX 1000f773 FLD float ptr [ESP + 0x1c] 1000f777 FSTP float ptr [ESP + 0x114] 1000f77e FLD float ptr [ESP + 0x20] 1000f782 FSTP float ptr [ESP + 0x118] 1000f789 FLD float ptr [ESP + 0x24] 1000f78d FSTP float ptr [ESP + 0x11c] 1000f794 FLD float ptr [ESP + 0x34] 1000f798 FSTP float ptr [ESP + 0x108] 1000f79f FLD float ptr [ESP + 0x20] 1000f7a3 FSTP float ptr [ESP + 0x10c] 1000f7aa FLD float ptr [ESP + 0x24] 1000f7ae FSTP float ptr [ESP + 0x110] 1000f7b5 FLD float ptr [ESP + 0x34] 1000f7b9 MOV EDX,dword ptr [ESP + 0x114] 1000f7c0 MOV EAX,dword ptr [ESP + 0x118] 1000f7c7 FSTP float ptr [ESP + 0xf0] 1000f7ce FLD float ptr [ESP + 0x38] 1000f7d2 FSTP float ptr [ESP + 0xf4] 1000f7d9 FLD float ptr [ESP + 0x24] 1000f7dd MOV ECX,EBX 1000f7df FSTP float ptr [ESP + 0xf8] 1000f7e6 FLD float ptr [ESP + 0x34] 1000f7ea MOV dword ptr [ECX],EDX 1000f7ec MOV EDX,dword ptr [ESP + 0x11c] 1000f7f3 FSTP float ptr [ESP + 0xfc] 1000f7fa FLD float ptr [ESP + 0x38] 1000f7fe MOV dword ptr [ECX + 0x4],EAX 1000f801 LEA EAX,[EBX + 0xc] 1000f804 FSTP float ptr [ESP + 0x100] 1000f80b MOV dword ptr [ECX + 0x8],EDX 1000f80e MOV ECX,dword ptr [ESP + 0x108] 1000f815 MOV EDX,dword ptr [ESP + 0x10c] 1000f81c MOV dword ptr [EAX],ECX 1000f81e MOV ECX,dword ptr [ESP + 0x110] 1000f825 FLD float ptr [ESP + 0x3c] 1000f829 MOV dword ptr [EAX + 0x4],EDX 1000f82c LEA EDX,[EBX + 0x18] 1000f82f FSTP float ptr [ESP + 0x104] 1000f836 FLD float ptr [ESP + 0x1c] 1000f83a MOV dword ptr [EAX + 0x8],ECX 1000f83d MOV EAX,dword ptr [ESP + 0xf0] 1000f844 MOV ECX,dword ptr [ESP + 0xf4] 1000f84b MOV dword ptr [EDX],EAX 1000f84d MOV EAX,dword ptr [ESP + 0xf8] 1000f854 MOV dword ptr [EDX + 0x4],ECX 1000f857 MOV ECX,dword ptr [ESP + 0xfc] 1000f85e FSTP float ptr [ESP + 0xd8] 1000f865 FLD float ptr [ESP + 0x38] 1000f869 MOV dword ptr [EDX + 0x8],EAX 1000f86c MOV EDX,dword ptr [ESP + 0x100] 1000f873 MOV EAX,dword ptr [ESP + 0x104] 1000f87a MOV dword ptr [EBX + 0x54],ECX 1000f87d FSTP float ptr [ESP + 0xdc] 1000f884 FLD float ptr [ESP + 0x3c] 1000f888 MOV dword ptr [EBX + 0x58],EDX 1000f88b MOV EDX,dword ptr [ESP + 0xd8] 1000f892 LEA ECX,[EBX + 0x30] 1000f895 MOV dword ptr [EBX + 0x5c],EAX 1000f898 MOV EAX,dword ptr [ESP + 0xdc] 1000f89f MOV dword ptr [ECX],EDX 1000f8a1 FSTP float ptr [ESP + 0xe0] 1000f8a8 MOV EDX,dword ptr [ESP + 0xe0] 1000f8af MOV dword ptr [ECX + 0x4],EAX 1000f8b2 FLD float ptr [ESP + 0x1c] 1000f8b6 MOV dword ptr [ECX + 0x8],EDX 1000f8b9 FSTP float ptr [ESP + 0xe4] 1000f8c0 FLD float ptr [ESP + 0x20] 1000f8c4 MOV ECX,dword ptr [ESP + 0xe4] 1000f8cb LEA EAX,[EBX + 0x3c] 1000f8ce FSTP float ptr [ESP + 0xe8] 1000f8d5 FLD float ptr [ESP + 0x3c] 1000f8d9 MOV EDX,dword ptr [ESP + 0xe8] 1000f8e0 MOV dword ptr [EAX],ECX 1000f8e2 FSTP float ptr [ESP + 0xec] 1000f8e9 MOV ECX,dword ptr [ESP + 0xec] 1000f8f0 MOV dword ptr [EAX + 0x4],EDX 1000f8f3 MOV EDX,dword ptr [ESP + 0x24] 1000f8f7 MOV dword ptr [EAX + 0x8],ECX 1000f8fa MOV EAX,dword ptr [ESP + 0x38] 1000f8fe MOV ECX,dword ptr [ESP + 0x1c] 1000f902 PUSH EDX 1000f903 PUSH EAX 1000f904 PUSH ECX 1000f905 LEA ECX,[ESP + 0x1f0] 1000f90c CALL 0x1000e230 1000f911 MOV ECX,dword ptr [EAX] 1000f913 LEA EDX,[EBX + 0x24] 1000f916 MOV dword ptr [EBX + 0x24],ECX 1000f919 MOV ECX,dword ptr [EAX + 0x4] 1000f91c MOV dword ptr [EDX + 0x4],ECX 1000f91f MOV EAX,dword ptr [EAX + 0x8] 1000f922 MOV ECX,dword ptr [ESP + 0x3c] 1000f926 MOV dword ptr [EDX + 0x8],EAX 1000f929 MOV EDX,dword ptr [ESP + 0x20] 1000f92d MOV EAX,dword ptr [ESP + 0x34] 1000f931 PUSH ECX 1000f932 PUSH EDX 1000f933 PUSH EAX 1000f934 LEA ECX,[ESP + 0x190] 1000f93b CALL 0x1000e230 1000f940 MOV EDX,dword ptr [EAX] 1000f942 LEA ECX,[EBX + 0x48] 1000f945 MOV dword ptr [EBX + 0x48],EDX 1000f948 MOV EDX,dword ptr [EAX + 0x4] 1000f94b MOV dword ptr [ECX + 0x4],EDX 1000f94e MOV EAX,dword ptr [EAX + 0x8] 1000f951 MOV dword ptr [ECX + 0x8],EAX 1000f954 MOV ECX,EBX 1000f956 FLD float ptr [ESI] 1000f958 MOV EDX,dword ptr [ECX] 1000f95a MOV dword ptr [ESP + 0x28],EDX 1000f95e MOV EAX,dword ptr [ECX + 0x4] 1000f961 FCOMP float ptr [ESP + 0x28] 1000f965 MOV ECX,dword ptr [ECX + 0x8] 1000f968 MOV dword ptr [ESP + 0x2c],EAX 1000f96c MOV dword ptr [ESP + 0x30],ECX 1000f970 LEA ECX,[EBX + 0x54] 1000f973 MOV EDX,ECX 1000f975 MOV EAX,dword ptr [EDX] 1000f977 MOV dword ptr [ESP + 0x40],EAX 1000f97b MOV EAX,dword ptr [EDX + 0x4] 1000f97e MOV dword ptr [ESP + 0x44],EAX 1000f982 MOV EDX,dword ptr [EDX + 0x8] 1000f985 FNSTSW AX 1000f987 MOV dword ptr [ESP + 0x48],EDX 1000f98b TEST AH,0x1 1000f98e JZ 0x1000f996 1000f990 MOV EAX,dword ptr [ESI] 1000f992 MOV dword ptr [ESP + 0x28],EAX 1000f996 FLD float ptr [ESI + 0x4] 1000f999 FCOMP float ptr [ESP + 0x2c] 1000f99d FNSTSW AX 1000f99f TEST AH,0x1 1000f9a2 JZ 0x1000f9ab 1000f9a4 MOV EDX,dword ptr [ESI + 0x4] 1000f9a7 MOV dword ptr [ESP + 0x2c],EDX 1000f9ab FLD float ptr [ESI + 0x8] 1000f9ae FCOMP float ptr [ESP + 0x30] 1000f9b2 FNSTSW AX 1000f9b4 TEST AH,0x1 1000f9b7 JZ 0x1000f9c0 1000f9b9 MOV EAX,dword ptr [ESI + 0x8] 1000f9bc MOV dword ptr [ESP + 0x30],EAX 1000f9c0 FLD float ptr [ESI] 1000f9c2 FCOMP float ptr [ESP + 0x40] 1000f9c6 FNSTSW AX 1000f9c8 TEST AH,0x41 1000f9cb JNZ 0x1000f9d3 1000f9cd MOV EDX,dword ptr [ESI] 1000f9cf MOV dword ptr [ESP + 0x40],EDX 1000f9d3 FLD float ptr [ESI + 0x4] 1000f9d6 FCOMP float ptr [ESP + 0x44] 1000f9da FNSTSW AX 1000f9dc TEST AH,0x41 1000f9df JNZ 0x1000f9e8 1000f9e1 MOV EAX,dword ptr [ESI + 0x4] 1000f9e4 MOV dword ptr [ESP + 0x44],EAX 1000f9e8 FLD float ptr [ESI + 0x8] 1000f9eb FCOMP float ptr [ESP + 0x48] 1000f9ef FNSTSW AX 1000f9f1 TEST AH,0x41 1000f9f4 JNZ 0x1000f9fd 1000f9f6 MOV EDX,dword ptr [ESI + 0x8] 1000f9f9 MOV dword ptr [ESP + 0x48],EDX 1000f9fd FLD float ptr [ESP + 0x28] 1000fa01 FSTP float ptr [ESP + 0xcc] 1000fa08 FLD float ptr [ESP + 0x2c] 1000fa0c FSTP float ptr [ESP + 0xd0] 1000fa13 FLD float ptr [ESP + 0x30] 1000fa17 FSTP float ptr [ESP + 0xd4] 1000fa1e FLD float ptr [ESP + 0x40] 1000fa22 FSTP float ptr [ESP + 0x84] 1000fa29 FLD float ptr [ESP + 0x2c] 1000fa2d FSTP float ptr [ESP + 0x88] 1000fa34 FLD float ptr [ESP + 0x30] 1000fa38 MOV EDX,dword ptr [ESP + 0xcc] 1000fa3f MOV EAX,EBX 1000fa41 FSTP float ptr [ESP + 0x8c] 1000fa48 FLD float ptr [ESP + 0x40] 1000fa4c FSTP float ptr [ESP + 0x6c] 1000fa50 FLD float ptr [ESP + 0x44] 1000fa54 MOV dword ptr [EAX],EDX 1000fa56 MOV EDX,dword ptr [ESP + 0xd0] 1000fa5d FSTP float ptr [ESP + 0x70] 1000fa61 FLD float ptr [ESP + 0x30] 1000fa65 MOV dword ptr [EAX + 0x4],EDX 1000fa68 MOV EDX,dword ptr [ESP + 0xd4] 1000fa6f FSTP float ptr [ESP + 0x74] 1000fa73 FLD float ptr [ESP + 0x40] 1000fa77 MOV dword ptr [EAX + 0x8],EDX 1000fa7a MOV EDX,dword ptr [ESP + 0x84] 1000fa81 LEA EAX,[EBX + 0xc] 1000fa84 MOV ESI,dword ptr [ESP + 0x48] 1000fa88 FSTP float ptr [ESP + 0x9c] 1000fa8f FLD float ptr [ESP + 0x44] 1000fa93 MOV dword ptr [EAX],EDX 1000fa95 MOV EDX,dword ptr [ESP + 0x88] 1000fa9c FSTP float ptr [ESP + 0xa0] 1000faa3 MOV dword ptr [EAX + 0x4],EDX 1000faa6 MOV EDX,dword ptr [ESP + 0x8c] 1000faad FLD float ptr [ESP + 0x48] 1000fab1 MOV dword ptr [EAX + 0x8],EDX 1000fab4 MOV EDX,dword ptr [ESP + 0x6c] 1000fab8 LEA EAX,[EBX + 0x18] 1000fabb PUSH ESI 1000fabc FSTP float ptr [ESP + 0xa8] 1000fac3 FLD float ptr [ESP + 0x2c] 1000fac7 MOV dword ptr [EAX],EDX 1000fac9 MOV EDX,dword ptr [ESP + 0x74] 1000facd FSTP float ptr [ESP + 0x7c] 1000fad1 MOV dword ptr [EAX + 0x4],EDX 1000fad4 MOV EDX,dword ptr [ESP + 0x78] 1000fad8 FLD float ptr [ESP + 0x48] 1000fadc MOV dword ptr [EAX + 0x8],EDX 1000fadf MOV EAX,dword ptr [ESP + 0xa0] 1000fae6 MOV EDX,dword ptr [ESP + 0xa4] 1000faed MOV dword ptr [ECX],EAX 1000faef MOV EAX,dword ptr [ESP + 0xa8] 1000faf6 MOV dword ptr [ECX + 0x4],EDX 1000faf9 MOV EDX,dword ptr [ESP + 0x7c] 1000fafd MOV dword ptr [ECX + 0x8],EAX 1000fb00 FSTP float ptr [ESP + 0x80] 1000fb07 FLD float ptr [ESP + 0x4c] 1000fb0b MOV EAX,dword ptr [ESP + 0x80] 1000fb12 LEA ECX,[EBX + 0x30] 1000fb15 FSTP float ptr [ESP + 0x84] 1000fb1c MOV dword ptr [ECX],EDX 1000fb1e MOV EDX,dword ptr [ESP + 0x84] 1000fb25 MOV dword ptr [ECX + 0x4],EAX 1000fb28 MOV dword ptr [ECX + 0x8],EDX 1000fb2b MOV EAX,dword ptr [ESP + 0x30] 1000fb2f MOV ECX,dword ptr [ESP + 0x2c] 1000fb33 PUSH EAX 1000fb34 PUSH ECX 1000fb35 LEA ECX,[ESP + 0x1cc] 1000fb3c CALL 0x1000e230 1000fb41 MOV ECX,dword ptr [EAX] 1000fb43 LEA EDX,[EBX + 0x3c] 1000fb46 MOV dword ptr [EBX + 0x3c],ECX 1000fb49 MOV ECX,dword ptr [EAX + 0x4] 1000fb4c MOV dword ptr [EDX + 0x4],ECX 1000fb4f MOV EAX,dword ptr [EAX + 0x8] 1000fb52 MOV ECX,dword ptr [ESP + 0x30] 1000fb56 MOV dword ptr [EDX + 0x8],EAX 1000fb59 MOV EDX,dword ptr [ESP + 0x44] 1000fb5d MOV EAX,dword ptr [ESP + 0x28] 1000fb61 PUSH ECX 1000fb62 PUSH EDX 1000fb63 PUSH EAX 1000fb64 LEA ECX,[ESP + 0x1b4] 1000fb6b CALL 0x1000e230 1000fb70 MOV EDX,dword ptr [EAX] 1000fb72 LEA ECX,[EBX + 0x24] 1000fb75 PUSH ESI 1000fb76 MOV dword ptr [ECX],EDX 1000fb78 MOV EDX,dword ptr [EAX + 0x4] 1000fb7b MOV dword ptr [ECX + 0x4],EDX 1000fb7e MOV EAX,dword ptr [EAX + 0x8] 1000fb81 MOV EDX,dword ptr [ESP + 0x44] 1000fb85 MOV dword ptr [ECX + 0x8],EAX 1000fb88 MOV ECX,dword ptr [ESP + 0x30] 1000fb8c PUSH ECX 1000fb8d PUSH EDX 1000fb8e LEA ECX,[ESP + 0x1e4] 1000fb95 CALL 0x1000e230 1000fb9a MOV EDX,dword ptr [EAX] 1000fb9c LEA ECX,[EBX + 0x48] 1000fb9f MOV dword ptr [EBX + 0x48],EDX 1000fba2 MOV EDX,dword ptr [EAX + 0x4] 1000fba5 MOV dword ptr [ECX + 0x4],EDX 1000fba8 MOV EAX,dword ptr [EAX + 0x8] 1000fbab MOV dword ptr [ECX + 0x8],EAX 1000fbae MOV ECX,EBX 1000fbb0 FLD float ptr [EDI] 1000fbb2 MOV EDX,dword ptr [ECX] 1000fbb4 MOV dword ptr [ESP + 0x4c],EDX 1000fbb8 MOV EAX,dword ptr [ECX + 0x4] 1000fbbb FCOMP float ptr [ESP + 0x4c] 1000fbbf MOV ECX,dword ptr [ECX + 0x8] 1000fbc2 MOV dword ptr [ESP + 0x50],EAX 1000fbc6 MOV dword ptr [ESP + 0x54],ECX 1000fbca LEA ECX,[EBX + 0x54] 1000fbcd MOV EDX,ECX 1000fbcf MOV EAX,dword ptr [EDX] 1000fbd1 MOV dword ptr [ESP + 0x58],EAX 1000fbd5 MOV EAX,dword ptr [EDX + 0x4] 1000fbd8 MOV dword ptr [ESP + 0x5c],EAX 1000fbdc MOV ESI,dword ptr [EDX + 0x8] 1000fbdf FNSTSW AX 1000fbe1 MOV dword ptr [ESP + 0x60],ESI 1000fbe5 TEST AH,0x1 1000fbe8 JZ 0x1000fbf0 1000fbea MOV EDX,dword ptr [EDI] 1000fbec MOV dword ptr [ESP + 0x4c],EDX 1000fbf0 FLD float ptr [EDI + 0x4] 1000fbf3 FCOMP float ptr [ESP + 0x50] 1000fbf7 FNSTSW AX 1000fbf9 TEST AH,0x1 1000fbfc JZ 0x1000fc05 1000fbfe MOV EAX,dword ptr [EDI + 0x4] 1000fc01 MOV dword ptr [ESP + 0x50],EAX 1000fc05 FLD float ptr [EDI + 0x8] 1000fc08 FCOMP float ptr [ESP + 0x54] 1000fc0c FNSTSW AX 1000fc0e TEST AH,0x1 1000fc11 JZ 0x1000fc1a 1000fc13 MOV EDX,dword ptr [EDI + 0x8] 1000fc16 MOV dword ptr [ESP + 0x54],EDX 1000fc1a FLD float ptr [EDI] 1000fc1c FCOMP float ptr [ESP + 0x58] 1000fc20 FNSTSW AX 1000fc22 TEST AH,0x41 1000fc25 JNZ 0x1000fc2d 1000fc27 MOV EAX,dword ptr [EDI] 1000fc29 MOV dword ptr [ESP + 0x58],EAX 1000fc2d FLD float ptr [EDI + 0x4] 1000fc30 FCOMP float ptr [ESP + 0x5c] 1000fc34 FNSTSW AX 1000fc36 TEST AH,0x41 1000fc39 JNZ 0x1000fc42 1000fc3b MOV EDX,dword ptr [EDI + 0x4] 1000fc3e MOV dword ptr [ESP + 0x5c],EDX 1000fc42 FLD float ptr [EDI + 0x8] 1000fc45 FCOMP float ptr [ESP + 0x60] 1000fc49 FNSTSW AX 1000fc4b TEST AH,0x41 1000fc4e JNZ 0x1000fc59 1000fc50 MOV EAX,dword ptr [EDI + 0x8] 1000fc53 MOV dword ptr [ESP + 0x60],EAX 1000fc57 MOV ESI,EAX 1000fc59 FLD float ptr [ESP + 0x4c] 1000fc5d FSTP float ptr [ESP + 0x90] 1000fc64 FLD float ptr [ESP + 0x50] 1000fc68 FSTP float ptr [ESP + 0x94] 1000fc6f FLD float ptr [ESP + 0x54] 1000fc73 FSTP float ptr [ESP + 0x98] 1000fc7a FLD float ptr [ESP + 0x58] 1000fc7e FSTP float ptr [ESP + 0xa8] 1000fc85 FLD float ptr [ESP + 0x50] 1000fc89 MOV EAX,dword ptr [ESP + 0x90] 1000fc90 MOV EDX,EBX 1000fc92 FSTP float ptr [ESP + 0xac] 1000fc99 FLD float ptr [ESP + 0x54] 1000fc9d FSTP float ptr [ESP + 0xb0] 1000fca4 FLD float ptr [ESP + 0x58] 1000fca8 MOV dword ptr [EDX],EAX 1000fcaa MOV EAX,dword ptr [ESP + 0x94] 1000fcb1 FSTP float ptr [ESP + 0xc0] 1000fcb8 FLD float ptr [ESP + 0x5c] 1000fcbc MOV dword ptr [EDX + 0x4],EAX 1000fcbf MOV EAX,dword ptr [ESP + 0x98] 1000fcc6 FSTP float ptr [ESP + 0xc4] 1000fccd FLD float ptr [ESP + 0x54] 1000fcd1 MOV dword ptr [EDX + 0x8],EAX 1000fcd4 MOV EAX,dword ptr [ESP + 0xa8] 1000fcdb LEA EDX,[EBX + 0xc] 1000fcde MOV EDI,dword ptr [ESP + 0x4c] 1000fce2 FSTP float ptr [ESP + 0xc8] 1000fce9 FLD float ptr [ESP + 0x58] 1000fced MOV dword ptr [EDX],EAX 1000fcef MOV EAX,dword ptr [ESP + 0xac] 1000fcf6 FSTP float ptr [ESP + 0xb4] 1000fcfd MOV dword ptr [EDX + 0x4],EAX 1000fd00 MOV EAX,dword ptr [ESP + 0xb0] 1000fd07 FLD float ptr [ESP + 0x5c] 1000fd0b MOV dword ptr [EDX + 0x8],EAX 1000fd0e MOV EAX,dword ptr [ESP + 0xc0] 1000fd15 LEA EDX,[EBX + 0x18] 1000fd18 PUSH ESI 1000fd19 FSTP float ptr [ESP + 0xbc] 1000fd20 FLD float ptr [ESP + 0x64] 1000fd24 MOV dword ptr [EDX],EAX 1000fd26 MOV EAX,dword ptr [ESP + 0xc8] 1000fd2d FSTP float ptr [ESP + 0xc0] 1000fd34 MOV dword ptr [EDX + 0x4],EAX 1000fd37 MOV EAX,dword ptr [ESP + 0xcc] 1000fd3e MOV dword ptr [EDX + 0x8],EAX 1000fd41 MOV EDX,dword ptr [ESP + 0xb8] 1000fd48 MOV EAX,dword ptr [ESP + 0xbc] 1000fd4f MOV dword ptr [ECX],EDX 1000fd51 MOV EDX,dword ptr [ESP + 0xc0] 1000fd58 MOV dword ptr [ECX + 0x4],EAX 1000fd5b MOV EAX,dword ptr [ESP + 0x60] 1000fd5f MOV dword ptr [ECX + 0x8],EDX 1000fd62 PUSH EAX 1000fd63 PUSH EDI 1000fd64 LEA ECX,[ESP + 0x19c] 1000fd6b CALL 0x1000e230 1000fd70 MOV EDX,dword ptr [EAX] 1000fd72 LEA ECX,[EBX + 0x30] 1000fd75 PUSH ESI 1000fd76 MOV dword ptr [ECX],EDX 1000fd78 MOV EDX,dword ptr [EAX + 0x4] 1000fd7b MOV dword ptr [ECX + 0x4],EDX 1000fd7e MOV EAX,dword ptr [EAX + 0x8] 1000fd81 MOV dword ptr [ECX + 0x8],EAX 1000fd84 MOV ECX,dword ptr [ESP + 0x54] 1000fd88 PUSH ECX 1000fd89 PUSH EDI 1000fd8a LEA ECX,[ESP + 0x1a8] 1000fd91 CALL 0x1000e230 1000fd96 MOV ECX,dword ptr [EAX] 1000fd98 LEA EDX,[EBX + 0x3c] 1000fd9b MOV dword ptr [EBX + 0x3c],ECX 1000fd9e MOV ECX,dword ptr [EAX + 0x4] 1000fda1 MOV dword ptr [EDX + 0x4],ECX 1000fda4 MOV EAX,dword ptr [EAX + 0x8] 1000fda7 MOV ECX,dword ptr [ESP + 0x54] 1000fdab MOV dword ptr [EDX + 0x8],EAX 1000fdae MOV EDX,dword ptr [ESP + 0x5c] 1000fdb2 PUSH ECX 1000fdb3 PUSH EDX 1000fdb4 PUSH EDI 1000fdb5 LEA ECX,[ESP + 0x1c0] 1000fdbc CALL 0x1000e230 1000fdc1 MOV EDX,dword ptr [EAX] 1000fdc3 LEA ECX,[EBX + 0x24] 1000fdc6 PUSH ESI 1000fdc7 MOV dword ptr [ECX],EDX 1000fdc9 MOV EDX,dword ptr [EAX + 0x4] 1000fdcc MOV dword ptr [ECX + 0x4],EDX 1000fdcf MOV EAX,dword ptr [EAX + 0x8] 1000fdd2 MOV EDX,dword ptr [ESP + 0x5c] 1000fdd6 MOV dword ptr [ECX + 0x8],EAX 1000fdd9 MOV ECX,dword ptr [ESP + 0x54] 1000fddd PUSH ECX 1000fdde PUSH EDX 1000fddf LEA ECX,[ESP + 0x1d8] 1000fde6 CALL 0x1000e230 1000fdeb MOV EDX,dword ptr [EAX] 1000fded LEA ECX,[EBX + 0x48] 1000fdf0 MOV dword ptr [EBX + 0x48],EDX 1000fdf3 MOV EDX,dword ptr [EAX + 0x4] 1000fdf6 MOV dword ptr [ECX + 0x4],EDX 1000fdf9 MOV EAX,dword ptr [EAX + 0x8] 1000fdfc MOV dword ptr [ECX + 0x8],EAX 1000fdff MOV ECX,dword ptr [ESP + 0x10] 1000fe03 MOV EAX,dword ptr [ESP + 0x18] 1000fe07 MOV EDX,dword ptr [EBP + 0x28c] 1000fe0d INC ECX 1000fe0e ADD EAX,0x1c 1000fe11 CMP ECX,EDX 1000fe13 MOV dword ptr [ESP + 0x10],ECX 1000fe17 MOV dword ptr [ESP + 0x18],EAX 1000fe1b JC 0x1000f687 1000fe21 MOV ECX,dword ptr [EBP + 0x7b60] 1000fe27 MOV ESI,dword ptr [ECX + 0x24] 1000fe2a LEA EDX,[ESI + ESI*0x2] 1000fe2d LEA EAX,[EDX*0x4 + 0x4] 1000fe34 PUSH EAX 1000fe35 CALL 0x100597e7 1000fe3a ADD ESP,0x4 1000fe3d MOV dword ptr [ESP + 0x10],EAX 1000fe41 XOR EBX,EBX 1000fe43 MOV byte ptr [ESP + 0x1f8],0x7 1000fe4b CMP EAX,EBX 1000fe4d JZ 0x1000fe69 1000fe4f PUSH 0x10044900 1000fe54 PUSH 0x10015d00 1000fe59 LEA EDI,[EAX + 0x4] 1000fe5c PUSH ESI 1000fe5d PUSH 0xc 1000fe5f PUSH EDI 1000fe60 MOV dword ptr [EAX],ESI 1000fe62 CALL 0x10059d5f 1000fe67 JMP 0x1000fe6b 1000fe69 XOR EDI,EDI 1000fe6b MOV ECX,dword ptr [EBP + 0x7b60] 1000fe71 MOV dword ptr [EBP + 0x7b64],EDI 1000fe77 MOV byte ptr [ESP + 0x1f8],0x6 1000fe7f MOV ESI,dword ptr [ECX + 0x24] 1000fe82 LEA EDX,[ESI + ESI*0x2] 1000fe85 LEA EAX,[EDX*0x4 + 0x4] 1000fe8c PUSH EAX 1000fe8d CALL 0x100597e7 1000fe92 ADD ESP,0x4 1000fe95 MOV dword ptr [ESP + 0x10],EAX 1000fe99 CMP EAX,EBX 1000fe9b MOV byte ptr [ESP + 0x1f8],0x8 1000fea3 JZ 0x1000febf 1000fea5 PUSH 0x10044900 1000feaa PUSH 0x10015c50 1000feaf LEA EDI,[EAX + 0x4] 1000feb2 PUSH ESI 1000feb3 PUSH 0xc 1000feb5 PUSH EDI 1000feb6 MOV dword ptr [EAX],ESI 1000feb8 CALL 0x10059d5f 1000febd JMP 0x1000fec1 1000febf XOR EDI,EDI 1000fec1 MOV ECX,dword ptr [EBP + 0x7b60] 1000fec7 MOV dword ptr [EBP + 0x7b70],EDI 1000fecd MOV byte ptr [ESP + 0x1f8],0x6 1000fed5 MOV ESI,dword ptr [ECX + 0x24] 1000fed8 LEA EDX,[ESI + ESI*0x2] 1000fedb LEA EAX,[EDX*0x4 + 0x4] 1000fee2 PUSH EAX 1000fee3 CALL 0x100597e7 1000fee8 ADD ESP,0x4 1000feeb MOV dword ptr [ESP + 0x10],EAX 1000feef CMP EAX,EBX 1000fef1 MOV byte ptr [ESP + 0x1f8],0x9 1000fef9 JZ 0x1000ff17 1000fefb PUSH 0x10044900 1000ff00 PUSH 0x10015d30 1000ff05 LEA EDI,[EAX + 0x4] 1000ff08 PUSH ESI 1000ff09 PUSH 0xc 1000ff0b PUSH EDI 1000ff0c MOV dword ptr [EAX],ESI 1000ff0e CALL 0x10059d5f 1000ff13 MOV EAX,EDI 1000ff15 JMP 0x1000ff19 1000ff17 XOR EAX,EAX 1000ff19 MOV dword ptr [EBP + 0x7b68],EAX 1000ff1f LEA EAX,[EBP + 0x7b3c] 1000ff25 MOV EDX,dword ptr [EBP + 0x7be4] 1000ff2b MOV dword ptr [EBP + 0x194],EAX 1000ff31 LEA EAX,[EBP + 0x7b48] 1000ff37 MOV dword ptr [EBP + 0x1c4],EDX 1000ff3d MOV dword ptr [EBP + 0x198],EAX 1000ff43 LEA EAX,[EBP + 0x7c54] 1000ff49 MOV dword ptr [EBP + 0x160],EAX 1000ff4f LEA EAX,[EBP + 0x7c5c] 1000ff55 MOV dword ptr [EBP + 0x164],EAX 1000ff5b LEA EDX,[EBP + 0x7b54] 1000ff61 LEA EAX,[EBP + 0x7c6c] 1000ff67 MOV dword ptr [EBP + 0x19c],EDX 1000ff6d MOV dword ptr [EBP + 0x1c8],EAX 1000ff73 LEA EDX,[EBP + 0x7c64] 1000ff79 LEA EAX,[EBP + 0x7c74] 1000ff7f MOV dword ptr [EBP + 0x168],EDX 1000ff85 MOV dword ptr [EBP + 0x1cc],EAX 1000ff8b OR ECX,0xffffffff 1000ff8e LEA EDX,[EBP + 0x7c7c] 1000ff94 LEA EAX,[EBP + 0x7c48] 1000ff9a MOV dword ptr [EBP + 0x1a0],ECX 1000ffa0 MOV dword ptr [EBP + 0x1a8],EBX 1000ffa6 MOV dword ptr [EBP + 0x1d0],EDX 1000ffac MOV dword ptr [EBP + 0x170],EAX 1000ffb2 MOV dword ptr [EBP + 0x1dc],ECX 1000ffb8 MOV dword ptr [EBP + 0x1e4],ECX 1000ffbe MOV dword ptr [EBP + 0x1f4],EBX 1000ffc4 MOV dword ptr [EBP + 0x1e8],EBX 1000ffca MOV dword ptr [EBP + 0x1ec],0xfffffffe 1000ffd4 MOV dword ptr [EBP + 0x1f0],EBX 1000ffda MOV dword ptr [EBP + 0x1f8],EBX 1000ffe0 MOV dword ptr [EBP + 0x1fc],EBX 1000ffe6 MOV dword ptr [EBP + 0x200],EBX 1000ffec MOV dword ptr [EBP + 0x204],EBX 1000fff2 MOV EAX,dword ptr [EBP + 0x278] 1000fff8 MOV ESI,dword ptr [EBP + 0x28c] 1000fffe CMP EAX,EBX 10010000 MOV byte ptr [ESP + 0x1f8],0x6 10010008 MOV dword ptr [ESP + 0x18],ESI 1001000c JNZ 0x10010021 1001000e PUSH 0x1f40 10010013 CALL 0x100597e7 10010018 ADD ESP,0x4 1001001b MOV dword ptr [EBP + 0x278],EAX 10010021 MOV ECX,dword ptr [EBP + 0x27c] 10010027 LEA EAX,[ESI + ECX*0x1] 1001002a MOV ECX,dword ptr [EBP + 0x280] 10010030 CMP EAX,ECX 10010032 JLE 0x10010092 10010034 LEA EDX,[EAX*0x8 + 0x320] 1001003b PUSH EDX 1001003c CALL 0x100597e7 10010041 MOV ECX,dword ptr [EBP + 0x280] 10010047 MOV ESI,dword ptr [EBP + 0x278] 1001004d SHL ECX,0x3 10010050 MOV dword ptr [ESP + 0x14],EAX 10010054 MOV EDI,EAX 10010056 MOV EAX,ECX 10010058 SHR ECX,0x2 1001005b MOVSD.REP ES:EDI,ESI 1001005d MOV ECX,EAX 1001005f AND ECX,0x3 10010062 MOVSB.REP ES:EDI,ESI 10010064 MOV ECX,dword ptr [EBP + 0x278] 1001006a PUSH ECX 1001006b CALL 0x10059600 10010070 MOV EAX,dword ptr [EBP + 0x27c] 10010076 MOV ECX,dword ptr [ESP + 0x20] 1001007a MOV EDX,dword ptr [ESP + 0x18] 1001007e ADD ESP,0x8 10010081 ADD EAX,ECX 10010083 MOV dword ptr [EBP + 0x278],EDX 10010089 LEA EDX,[EAX + 0x64] 1001008c MOV dword ptr [EBP + 0x280],EDX 10010092 MOV dword ptr [EBP + 0x27c],EAX 10010098 MOV ECX,dword ptr [EBP + 0x28c] 1001009e XOR EAX,EAX 100100a0 CMP ECX,EBX 100100a2 JBE 0x100100d2 100100a4 XOR ECX,ECX 100100a6 MOV ESI,dword ptr [EBP + 0x2f4] 100100ac MOV EDX,ECX 100100ae ADD EDX,ESI 100100b0 MOV ESI,dword ptr [EBP + 0x278] 100100b6 ADD ECX,0x1c 100100b9 MOV dword ptr [ESI + EAX*0x8],EDX 100100bc MOV EDX,dword ptr [EBP + 0x278] 100100c2 MOV byte ptr [EDX + EAX*0x8 + 0x4],0x0 100100c7 MOV EDX,dword ptr [EBP + 0x28c] 100100cd INC EAX 100100ce CMP EAX,EDX 100100d0 JC 0x100100a6 100100d2 LEA EDI,[EBP + 0x5558] 100100d8 MOV ECX,0x19 100100dd XOR EAX,EAX 100100df STOSD.REP ES:EDI 100100e1 MOV dword ptr [EBP + 0x7c90],EBX 100100e7 CALL 0x100282c0 100100ec MOV ECX,dword ptr [ESP + 0x1f0] 100100f3 MOV dword ptr [EBP + 0x7c18],EAX 100100f9 POP EDI 100100fa MOV dword ptr [EBP + 0x7c20],EBX 10010100 MOV dword ptr [EBP + 0x7c24],0x10 1001010a MOV dword ptr [EBP + 0x7c94],0x2 10010114 MOV EAX,EBP 10010116 POP ESI 10010117 POP EBP 10010118 POP EBX 10010119 MOV dword ptr FS:[0x0],ECX 10010120 ADD ESP,0x1ec 10010126 RET 0x10