What could this be:
Code:
// disasm -- show blocks -- show stats
L1000C1DF()
{
_unknown_ r1;
_unknown_ r4;
_unknown_ r5;
_unknown_ r6;
_unknown_ _t345;
_unknown_ _t349;
_unknown_ _t351;
_unknown_ _t353;
signed int _t359;
unsigned int _t364;
signed int _t367;
unsigned int _t372;
unsigned int _t378;
intOrPtr _t382;
_unknown_ _t383;
_unknown_ _t384;
signed int _t388;
signed int _t393;
signed int _t398;
_unknown_ _t402;
signed char _t406;
_unknown_ _t408;
intOrPtr _t409;
signed int _t412;
signed int _t415;
signed int _t419;
signed int _t423;
intOrPtr _t424;
signed int _t427;
_unknown_ _t431;
_unknown_ _t439;
_unknown_ _t444;
_unknown_ _t448;
_unknown_ _t453;
_unknown_ _t459;
_unknown_ _t464;
signed int _t477;
_unknown_ _t481;
_unknown_ _t482;
intOrPtr _t486;
_unknown_ _t489;
_unknown_ _t494;
_unknown_ _t495;
_unknown_ _t498;
signed int _t510;
intOrPtr _t513;
_unknown_ _t515;
signed int _t525;
_unknown_ _t528;
_unknown_ _t535;
_unknown_ _t536;
char* _t538;
signed int _t550;
unsigned int _t552;
unsigned int _t554;
signed int _t557;
unsigned int _t559;
intOrPtr* _t562;
signed int _t565;
_unknown_ _t568;
signed int _t569;
intOrPtr _t570;
signed int _t577;
_unknown_ _t581;
unsigned int _t583;
signed int _t587;
unsigned int _t588;
char* _t590;
_unknown_ _t593;
unsigned int _t596;
unsigned int _t598;
unsigned int _t602;
unsigned int _t603;
unsigned int _t605;
unsigned int _t608;
unsigned int _t610;
signed int _t612;
unsigned int _t613;
intOrPtr _t616;
intOrPtr* _t618;
unsigned int _t619;
signed int _t621;
_unknown_ _t622;
unsigned int _t623;
unsigned int _t628;
intOrPtr _t630;
intOrPtr _t635;
intOrPtr _t636;
intOrPtr _t639;
signed int _t640;
signed int _t642;
signed int _t643;
signed int _t644;
signed int _t645;
signed int _t660;
signed int _t662;
unsigned int _t666;
unsigned int _t667;
unsigned int _t670;
unsigned int _t671;
intOrPtr* _t674;
intOrPtr* _t677;
intOrPtr* _t680;
signed int _t685;
signed int _t687;
signed int _t688;
unsigned int _t689;
signed int _t691;
signed int _t692;
signed int _t693;
intOrPtr* _t695;
signed int _t698;
signed int _t701;
signed int _t703;
signed int _t704;
signed int _t705;
_unknown_ _t706;
signed int _t708;
intOrPtr* _t712;
_unknown_ _t716;
_unknown_ _t718;
intOrPtr _t719;
intOrPtr* _t723;
_unknown_ _t725;
_t590 = *(r7[36]);
*(r7[29]) = 0;
*((char*)(r7[28])) = 0;
*(r7[30]) = _t590 + 4;
*(r7[27]) = (1 << ( *(_t590 + 2) & 255)) - 1;
*(r7[26]) = (1 << ( *(_t590 + 1) & 255)) - 1;
_t660 = *_t590 & 255;
*((intOrPtr*)( *(r7[39]))) = 0;
*(r7[24]) = 0;
*((intOrPtr*)( *(r7[42]))) = 0;
*(r7[25]) = _t660;
*(r7[23]) = 1;
*(r7[22]) = 1;
*(r7[21]) = 1;
*(r7[20]) = 1;
if( *(r7[29]) < (768 << ( *(_t590 + 1) & 255) + _t660) + 1846) {
*((short*)( *(r7[30]))) = 1024;
asm("loop 0xfffffffffffffff8");
}
_t538 = *(r7[37]);
_t640 = 0;
*(r7[18]) = 4294967295;
*(r7[19]) = _t538 + *(r7[38]);
_t593 = 0;
do {
if(_t538 == *(r7[19])) {
return 1;
}
_t593 = _t593 + 1;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
} while(_t593 <= 4);
if( *(r7[29]) >= *(r7[41])) {
goto L125;
} else {
goto L6;
}
L6:
_t662 = *(r7[29]) & *(r7[27]);
*(r7[17]) = _t662;
_t695 = *(r7[30]) + (( *(r7[24]) << 4) + _t662) * 2;
if( *(r7[18]) <= 16777215) {
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L9;
}
}
L9:
_t596 = *_t695;
_t550 = _t596 & 65535;
_t359 = ( *(r7[18]) >> 11) * _t550;
if(_t640 >= _t359) {
_t642 = _t640 - _t359;
_t552 = *(r7[18]) - _t359;
r9 = _t552 - 16777215;
*_t695 = _t596 - (_t596 >> 5);
*(r7[14]) = *(r7[30]) + 0 + *(r7[24]) * 2;
if(_t552 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t552 = _t552 << 8;
_t538 = _t538 + 1;
_t642 = _t642 << 8 | *_t538 & 255;
goto L36;
}
}
goto L36;
}
L10:
*(r7[18]) = _t359;
_t691 = 1;
*_t695 = (2048 - _t550 >> 5) + _t596;
*(r7[5]) = ((( *(r7[29]) & *(r7[26])) << *(r7[25])) + (( *((char*)(r7[28])) & 255) >> 8 - *(r7[25]))) * ((( *(r7[29]) & *(r7[26])) << *(r7[25])) + (( *((char*)(r7[28])) & 255) >> 8 - *(r7[25]))) + *(r7[30]) + 3692;
if( *(r7[24]) <= 6) {
goto L22;
} else {
*(r7[16]) = *((char*)( *(r7[29]) - *(r7[23]) + *(r7[40]))) & 255;
goto L12;
}
L12:
*(r7[16]) = *(r7[16]) << 1;
_t639 = _t691 + _t691;
_t587 = *(r7[16]) & 256;
*(r7[15]) = _t587;
_t725 = _t639 + *(r7[5]) + 0 + _t587 * 2;
if( *(r7[18]) <= 16777215) {
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L15;
}
}
L15:
_t588 = *((intOrPtr*)(_t725 + 512));
_t693 = _t588 & 65535;
_t525 = ( *(r7[18]) >> 11) * _t693;
if(_t640 >= _t525) {
goto L18;
}
L16:
*(r7[18]) = _t525;
_t691 = _t639;
*((intOrPtr*)(_t725 + 512)) = (2048 - _t693 >> 5) + _t588;
if( *(r7[15]) == 0) {
goto L19;
} else {
goto L21;
}
L21:
if(_t691 > 255) {
goto L28;
} else {
goto L22;
}
L22:
_t635 = _t691 + _t691;
_t723 = *(r7[5]) + _t635;
if( *(r7[18]) <= 16777215) {
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L25;
}
}
L25:
_t583 = *_t723;
_t692 = _t583 & 65535;
_t510 = ( *(r7[18]) >> 11) * _t692;
if(_t640 >= _t510) {
*(r7[18]) = *(r7[18]) - _t510;
_t640 = _t640 - _t510;
_t691 = _t635 + 1;
*_t723 = _t583 - (_t583 >> 5);
} else {
*(r7[18]) = _t510;
_t691 = _t635;
*_t723 = (2048 - _t692 >> 5) + _t583;
}
L28:
_t636 = *(r7[29]);
_t513 = _t691;
*(r7[28]) = _t513;
*((intOrPtr*)( *(r7[40]) + _t636)) = _t513;
r9 = *(r7[24]) - 3;
*(r7[29]) = _t636 + 1;
if( *(r7[24]) > 3) {
r9 = *(r7[24]) - 9;
if( *(r7[24]) > 9) {
*(r7[24]) = *(r7[24]) - 6;
} else {
*(r7[24]) = *(r7[24]) - 3;
}
} else {
*(r7[24]) = 0;
}
L119:
r9 = *(r7[29]) - *(r7[41]);
if( *(r7[29]) < *(r7[41])) {
goto L6;
} else {
goto L120;
}
L120:
r9 = *(r7[18]) - 16777215;
if( *(r7[18]) <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
return 1;
} else {
_t538 = _t538 + 1;
goto L125;
}
}
goto L125;
L125:
*((intOrPtr*)( *(r7[39]))) = _t538 - *(r7[37]);
*((intOrPtr*)( *(r7[42]))) = *(r7[29]);
return 0;
L19:
r9 = _t691 - 255;
if(_t691 <= 255) {
goto L12;
} else {
goto L28;
}
L18:
*(r7[18]) = *(r7[18]) - _t525;
_t640 = _t640 - _t525;
_t691 = _t639 + 1;
r9 = *(r7[15]);
*((intOrPtr*)(_t725 + 512)) = _t588 - (_t588 >> 5);
if( *(r7[15]) == 0) {
goto L21;
} else {
goto L19;
}
L36:
_t598 = *((intOrPtr*)( *(r7[14]) + 384));
_t698 = _t598 & 65535;
_t364 = (_t552 >> 11) * _t698;
r9 = _t642 - _t364;
if(_t642 >= _t364) {
goto L38;
} else {
_t670 = _t364;
*(r7[20]) = *(r7[21]);
*((intOrPtr*)( *(r7[14]) + 384)) = (2048 - _t698 >> 5) + _t598;
*(r7[21]) = *(r7[22]);
*(r7[22]) = *(r7[23]);
r9 = *(r7[24]) - 6;
_t562 = *(r7[30]) + 1636;
*(r7[24]) = 0;
goto L63;
}
L63:
r9 = _t670 - 16777215;
if(_t670 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t670 = _t670 << 8;
_t538 = _t538 + 1;
_t644 = _t644 << 8 | *_t538 & 255;
goto L66;
}
}
L66:
_t608 = *_t562;
_t703 = _t608 & 65535;
_t388 = (_t670 >> 11) * _t703;
r9 = _t644 - _t388;
if(_t644 >= _t388) {
goto L68;
} else {
*(r7[18]) = _t388;
*(r7[17]) = *(r7[17]) << 4;
*(r7[11]) = 0;
*_t562 = (2048 - _t703 >> 5) + _t608;
*(r7[4]) = *(r7[17]) + (_t562[1]);
goto L73;
}
L73:
*(r7[12]) = 3;
goto L75;
L75:
_t612 = 1;
*(r7[10]) = *(r7[12]);
do {
_t705 = _t612 + _t612;
_t674 = *(r7[4]) + _t705;
r9 = *(r7[18]) - 16777215;
if( *(r7[18]) <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L79;
}
}
L79:
_t613 = *_t674;
_t565 = _t613 & 65535;
_t398 = ( *(r7[18]) >> 11) * _t565;
r9 = _t640 - _t398;
if(r9 >= 0) {
*(r7[18]) = *(r7[18]) - _t398;
_t640 = _t640 - _t398;
*_t674 = _t613 - (_t613 >> 5);
_t612 = _t705 + 1;
} else {
*(r7[18]) = _t398;
_t612 = _t705;
*_t674 = (2048 - _t565 >> 5) + _t613;
}
*(r7[10]) = *(r7[10]) - 1;
} while(r9 != 0);
_t616 = _t612 - (1 << *(r7[12])) + *(r7[11]);
r9 = *(r7[24]) - 3;
*(r7[3]) = _t616;
if( *(r7[24]) > 3) {
goto L114;
} else {
*(r7[24]) = *(r7[24]) + 7;
r9 = _t616 - 3;
_t409 = _t616;
if(_t616 > 3) {
_t409 = 3;
}
*(r7[9]) = 6;
*(r7[2]) = (_t409 << 7) + *(r7[30]) + 864;
_t412 = 1;
goto L87;
}
L87:
do {
_t708 = _t412 + _t412;
_t680 = *(r7[2]) + _t708;
r9 = *(r7[18]) - 16777215;
if( *(r7[18]) <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L90;
}
}
L90:
_t619 = *_t680;
_t569 = _t619 & 65535;
_t415 = ( *(r7[18]) >> 11) * _t569;
r9 = _t640 - _t415;
if(r9 >= 0) {
*(r7[18]) = *(r7[18]) - _t415;
_t640 = _t640 - _t415;
_t412 = _t708 + 1;
*_t680 = _t619 - (_t619 >> 5);
} else {
*(r7[18]) = _t415;
*_t680 = (2048 - _t569 >> 5) + _t619;
_t412 = _t708;
}
*(r7[9]) = *(r7[9]) - 1;
} while(r9 != 0);
_t621 = _t412 - 64;
r9 = _t621 - 3;
*r7 = _t621;
if(r9 <= 0) {
goto L113;
}
L95:
_t419 = _t621 >> 1;
_t570 = _t419 - 1;
_t685 = _t621 & 1 | 2;
r9 = _t621 - 13;
*(r7[8]) = _t570;
if(_t621 > 13) {
_t622 = _t419 - 5;
goto L98;
} else {
_t688 = _t685 << _t570;
*r7 = _t688;
*(r7[1]) = *(r7[30]) + 0 + _t688 * 2 - _t621 + _t621 + 1374;
goto L105;
}
L105:
*(r7[7]) = 1;
_t423 = 1;
do {
_t424 = _t423 + _t423;
*(r7[6]) = _t424;
_t712 = *(r7[1]) + _t424;
r9 = *(r7[18]) - 16777215;
if( *(r7[18]) <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L109;
}
}
L109:
_t623 = *_t712;
_t687 = _t623 & 65535;
_t427 = ( *(r7[18]) >> 11) * _t687;
r9 = _t640 - _t427;
if(r9 >= 0) {
*(r7[18]) = *(r7[18]) - _t427;
_t640 = _t640 - _t427;
*_t712 = _t623 - (_t623 >> 5);
_t423 = *(r7[6]) + 1;
*r7 = *r7 | *(r7[7]);
} else {
*(r7[18]) = _t427;
*_t712 = (2048 - _t687 >> 5) + _t623;
_t423 = *(r7[6]);
}
*(r7[7]) = *(r7[7]) << 1;
*(r7[8]) = *(r7[8]) - 1;
} while(r9 != 0);
L113:
*(r7[23]) = *r7 + 1;
if(r9 == 0) {
goto L120;
} else {
goto L114;
}
L114:
_t706 = *(r7[29]);
_t568 = *(r7[3]) + 2;
r9 = *(r7[23]) - _t706;
if(r9 > 0) {
return 1;
}
_t618 = _t706 + *(r7[40]);
_t677 = _t706 + *(r7[40]) - *(r7[23]);
goto L116;
L116:
_t406 = *_t677;
_t677 = (_t677[0]);
*(r7[28]) = _t406;
*_t618 = _t406;
_t618 = (_t618[0]);
*(r7[29]) = *(r7[29]) + 1;
_t568 = _t568 - 1;
if(r9 == 0) {
goto L119;
}
L117:
r9 = *(r7[29]) - *(r7[41]);
if(r9 < 0) {
goto L116;
} else {
goto L120;
}
L98:
r9 = *(r7[18]) - 16777215;
if( *(r7[18]) <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
*(r7[18]) = *(r7[18]) << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L101;
}
}
L101:
*(r7[18]) = *(r7[18]) >> 1;
_t685 = _t685 + _t685;
r9 = _t640 - *(r7[18]);
if(r9 >= 0) {
_t640 = _t640 - *(r7[18]);
_t685 = _t685 | 1;
}
_t622 = _t622 - 1;
if(r9 != 0) {
goto L98;
} else {
*r7 = _t685 << 4;
*(r7[8]) = 4;
*(r7[1]) = *(r7[30]) + 1604;
goto L105;
}
L68:
_t671 = _t670 - _t388;
_t645 = _t644 - _t388;
r9 = _t671 - 16777215;
*_t562 = _t608 - (_t608 >> 5);
if(_t671 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t671 = _t671 << 8;
_t538 = _t538 + 1;
_t645 = _t645 << 8 | *_t538 & 255;
goto L71;
}
}
L71:
_t610 = *(_t562[0]);
_t704 = _t610 & 65535;
_t393 = (_t671 >> 11) * _t704;
r9 = _t645 - _t393;
if(_t645 >= _t393) {
_t640 = _t645 - _t393;
*(r7[18]) = _t671 - _t393;
*(r7[11]) = 16;
*(r7[12]) = 8;
*(_t562[0]) = _t610 - (_t610 >> 5);
*(r7[4]) = _t562 + 516;
goto L75;
} else {
*(r7[18]) = _t393;
*(r7[17]) = *(r7[17]) << 4;
*(r7[11]) = 8;
*(_t562[0]) = (2048 - _t704 >> 5) + _t610;
*(r7[4]) = *(r7[17]) + (_t562[65]);
goto L73;
}
L38:
_t640 = _t642 - _t364;
_t666 = _t552 - _t364;
r9 = _t666 - 16777215;
*((intOrPtr*)( *(r7[14]) + 384)) = _t598 - (_t598 >> 5);
if(_t666 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t666 = _t666 << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L41;
}
}
L41:
_t554 = *((intOrPtr*)( *(r7[14]) + 408));
_t367 = _t554 & 65535;
_t602 = (_t666 >> 11) * _t367;
r9 = _t640 - _t602;
if(_t640 >= _t602) {
_t667 = _t666 - _t602;
_t643 = _t640 - _t602;
r9 = _t667 - 16777215;
*((intOrPtr*)( *(r7[14]) + 408)) = _t554 - (_t554 >> 5);
if(_t667 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t667 = _t667 << 8;
_t538 = _t538 + 1;
_t643 = _t643 << 8 | *_t538 & 255;
goto L52;
}
}
L52:
_t603 = *((intOrPtr*)( *(r7[14]) + 432));
_t557 = _t603 & 65535;
_t372 = (_t667 >> 11) * _t557;
r9 = _t643 - _t372;
if(_t643 >= _t372) {
_t644 = _t643 - _t372;
_t559 = _t667 - _t372;
r9 = _t559 - 16777215;
*((intOrPtr*)( *(r7[14]) + 432)) = _t603 - (_t603 >> 5);
if(_t559 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t559 = _t559 << 8;
_t538 = _t538 + 1;
_t644 = _t644 << 8 | *_t538 & 255;
goto L57;
}
}
L57:
_t605 = *((intOrPtr*)( *(r7[14]) + 456));
_t701 = _t605 & 65535;
_t378 = (_t559 >> 11) * _t701;
r9 = _t644 - _t378;
if(_t644 >= _t378) {
_t644 = _t644 - _t378;
_t670 = _t559 - _t378;
*((intOrPtr*)( *(r7[14]) + 456)) = _t605 - (_t605 >> 5);
_t382 = *(r7[20]);
*(r7[20]) = *(r7[21]);
} else {
_t670 = _t378;
*((intOrPtr*)( *(r7[14]) + 456)) = (2048 - _t701 >> 5) + _t605;
_t382 = *(r7[21]);
}
*(r7[21]) = *(r7[22]);
} else {
_t670 = _t372;
*((intOrPtr*)( *(r7[14]) + 432)) = (2048 - _t557 >> 5) + _t603;
_t382 = *(r7[22]);
}
*(r7[23]) = _t382;
*(r7[22]) = *(r7[23]);
goto L62;
}
L42:
_t689 = _t602;
*(r7[13]) = 2048;
*((intOrPtr*)( *(r7[14]) + 408)) = (2048 - _t367 >> 5) + _t554;
r9 = _t602 - 16777215;
_t718 = ( *(r7[24]) << 5) + *(r7[30]) + *(r7[17]) * 2;
if(_t602 <= 16777215) {
r9 = _t538 - *(r7[19]);
if(_t538 == *(r7[19])) {
goto L123;
} else {
_t689 = _t689 << 8;
_t538 = _t538 + 1;
_t640 = _t640 << 8 | *_t538 & 255;
goto L45;
}
}
L45:
_t628 = *((intOrPtr*)(_t718 + 480));
_t577 = _t628 & 65535;
_t477 = (_t689 >> 11) * _t577;
r9 = _t640 - _t477;
if(_t640 >= _t477) {
_t670 = _t689 - _t477;
_t644 = _t640 - _t477;
*((intOrPtr*)(_t718 + 480)) = _t628 - (_t628 >> 5);
goto L62;
} else {
*(r7[13]) = *(r7[13]) - _t577;
*(r7[13]) = *(r7[13]) >> 5;
*(r7[18]) = _t477;
r9 = *(r7[29]);
*((intOrPtr*)(_t718 + 480)) = *(r7[13]) + _t628;
if( *(r7[29]) == 0) {
goto L123;
} else {
r9 = *(r7[24]) - 6;
_t719 = *(r7[40]);
_t630 = *(r7[29]);
*(r7[24]) = 9;
_t486 = *((intOrPtr*)( *(r7[29]) - *(r7[23]) + _t719));
*(r7[28]) = _t486;
*((intOrPtr*)(_t719 + _t630)) = _t486;
*(r7[29]) = _t630 + 1;
goto L119;
}
}
L62:
r9 = *(r7[24]) - 6;
_t562 = *(r7[30]) + 2664;
*(r7[24]) = 8;
goto L63;
}