E0087A75C(signed int __ecx, signed int __edx, signed char* _a4, signed int _a8, signed int _a12, char _a16, signed int* _a20, char _a24, signed int _a28, signed int _a32) {
signed char* _v0;
char _v5;
signed int _v12;
signed int _v16;
signed int _v20;
intOrPtr _v24;
char _v28;
char _v32;
signed int _v36;
signed int _v40;
signed int _v44;
intOrPtr* _v48;
signed int _v52;
signed int* _v56;
intOrPtr _v60;
void _v64;
signed int _v68;
void* _v72;
char _v88;
intOrPtr _v92;
signed int _v96;
intOrPtr _v104;
void _v108;
intOrPtr* _v116;
signed char* _v188;
void* __ebx;
void* __edi;
void* __esi;
void* __ebp;
signed int _t200;
void* _t201;
signed int _t202;
char _t203;
signed int _t205;
signed int _t207;
signed char* _t208;
signed int _t209;
signed int _t210;
signed int _t214;
void* _t217;
signed char* _t220;
void* _t223;
signed int _t228;
void* _t230;
signed int _t231;
void* _t234;
signed char _t237;
intOrPtr* _t242;
void* _t245;
signed int* _t247;
signed int _t248;
intOrPtr _t249;
signed int _t250;
void* _t255;
void* _t260;
void* _t261;
signed char* _t268;
intOrPtr* _t269;
signed char _t270;
signed int _t271;
signed int _t272;
intOrPtr* _t274;
signed int _t275;
signed int _t276;
signed char _t281;
signed int _t285;
signed int _t286;
intOrPtr _t289;
signed int _t296;
signed char* _t297;
signed int _t298;
signed int _t299;
signed int* _t301;
signed char* _t304;
signed int _t314;
signed int _t315;
signed int _t317;
signed int _t326;
void* _t328;
void* _t330;
void* _t331;
void* _t332;
void* _t333;
_t296 = __edx;
_t273 = __ecx;
_push(_t315);
_t301 = _a20;
_v32 = 0;
_v5 = 0;
_t200 = E0087B309(_a8, _a16, _t301);
_t331 = _t330 + 0xc;
_v16 = _t200;
if(_t200 < 0xffffffff || _t200 >= _t301[1]) {
L67:
_t201 = E0087CEBD(_t354);
asm("int3");
_t328 = _t331;
_t332 = _t331 - 0x38;
_push(_t268);
_t269 = _v116;
if( *_t269 == 0x80000003) {
return _t201;
} else {
_push(_t315);
_push(_t301);
_t202 = E00879A26(_t269, _t273, _t296, _t301, _t315);
if( *((intOrPtr*)(_t202 + 8)) != 0) {
__imp__EncodePointer(0);
_t315 = _t202;
if( *((intOrPtr*)(E00879A26(_t269, _t273, _t296, 0, _t315) + 8)) != _t315 && *_t269 != 0xe0434f4d && *_t269 != 0xe0434352) {
_t214 = E0087A22C(_t269, _a4, _a8, _a12, _a16, _a24, _a28);
_t332 = _t332 + 0x1c;
if(_t214 != 0) {
L84:
return _t214;
}
}
}
_t203 = _a16;
_v28 = _t203;
_v24 = 0;
if( *((intOrPtr*)(_t203 + 0xc)) > 0) {
_push(_a24);
E0087A15E(_t269, _t273, 0, _t315, &_v44, &_v28, _a20, _a12, _t203);
_t298 = _v40;
_t333 = _t332 + 0x18;
_t214 = _v44;
_v20 = _t214;
_v12 = _t298;
if(_t298 >= _v32) {
goto L84;
}
_t275 = _t298 * 0x14;
_v16 = _t275;
do {
_t276 = 5;
_t217 = memcpy( &_v64, *((intOrPtr*)( *_t214 + 0x10)) + _t275, _t276 << 2);
_t333 = _t333 + 0xc;
if(_v64 <= _t217 && _t217 <= _v60) {
_t220 = _v48 + 0xfffffff0 + (_v52 << 4);
_t281 = _t220[4];
if(_t281 == 0 || *((char*)(_t281 + 8)) == 0) {
if(( *_t220 & 0x00000040) == 0) {
_push(0);
_push(1);
E0087A6DC(_t269, _a4, _a8, _a12, _a16, _t220, 0, &_v64, _a24, _a28);
_t298 = _v12;
_t333 = _t333 + 0x30;
}
}
}
_t298 = _t298 + 1;
_t214 = _v20;
_t275 = _v16 + 0x14;
_v12 = _t298;
_v16 = _t275;
} while (_t298 < _v32);
goto L84;
}
E0087CEBD(__eflags);
asm("int3");
_push(_t328);
_t297 = _v188;
_push(_t269);
_push(_t315);
_push(0);
_t205 = _t297[4];
__eflags = _t205;
if(_t205 == 0) {
L109:
_t207 = 1;
__eflags = 1;
} else {
_t274 = _t205 + 8;
__eflags = *_t274;
if( *_t274 == 0) {
goto L109;
} else {
__eflags = *_t297 & 0x00000080;
_t304 = _v0;
if(( *_t297 & 0x00000080) == 0) {
L91:
_t270 = _t304[4];
_t317 = 0;
__eflags = _t205 - _t270;
if(_t205 == _t270) {
L101:
__eflags = *_t304 & 0x00000002;
if(( *_t304 & 0x00000002) == 0) {
L103:
_t208 = _a4;
__eflags = *_t208 & 0x00000001;
if(( *_t208 & 0x00000001) == 0) {
L105:
__eflags = *_t208 & 0x00000002;
if(( *_t208 & 0x00000002) == 0) {
L107:
_t317 = 1;
__eflags = 1;
} else {
__eflags = *_t297 & 0x00000002;
if(( *_t297 & 0x00000002) != 0) {
goto L107;
}
}
} else {
__eflags = *_t297 & 0x00000001;
if(( *_t297 & 0x00000001) != 0) {
goto L105;
}
}
} else {
__eflags = *_t297 & 0x00000008;
if(( *_t297 & 0x00000008) != 0) {
goto L103;
}
}
_t207 = _t317;
} else {
_t184 = _t270 + 8;
_t209 = _t184;
while(1) {
_t271 = *_t274;
__eflags = _t271 - *_t209;
if(_t271 != *_t209) {
break;
}
__eflags = _t271;
if(_t271 == 0) {
L97:
_t210 = _t317;
} else {
_t272 = *((intOrPtr*)(_t274 + 1));
__eflags = _t272 - *((intOrPtr*)(_t209 + 1));
if(_t272 != *((intOrPtr*)(_t209 + 1))) {
break;
} else {
_t274 = _t274 + 2;
_t209 = _t209 + 2;
__eflags = _t272;
if(_t272 != 0) {
continue;
} else {
goto L97;
}
}
}
L99:
__eflags = _t210;
if(_t210 == 0) {
goto L101;
} else {
_t207 = 0;
}
goto L110;
}
asm("sbb eax, eax");
_t210 = _t209 | 0x00000001;
__eflags = _t210;
goto L99;
}
} else {
__eflags = *_t304 & 0x00000010;
if(( *_t304 & 0x00000010) != 0) {
goto L109;
} else {
goto L91;
}
}
}
}
L110:
return _t207;
}
} else {
_t268 = _a4;
if( *_t268 != 0xe06d7363 || _t268[0x10] != 3 || _t268[0x14] != 0x19930520 && _t268[0x14] != 0x19930521 && _t268[0x14] != 0x19930522) {
_t315 = 0;
__eflags = 0;
goto L24;
} else {
_t315 = 0;
if(_t268[0x1c] != 0) {
L24:
_t273 = _a12;
_v12 = _t273;
goto L26;
} else {
_t223 = E00879A26(_t268, _t273, _t296, _t301, 0);
if( *((intOrPtr*)(_t223 + 0x10)) == 0) {
L62:
return _t223;
} else {
_t268 = *(E00879A26(_t268, _t273, _t296, _t301, 0) + 0x10);
_t255 = E00879A26(_t268, _t273, _t296, _t301, 0);
_v32 = 1;
_v12 = *((intOrPtr*)(_t255 + 0x14));
if(_t268 == 0 || *_t268 == 0xe06d7363 && _t268[0x10] == 3 && (_t268[0x14] == 0x19930520 || _t268[0x14] == 0x19930521 || _t268[0x14] == 0x19930522) && _t268[0x1c] == _t315) {
goto L67;
} else {
if( *((intOrPtr*)(E00879A26(_t268, _t273, _t296, _t301, _t315) + 0x1c)) == _t315) {
L25:
_t273 = _v12;
_t200 = _v16;
L26:
_v56 = _t301;
_v52 = _t315;
__eflags = *_t268 - 0xe06d7363;
if( *_t268 != 0xe06d7363) {
L58:
__eflags = _t301[3] - _t315;
if(_t301[3] <= _t315) {
goto L61;
} else {
__eflags = _a24;
if(__eflags != 0) {
goto L67;
} else {
_push(_a32);
_push(_a28);
_push(_t200);
_push(_t301);
_push(_a16);
_push(_t273);
_push(_a8);
_push(_t268);
L68();
_t331 = _t331 + 0x20;
goto L61;
}
}
} else {
__eflags = _t268[0x10] - 3;
if(_t268[0x10] != 3) {
goto L58;
} else {
__eflags = _t268[0x14] - 0x19930520;
if(_t268[0x14] == 0x19930520) {
L31:
__eflags = _t301[3] - _t315;
if(_t301[3] > _t315) {
_push(_a28);
E0087A15E(_t268, _t273, _t301, _t315, &_v72, &_v56, _t200, _a16, _t301);
_t296 = _v68;
_t331 = _t331 + 0x18;
_t242 = _v72;
_v48 = _t242;
_v20 = _t296;
__eflags = _t296 - _v60;
if(_t296 < _v60) {
_t285 = _t296 * 0x14;
__eflags = _t285;
_v36 = _t285;
do {
_t286 = 5;
_t245 = memcpy( &_v108, *((intOrPtr*)( *_t242 + 0x10)) + _t285, _t286 << 2);
_t331 = _t331 + 0xc;
__eflags = _v108 - _t245;
if(_v108 <= _t245) {
__eflags = _t245 - _v104;
if(_t245 <= _v104) {
_t289 = 0;
_v24 = 0;
__eflags = _v96;
if(_v96 != 0) {
_t247 = *(_t268[0x1c] + 0xc);
_t299 = *_t247;
_t248 = &(_t247[1]);
__eflags = _t248;
_v40 = _t248;
_t249 = _v92;
_v44 = _t299;
_v28 = _t249;
do {
asm("movsd");
asm("movsd");
asm("movsd");
asm("movsd");
_t314 = _v40;
_t326 = _t299;
__eflags = _t326;
if(_t326 <= 0) {
goto L42;
} else {
while(1) {
_push(_t268[0x1c]);
_t250 = &_v88;
_push( *_t314);
_push(_t250);
L87();
_t331 = _t331 + 0xc;
__eflags = _t250;
if(_t250 != 0) {
break;
}
_t326 = _t326 - 1;
_t314 = _t314 + 4;
__eflags = _t326;
if(_t326 > 0) {
continue;
} else {
_t289 = _v24;
_t249 = _v28;
_t299 = _v44;
goto L42;
}
goto L45;
}
_push(_a24);
_v5 = 1;
_push(_v32);
E0087A6DC(_t268, _a8, _v12, _a16, _a20, &_v88, *_t314, &_v108, _a28, _a32);
_t331 = _t331 + 0x30;
}
L45:
_t296 = _v20;
goto L46;
L42:
_t289 = _t289 + 1;
_t249 = _t249 + 0x10;
_v24 = _t289;
_v28 = _t249;
__eflags = _t289 - _v96;
} while (_t289 != _v96);
goto L45;
}
}
}
L46:
_t296 = _t296 + 1;
_t242 = _v48;
_t285 = _v36 + 0x14;
_v20 = _t296;
_v36 = _t285;
__eflags = _t296 - _v60;
} while (_t296 < _v60);
_t301 = _a20;
_t315 = 0;
__eflags = 0;
}
}
__eflags = _a24;
if(__eflags != 0) {
_push(1);
E0087B334(__eflags);
_t273 = _t268;
}
__eflags = _v5;
if(_v5 != 0) {
L61:
_t223 = E00879A26(_t268, _t273, _t296, _t301, _t315);
__eflags = *((intOrPtr*)(_t223 + 0x1c)) - _t315;
if(__eflags != 0) {
goto L67;
} else {
goto L62;
}
} else {
__eflags = ( *_t301 & 0x1fffffff) - 0x19930521;
if(( *_t301 & 0x1fffffff) < 0x19930521) {
goto L61;
} else {
__eflags = _t301[7];
if(_t301[7] != 0) {
L55:
__eflags = _t301[8] >> 0x00000002 & 0x00000001;
if(__eflags != 0) {
goto L67;
} else {
_push(_t301[7]);
_t228 = E0087B1C5(_t268, _t301, _t315, _t268);
_pop(_t273);
__eflags = _t228;
if(_t228 == 0) {
goto L64;
} else {
goto L61;
}
}
} else {
_t237 = _t301[8] >> 2;
__eflags = _t237 & 0x00000001;
if((_t237 & 0x00000001) == 0) {
goto L61;
} else {
__eflags = _a28;
if(_a28 != 0) {
goto L61;
} else {
goto L55;
}
}
}
}
}
} else {
__eflags = _t268[0x14] - 0x19930521;
if(_t268[0x14] == 0x19930521) {
goto L31;
} else {
__eflags = _t268[0x14] - 0x19930522;
if(_t268[0x14] != 0x19930522) {
goto L58;
} else {
goto L31;
}
}
}
}
}
} else {
_v20 = *((intOrPtr*)(E00879A26(_t268, _t273, _t296, _t301, _t315) + 0x1c));
_t260 = E00879A26(_t268, _t273, _t296, _t301, _t315);
_push(_v20);
*(_t260 + 0x1c) = _t315;
_t261 = E0087B1C5(_t268, _t301, _t315, _t268);
_pop(_t273);
if(_t261 != 0) {
goto L25;
} else {
_t301 = _v20;
_t352 = *_t301 - _t315;
if( *_t301 > _t315) {
_t291 = _t315;
_v20 = _t315;
while(E0087AE31( *((intOrPtr*)(_t291 + _t301[1] + 4)), _t352, 0x886880) == 0) {
_t315 = _t315 + 1;
_t291 = _v20 + 0x10;
_v20 = _v20 + 0x10;
_t354 = _t315 - *_t301;
if(_t315 < *_t301) {
continue;
} else {
}
goto L67;
}
_push(1);
_push(_t268);
E0087B334(__eflags);
_t273 = &_v68;
E0087ADDC( &_v68);
E0087B4F8( &_v68, 0x884e54);
L64:
*(E00879A26(_t268, _t273, _t296, _t301, _t315) + 0x10) = _t268;
_t230 = E00879A26(_t268, _t273, _t296, _t301, _t315);
_t273 = _v12;
*(_t230 + 0x14) = _v12;
_t231 = _a32;
__eflags = _t231;
if(_t231 == 0) {
_t231 = _a8;
}
E0087A342(_t273, _t231, _t268);
E0087B0C5(_a8, _a16, _t301);
_t234 = E0087B282(_t301);
_t331 = _t331 + 0x10;
_push(_t234);
E0087B041(_t268, _t273, _t296, _t301, _t315, __eflags);
}
goto L67;
}
}
}
}
}
}
}
}
0x0087a75c
0x0087a75c
0x0087a763
0x0087a765
0x0087a76e
0x0087a774
0x0087a777
0x0087a77c
0x0087a77f
0x0087a785
0x0087aaf5
0x0087aaf5
0x0087aafa
0x0087aafc
0x0087aafe
0x0087ab01
0x0087ab02
0x0087ab0b
0x0087ac2a
0x0087ab11
0x0087ab11
0x0087ab12
0x0087ab13
0x0087ab1d
0x0087ab20
0x0087ab26
0x0087ab30
0x0087ab55
0x0087ab5a
0x0087ab5f
0x0087ac26
0x00000000
0x0087ac27
0x0087ab5f
0x0087ab30
0x0087ab65
0x0087ab68
0x0087ab6b
0x0087ab71
0x0087ab77
0x0087ab89
0x0087ab8e
0x0087ab91
0x0087ab94
0x0087ab97
0x0087ab9a
0x0087aba0
0x00000000
0x00000000
0x0087aba6
0x0087aba9
0x0087abac
0x0087abbb
0x0087abbc
0x0087abbc
0x0087abc1
0x0087abd4
0x0087abd6
0x0087abdb
0x0087abe6
0x0087abe8
0x0087abea
0x0087ac06
0x0087ac0b
0x0087ac0e
0x0087ac0e
0x0087abe6
0x0087abdb
0x0087ac14
0x0087ac15
0x0087ac18
0x0087ac1b
0x0087ac1e
0x0087ac21
0x00000000
0x0087abac
0x0087ac2b
0x0087ac30
0x0087ac31
0x0087ac34
0x0087ac37
0x0087ac38
0x0087ac39
0x0087ac3a
0x0087ac3d
0x0087ac3f
0x0087acb7
0x0087acb9
0x0087acb9
0x0087ac41
0x0087ac41
0x0087ac44
0x0087ac47
0x00000000
0x0087ac49
0x0087ac49
0x0087ac4c
0x0087ac4f
0x0087ac56
0x0087ac56
0x0087ac59
0x0087ac5b
0x0087ac5d
0x0087ac8f
0x0087ac8f
0x0087ac92
0x0087ac99
0x0087ac99
0x0087ac9c
0x0087ac9f
0x0087aca6
0x0087aca6
0x0087aca9
0x0087acb0
0x0087acb2
0x0087acb2
0x0087acab
0x0087acab
0x0087acae
0x00000000
0x00000000
0x0087acae
0x0087aca1
0x0087aca1
0x0087aca4
0x00000000
0x00000000
0x0087aca4
0x0087ac94
0x0087ac94
0x0087ac97
0x00000000
0x00000000
0x0087ac97
0x0087acb3
0x0087ac5f
0x0087ac5f
0x0087ac5f
0x0087ac62
0x0087ac62
0x0087ac64
0x0087ac66
0x00000000
0x00000000
0x0087ac68
0x0087ac6a
0x0087ac7e
0x0087ac7e
0x0087ac6c
0x0087ac6c
0x0087ac6f
0x0087ac72
0x00000000
0x0087ac74
0x0087ac74
0x0087ac77
0x0087ac7a
0x0087ac7c
0x00000000
0x00000000
0x00000000
0x00000000
0x0087ac7c
0x0087ac72
0x0087ac87
0x0087ac87
0x0087ac89
0x00000000
0x0087ac8b
0x0087ac8b
0x0087ac8b
0x00000000
0x0087ac89
0x0087ac82
0x0087ac84
0x0087ac84
0x00000000
0x0087ac84
0x0087ac51
0x0087ac51
0x0087ac54
0x00000000
0x00000000
0x00000000
0x00000000
0x0087ac54
0x0087ac4f
0x0087ac47
0x0087acba
0x0087acbe
0x0087acbe
0x0087a794
0x0087a794
0x0087a79d
0x0087a89e
0x0087a89e
0x00000000
0x0087a7cc
0x0087a7cc
0x0087a7d1
0x0087a8a0
0x0087a8a0
0x0087a8a3
0x00000000
0x0087a7d7
0x0087a7d7
0x0087a7df
0x0087aa91
0x0087aa95
0x0087a7e5
0x0087a7ea
0x0087a7ed
0x0087a7f2
0x0087a7f9
0x0087a7fe
0x00000000
0x0087a836
0x0087a83e
0x0087a8a8
0x0087a8a8
0x0087a8ab
0x0087a8ae
0x0087a8ae
0x0087a8b1
0x0087a8b4
0x0087a8ba
0x0087aa60
0x0087aa60
0x0087aa63
0x00000000
0x0087aa65
0x0087aa65
0x0087aa69
0x00000000
0x0087aa6f
0x0087aa6f
0x0087aa72
0x0087aa75
0x0087aa76
0x0087aa77
0x0087aa7a
0x0087aa7b
0x0087aa7e
0x0087aa7f
0x0087aa84
0x00000000
0x0087aa84
0x0087aa69
0x0087a8c0
0x0087a8c0
0x0087a8c4
0x00000000
0x0087a8ca
0x0087a8ca
0x0087a8d1
0x0087a8e9
0x0087a8e9
0x0087a8ec
0x0087a8f2
0x0087a902
0x0087a907
0x0087a90a
0x0087a90d
0x0087a910
0x0087a913
0x0087a916
0x0087a919
0x0087a91f
0x0087a91f
0x0087a922
0x0087a925
0x0087a934
0x0087a935
0x0087a935
0x0087a937
0x0087a93a
0x0087a940
0x0087a943
0x0087a949
0x0087a94b
0x0087a94e
0x0087a951
0x0087a95a
0x0087a95d
0x0087a95f
0x0087a95f
0x0087a962
0x0087a965
0x0087a968
0x0087a96b
0x0087a96e
0x0087a973
0x0087a974
0x0087a975
0x0087a976
0x0087a977
0x0087a97a
0x0087a97c
0x0087a97e
0x00000000
0x0087a980
0x0087a980
0x0087a980
0x0087a983
0x0087a986
0x0087a988
0x0087a989
0x0087a98e
0x0087a991
0x0087a993
0x00000000
0x00000000
0x0087a995
0x0087a996
0x0087a999
0x0087a99b
0x00000000
0x0087a99d
0x0087a99d
0x0087a9a0
0x0087a9a3
0x00000000
0x0087a9a3
0x00000000
0x0087a99b
0x0087a9b7
0x0087a9bd
0x0087a9c1
0x0087a9de
0x0087a9e3
0x0087a9e3
0x0087a9e6
0x0087a9e6
0x00000000
0x0087a9a6
0x0087a9a6
0x0087a9a7
0x0087a9aa
0x0087a9ad
0x0087a9b0
0x0087a9b0
0x00000000
0x0087a9b5
0x0087a951
0x0087a943
0x0087a9e9
0x0087a9ec
0x0087a9ed
0x0087a9f0
0x0087a9f3
0x0087a9f6
0x0087a9f9
0x0087a9f9
0x0087aa02
0x0087aa05
0x0087aa05
0x0087aa05
0x0087a919
0x0087aa07
0x0087aa0b
0x0087aa0d
0x0087aa10
0x0087aa16
0x0087aa16
0x0087aa17
0x0087aa1b
0x0087aa87
0x0087aa87
0x0087aa8c
0x0087aa8f
0x00000000
0x00000000
0x00000000
0x00000000
0x0087aa1d
0x0087aa24
0x0087aa29
0x00000000
0x0087aa2b
0x0087aa2b
0x0087aa2f
0x0087aa41
0x0087aa47
0x0087aa49
0x00000000
0x0087aa4f
0x0087aa4f
0x0087aa53
0x0087aa59
0x0087aa5a
0x0087aa5c
0x00000000
0x0087aa5e
0x00000000
0x0087aa5e
0x0087aa5c
0x0087aa31
0x0087aa34
0x0087aa37
0x0087aa39
0x00000000
0x0087aa3b
0x0087aa3b
0x0087aa3f
0x00000000
0x00000000
0x00000000
0x00000000
0x0087aa3f
0x0087aa39
0x0087aa2f
0x0087aa29
0x0087a8d3
0x0087a8d3
0x0087a8da
0x00000000
0x0087a8dc
0x0087a8dc
0x0087a8e3
0x00000000
0x00000000
0x00000000
0x00000000
0x0087a8e3
0x0087a8da
0x0087a8d1
0x0087a8c4
0x0087a840
0x0087a848
0x0087a84b
0x0087a850
0x0087a854
0x0087a857
0x0087a85d
0x0087a860
0x00000000
0x0087a862
0x0087a862
0x0087a865
0x0087a867
0x0087a86d
0x0087a86f
0x0087a872
0x0087a88e
0x0087a88f
0x0087a892
0x0087a895
0x0087a897
0x00000000
0x00000000
0x0087a899
0x00000000
0x0087a897
0x0087aa96
0x0087aa98
0x0087aa99
0x0087aaa0
0x0087aaa3
0x0087aab1
0x0087aab6
0x0087aabb
0x0087aabe
0x0087aac3
0x0087aac6
0x0087aac9
0x0087aacc
0x0087aace
0x0087aad0
0x0087aad0
0x0087aad5
0x0087aae1
0x0087aae7
0x0087aaec
0x0087aaef
0x0087aaf0
0x0087aaf0
0x00000000
0x0087a867
0x0087a860
0x0087a83e
0x0087a7fe
0x0087a7df
0x0087a7d1
0x0087a79d