Advertisement
Angrypeppermushroom

Sphinx & The Cursed Mummy [SOURCE CODE]

Aug 13th, 2015
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 217.80 KB | None | 0 0
  1. // Generated by Rec Studio 4 - build Jun  2 2014
  2.  
  3. L001033B8(
  4.     _unknown_ __a0                         // r4
  5. )
  6. {
  7.     intOrPtr _t6;                          // _t6
  8.  
  9.     __a0 = __a0;
  10.      *((intOrPtr*)(__a0 + 8)) = 23199744;
  11.     _t6 =  *((intOrPtr*)(__a0)) - 23199744;
  12.      *((intOrPtr*)(__a0 + 4)) = _t6;
  13.     return _t6;
  14. }
  15.  
  16. L002712C0(
  17.     _unknown_ __v1,                        // r3
  18.     signed int __a0,                       // r4
  19.     signed int __a1,                       // r5
  20.     _unknown_ __a2                         // r6
  21. )
  22. {
  23.     __a2 = __a2;
  24.     asm("dsra32 a2,a0,#0");
  25.     asm("dsra32 v1,a1,#0");
  26.     asm("dsll32 a0,a0,#0");
  27.     asm("dsra32 a0,a0,#0");
  28.     asm("dsll32 a1,a1,#0");
  29.     asm("dsra32 a1,a1,#0");
  30.     asm(".long 0x831818");
  31.     asm(".long 0x70c53018");
  32.     __hi = __a0 * __a1 >> 32;
  33.     _t2 = __hi;
  34.     asm("dsll32 a0,a0,#0");
  35.     asm("dsll32 v0,v0,#0");
  36.     asm("dsrl32 a0,a0,#0");
  37.     asm("dsrl32 a1,a1,#0");
  38.     asm("dsra32 v0,a0,#0");
  39.     asm("dsll32 v0,v0,#0");
  40.     return (__hi | __hi) & -65536 | _t2 + __v1 + __a2;
  41. }
  42.  
  43. L002AEE78(
  44.     intOrPtr __a0,                         // r4
  45.     intOrPtr __a1                          // r5
  46. )
  47. {
  48.     intOrPtr* _t10;                        // _t10
  49.  
  50.     __a1 = __a1;
  51.     __a0 = __a0;
  52.      *((intOrPtr*)(__a1)) = __a0;
  53.      *((intOrPtr*)(__a1 + 4)) =  *((intOrPtr*)(__a0 + 4));
  54.     _t10 =  *((intOrPtr*)(__a0 + 4));
  55.     asm("bnel v0,zero,0x8");
  56.      *_t10 = __a1;
  57.      *((intOrPtr*)(__a0 + 4)) = __a1;
  58.     return _t10;
  59. }
  60.  
  61. L002AEE98(
  62.     _unknown_ __a0                         // r4
  63. )
  64. {
  65.     intOrPtr _t17;                         // _t17
  66.  
  67.     __a0 = __a0;
  68.     asm("beql v1,zero,0x14");
  69.      *((intOrPtr*)( *((intOrPtr*)(__a0 + 4)) + 4)) =  *((intOrPtr*)(__a0 + 4));
  70.     asm("beql v1,zero,0x14");
  71.      *((intOrPtr*)(__a0)) = 0;
  72.     _t17 =  *((intOrPtr*)(__a0));
  73.      *((intOrPtr*)( *((intOrPtr*)(__a0 + 4)))) = _t17;
  74.      *((intOrPtr*)(__a0)) = 0;
  75.      *((intOrPtr*)(__a0 + 4)) = 0;
  76.     return _t17;
  77. }
  78.  
  79. L002AEED0(
  80.     _unknown_ __a0,                        // r4
  81.     intOrPtr __a1                          // r5
  82. )
  83. {
  84.     intOrPtr _t15;                         // _t15
  85.  
  86.     __a1 = __a1;
  87.     __a0 = __a0;
  88.      *((intOrPtr*)(__a1)) = 0;
  89.      *((intOrPtr*)(__a1 + 4)) =  *((intOrPtr*)(__a0));
  90.     asm("bnel v0,zero,0x8");
  91.      *((intOrPtr*)( *((intOrPtr*)(__a0)))) = __a1;
  92.     _t15 =  *((intOrPtr*)(__a0 + 4));
  93.      *((intOrPtr*)(__a0)) = __a1;
  94.     if(_t15 == 0) {
  95.          *((intOrPtr*)(__a0 + 4)) = __a1;
  96.         return _t15;
  97.     }
  98.     return _t15;
  99. }
  100.  
  101. L002AF460(
  102.     _unknown_ __a0,                        // r4
  103.     signed int __a1,                       // r5
  104.     signed int __a3,                       // r7
  105.     signed int __t0,                       // r8
  106.     unsigned int __t3,                     // r11
  107.     signed int* __s0                       // r16
  108. )
  109. {
  110.     signed int _t77;                       // _t77
  111.     signed int _t80;                       // _t80
  112.     signed int _t82;                       // _t82
  113.     _unknown_ _t83;                        // _t83
  114.     _unknown_ _t92;                        // _t92
  115.     signed int* _t93;                      // _t93
  116.     signed int _t94;                       // _t94
  117.     signed int _t98;                       // _t98
  118.     _unknown_ _t102;                       // _t102
  119.     signed int _t103;                      // _t103
  120.     signed int _t105;                      // _t105
  121.     unsigned int _t107;                    // _t107
  122.  
  123.     __s0 = __s0;
  124.     _t107 = __t3;
  125.     _t105 = __t0;
  126.     _t103 = __a3;
  127.     _t94 = __a1;
  128.     _t92 = __a0;
  129.     asm(".long 0x7fb00010");
  130.     asm("daddu t3,a2,zero");
  131.     _t82 = __a1 + 31;
  132.     asm("daddu s0,a0,zero");
  133.     asm("sd ra,0(sp)");
  134.     __t2 = __t3 >> 2;
  135.     __t1 = _t82 & 0xffffffffffffffe0;
  136.     if(__t2 != 0) {
  137.         asm("daddu v1,a1,zero");
  138.         _t102 = 0x51515151;
  139.         do {
  140.              *_t82 = _t102;
  141.             _t92 = _t92 + 1;
  142.             _t82 = _t82 + 4;
  143.         } while(__t2 < _t92);
  144.     }
  145.     __s0[0x11] = _t94;
  146.     __s0[0x10] = _t105;
  147.     asm("daddu t2,v0,zero");
  148.      *__s0 = __t1;
  149.     _t98 = _t103 << 2;
  150.     __s0[0xe] = _t103;
  151.     _t83 = _t107 + -128;
  152.     __s0[0xf] = _t107;
  153.     asm("daddu a1,zero,zero");
  154.     __s0[5] = 0;
  155.     _t93 =  &(__s0[8]);
  156.     __s0[4] = 0;
  157.     __s0[7] = 0;
  158.     __s0[6] = 0;
  159.     do {
  160.         _t93[1] = 0;
  161.         _t94 = _t94 + 1;
  162.          *_t93 = 0;
  163.         _t93 =  &(_t93[2]);
  164.     } while(_t94 < 3);
  165.      *(_t98 + 0x3d3b10) = __s0;
  166.      *(__t1 + 24) = 0;
  167.      *((char*)(__t1 + 26)) = 2;
  168.      *(__t1 + 8) = 0;
  169.      *(__t1 + 20) = _t83 + 31 >> 5 << 5;
  170.      *((intOrPtr*)(__t1 + 4)) = 0;
  171.      *((intOrPtr*)(__t1 + 12)) = 0;
  172.      *(__t1 + 24) =  *(__t1 + 24) & 0xff0000;
  173.     asm("daddu a0,t1,zero");
  174.      *((intOrPtr*)(__t1 + 16)) = 0;
  175.      *__t1 = __t2;
  176.      *(__t2 + 4) = __t1;
  177.     __s0[4] = 0;
  178.     __s0[1] = __t1 +  *(__t1 + 20) + 32;
  179.      *(__t1 + 8) = __t1;
  180.     _t77 = __s0[1];
  181.      *((char*)(_t77 + 26)) = 2;
  182.      *(_t77 + 24) = 0;
  183.      *((intOrPtr*)(_t77 + 4)) = 0;
  184.      *_t77 = 0;
  185.      *((intOrPtr*)(_t77 + 8)) = 0;
  186.      *((intOrPtr*)(_t77 + 12)) = 0;
  187.      *(_t77 + 24) =  *(_t77 + 24) & 0xffffff;
  188.      *((intOrPtr*)(_t77 + 16)) = 0;
  189.      *((intOrPtr*)(_t77 + 20)) = 0;
  190.      *((signed int*)(__s0[1])) = __t1;
  191.      *(__s0[1] + 8) = __t1;
  192.      *((char*)(__s0[1] + 26)) = 5;
  193.     L002AEE78(_t93, __s0[1]);
  194.     _t80 =  *__s0;
  195.     __s0[2] = _t80;
  196.     __s0[3] = __s0[1];
  197.     asm(".long 0x7bb00010");
  198.     asm("ld ra,0(sp)");
  199.     return _t80;
  200. }
  201.  
  202. L002AF610()
  203. {
  204.     _unknown_ _t7;                         // _t7
  205.     _unknown_ _t10;                        // _t10
  206.  
  207.     asm(".long 0x7fb00050");
  208.     asm(".long 0x7fb20030");
  209.     asm("daddu s0,a0,zero");
  210.     asm(".long 0x7fb40010");
  211.     asm("daddu s2,a1,zero");
  212.     asm(".long 0x7fb10040");
  213.     asm("daddu s4,zero,zero");
  214.     asm(".long 0x7fb30020");
  215.     asm("sd ra,0(sp)");
  216.     asm("beql a1,zero,0x34");
  217.     _t7 = __s2 <  *((intOrPtr*)( *((intOrPtr*)(__s0 + 0x24)) + 20));
  218.     asm("bnel v0,zero,0x18");
  219.     L002AFA08(__s2, __flags);
  220.     asm(".long 0x7bb10040");
  221.     asm(".long 0x7bb20030");
  222.     asm(".long 0x7bb30020");
  223.     asm(".long 0x7bb40010");
  224.     asm("ld ra,0(sp)");
  225.     return _t7;
  226. }
  227.  
  228. L002AF728(
  229.     _unknown_ __a0,                        // r4
  230.     _unknown_ __a1,                        // r5
  231.     signed int __a2,                       // r6
  232.     signed int __s0,                       // r16
  233.     signed int __s1,                       // r17
  234.     _unknown_ __s2,                        // r18
  235.     intOrPtr* __s3                         // r19
  236. )
  237. {
  238.     _unknown_ _t90;                        // _t90
  239.     intOrPtr _t91;                         // _t91
  240.     intOrPtr _t93;                         // _t93
  241.     intOrPtr _t99;                         // _t99
  242.     _unknown_ _t115;                       // _t115
  243.     _unknown_ _t120;                       // _t120
  244.     intOrPtr _t122;                        // _t122
  245.     signed int _t127;                      // _t127
  246.     _unknown_ _t131;                       // _t131
  247.     signed int _t132;                      // _t132
  248.     signed int _t133;                      // _t133
  249.     signed int _t135;                      // _t135
  250.     signed int _t136;                      // _t136
  251.     signed int _t137;                      // _t137
  252.     _unknown_ _t139;                       // _t139
  253.     _unknown_ _t140;                       // _t140
  254.     signed int _t141;                      // _t141
  255.  
  256.     __s3 = __s3;
  257.     _t140 = __s2;
  258.     __s1 = __s1;
  259.     __s0 = __s0;
  260.     _t135 = __a2;
  261.     asm(".long 0x7fb10050");
  262.     asm(".long 0x7fb20040");
  263.     asm("daddu s1,a3,zero");
  264.     asm(".long 0x7fb30030");
  265.     asm("daddu s2,a1,zero");
  266.     asm(".long 0x7fb00060");
  267.     asm("daddu s3,a0,zero");
  268.     asm(".long 0x7fb40020");
  269.     asm(".long 0x7fb50010");
  270.     if(__s1 != 0) {
  271.         __s1 =  *((__s1 << 2) + 0x3344a8);
  272.     }
  273.     __s4 = _t135 & 1;
  274.     _t141 = _t140 + 31 >> 5 << 5;
  275.     _t131 = _t141 + (__s1 << 1);
  276.     if(__s4 == 0) {
  277.         asm("beql v0,zero,0x5c");
  278.         _t127 =  *(__s3 + 8);
  279.         if(_t127 != 0 && _t127 !=  *(__s3 + 4)) {
  280.             _t122 =  *((intOrPtr*)(_t127 + 20));
  281.             if(( *(_t127 + 26) & 2) == 0 || _t131 >= _t122) {
  282.                 _t127 = _t127 + _t122 + 32;
  283.                 if(_t127 != 0) {
  284.                     asm("bnel a0,a2,0xffffffd8");
  285.                 }
  286.             }
  287.         }
  288.     } else {
  289.         _t127 =  *(__s3 + 4);
  290.         if(_t127 != 0 && _t127 !=  *__s3) {
  291.             asm("beql v0,zero,0x1c");
  292.             _t127 =  *(_t127 + 8);
  293.             if(_t131 >=  *((intOrPtr*)(_t127 + 20))) {
  294.                 _t127 =  *(_t127 + 8);
  295.                 if(_t127 != 0) {
  296.                     asm("bnel a0,v1,0xffffffd8");
  297.                 }
  298.             }
  299.         }
  300.     }
  301.     asm("bnel s0,zero,0x20");
  302.     _t85 = L002AF610();
  303.     asm("daddu s0,v0,zero");
  304.     if(__s0 != 0) {
  305.         __s5 = (__s0 ^  *(__s3 + 8)) < 1;
  306.         if(__s1 == 0) {
  307.             L002AEE98(_t127);
  308.         } else {
  309.             __a3 = __s0 + 32;
  310.             _t136 = __a3 & 0 - __s1;
  311.             _t137 = _t136 + __s1;
  312.             if(_t136 == __a3) {
  313.                 L002AEE98(_t127);
  314.             } else {
  315.                 _t133 =  *(__s0 + 20);
  316.                 _t120 = ((_t137 + __s1) * (31 == 0) | _t137 * (_t137 - __a3 < 31)) - __a3;
  317.                 _t127 = _t120 + -32;
  318.                 _t139 = _t133 - _t127;
  319.                 _t99 = __s0 + _t120;
  320.                 if(_t139 < 64) {
  321.                      *(__s0 + 20) = _t127;
  322.                     _t127 = 2;
  323.                      *((intOrPtr*)(_t99 + 20)) = _t139 + -32;
  324.                      *((char*)(_t99 + 26)) = 2;
  325.                     asm("daddu v1,v0,zero");
  326.                      *(_t99 + 8) = __s0;
  327.                      *((intOrPtr*)(_t133 + __s0 + 40)) = _t99;
  328.                 }
  329.             }
  330.         }
  331.         _t132 =  *(__s0 + 20);
  332.         if(__s1 != 0 || __s4 == 0) {
  333.             _t115 = _t132 - _t141;
  334.             _t90 = _t141 + 32;
  335.             if(_t115 < 64) {
  336.                  *(__s0 + 20) = _t141;
  337.                 _t91 = __s0 + _t90;
  338.                 _t127 = 2;
  339.                  *((intOrPtr*)(_t91 + 20)) = _t115 + -32;
  340.                 _t132 = _t132 + __s0;
  341.                  *((char*)(_t91 + 26)) = 2;
  342.                  *(_t91 + 8) = __s0;
  343.                 asm("daddu v1,v0,zero");
  344.                  *((intOrPtr*)(_t132 + 40)) = _t91;
  345.             }
  346.             asm("daddu a0,v1,zero");
  347.         } else {
  348.             _t127 = _t132 - _t141;
  349.             _t93 = __s0 + _t127;
  350.             if(_t127 < 64) {
  351.                  *(__s0 + 20) = _t127 + -32;
  352.                 _t127 = 2;
  353.                  *((char*)(_t93 + 26)) = 2;
  354.                  *(_t93 + 20) = _t141;
  355.                 asm("daddu a0,v0,zero");
  356.                  *(_t93 + 8) = __s0;
  357.                  *((intOrPtr*)(_t132 + __s0 + 40)) = _t93;
  358.             }
  359.             asm("daddu v0,s0,zero");
  360.             asm("daddu s0,a0,zero");
  361.         }
  362.         _t85 = 2;
  363.         if(_t127 != __s0) {
  364.             asm("daddu a1,a0,zero");
  365.              *(_t127 + 26) = 2;
  366.             _t85 = L002AEE78(__s3 + 16, _t132);
  367.         }
  368.         if(__s5 != 0) {
  369.             _t85 =  *(__s3 + 20);
  370.              *(__s3 + 8) = _t85;
  371.             asm("daddu v0,s0,zero");
  372.         }
  373.     }
  374.     asm(".long 0x7bb00060");
  375.     asm(".long 0x7bb10050");
  376.     asm(".long 0x7bb20040");
  377.     asm(".long 0x7bb30030");
  378.     asm(".long 0x7bb40020");
  379.     asm(".long 0x7bb50010");
  380.     asm("ld ra,0(sp)");
  381.     return _t85;
  382. }
  383.  
  384. L002AFA08(
  385.     _unknown_ __s2,                        // r18
  386.     _unknown_ __flags                      // r33
  387. )
  388. {
  389.     intOrPtr _v80;                         // _cfa_ffffffb0
  390.     intOrPtr _t70;                         // _t70
  391.     intOrPtr _t73;                         // _t73
  392.     signed int _t75;                       // _t75
  393.     intOrPtr _t79;                         // _t79
  394.     _unknown_ _t87;                        // _t87
  395.     intOrPtr _t97;                         // _t97
  396.     intOrPtr _t100;                        // _t100
  397.  
  398.     __s2 = __s2;
  399.     asm(".long 0x7fb10030");
  400.     asm(".long 0x7fb20020");
  401.     asm("daddu s1,a1,zero");
  402.     asm(".long 0x7fb00040");
  403.     asm("sd ra,16(sp)");
  404.     _t75 =  *(__s1 + 26) & 255;
  405.     if((_t75 & 4) == 0) {
  406.         if((_t75 & 128) != 0) {
  407.             L002B0558(_t87);
  408.             asm("daddu a0,v0,zero");
  409.              *((intOrPtr*)( *((intOrPtr*)(__s1 + 16))))();
  410.         }
  411.         L002AEE98(_t87);
  412.         asm("beql v0,zero,0x18");
  413.         asm("bnel v0,zero,0x8");
  414.          *((intOrPtr*)( *((intOrPtr*)(__s1 + 12)))) = 0;
  415.         _t100 =  *((intOrPtr*)(__s1 + 8));
  416.         asm("beql s0,zero,0x44");
  417.         if(( *(_t100 + 26) & 2) != 0) {
  418.             L002AEE98(_t87);
  419.             _t73 =  *((intOrPtr*)(_t100 + 20)) + 32 +  *((intOrPtr*)(_t100 +  *((intOrPtr*)(_t100 + 20)) + 32 + 20));
  420.              *((intOrPtr*)(_t100 + 20)) = _t73;
  421.              *((intOrPtr*)(_t73 + _t100 + 40)) = _t100;
  422.         }
  423.         _v80 = __s1;
  424.         _t88 = __s1 +  *((intOrPtr*)(__s1 + 20)) + 32;
  425.         _t79 = _v80;
  426.         if(( *(__s1 +  *((intOrPtr*)(__s1 + 20)) + 32 + 26) & 2) != 0) {
  427.             L002AEE98(_t88);
  428.             _t97 = _v80;
  429.             _t70 =  *((intOrPtr*)(_t97 + 20)) + 32 +  *((intOrPtr*)(_t97 +  *((intOrPtr*)(_t97 + 20)) + 32 + 20));
  430.              *((intOrPtr*)(_t97 + 20)) = _t70;
  431.              *((intOrPtr*)(_t70 + _t97 + 40)) = _t97;
  432.             _t79 = _v80;
  433.         }
  434.          *((char*)(_t79 + 26)) = 2;
  435.         L002AEE78(__s2 + 16, _v80);
  436.         asm("daddu v0,s1,zero");
  437.          *((intOrPtr*)(__s2 + 8)) =  *((intOrPtr*)( *((intOrPtr*)(__s2 + 8)) < _v80 ? __sp : __s2 + 8));
  438.     }
  439.     asm(".long 0x7bb00040");
  440.     asm(".long 0x7bb10030");
  441.     asm(".long 0x7bb20020");
  442.     asm("ld ra,16(sp)");
  443.     return;
  444. }
  445.  
  446. L002B0558(
  447.     _unknown_ __a0                         // r4
  448. )
  449. {
  450.     __a0 = __a0;
  451.     return __a0 + 32;
  452. }
  453.  
  454. L002B09D0(
  455.     _unknown_ __a0,                        // r4
  456.     _unknown_ __t0,                        // r8
  457.     _unknown_ __t1,                        // r9
  458.     _unknown_ __t2,                        // r10
  459.     _unknown_ __t3,                        // r11
  460.     _unknown_ __t4,                        // r12
  461.     _unknown_ __t5,                        // r13
  462.     _unknown_ __t6,                        // r14
  463.     _unknown_ __s1,                        // r17
  464.     _unknown_ __gp,                        // r28
  465.     _unknown_ __flags,                     // r33
  466.     _unknown_ __lo,                        // r35
  467.     _unknown_ __hi                         // r36
  468. )
  469. {
  470.     _unknown_ _t8;                         // _t8
  471.  
  472.     __hi = __hi;
  473.     __lo = __lo;
  474.     __gp = __gp;
  475.     __t6 = __t6;
  476.     __t5 = __t5;
  477.     __t4 = __t4;
  478.     __t3 = __t3;
  479.     __t2 = __t2;
  480.     __t1 = __t1;
  481.     __t0 = __t0;
  482.     _t10 = __a0;
  483.     asm(".long 0x7fb00030");
  484.     asm(".long 0x7fb20010");
  485.     asm("daddu s0,a0,zero");
  486.     asm(".long 0x7fb10020");
  487.     asm("daddu s2,a1,zero");
  488.     if( *((intOrPtr*)(__gp + -11372)) == 0) {
  489.         L002E65F8(__v1, __a0, __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, __s0, __s1, __s2, __s3, __s4, __gp, __lo, __hi);
  490.     }
  491.     asm("daddu a1,s0,zero");
  492.     asm("daddu a2,zero,zero");
  493.     asm("daddu a3,s2,zero");
  494.     _t8 = L002AF728(_t10, __a1, __a2, __s0,  *((intOrPtr*)(__gp + -11372)), __s2, __s3);
  495.     asm("daddu s0,v0,zero");
  496.     asm("bnel s0,zero,0x10");
  497.     asm(".long 0x7bb00030");
  498.     asm(".long 0x7bb10020");
  499.     asm(".long 0x7bb20010");
  500.     asm("ld ra,0(sp)");
  501.     return _t8;
  502. }
  503.  
  504. L002B0BE8(
  505.     _unknown_ __a0                         // r4
  506. )
  507. {
  508.     intOrPtr* _t7;                         // _t7
  509.  
  510.     if(__a0 == 0) {
  511. L3:
  512.         asm("ld ra,0(sp)");
  513.         return _t7;
  514.     }
  515.     _t7 = (( *(__a0 + 0xfffffffffffffffb) & 0xf) << 2) + 0x3d3b10;
  516.     _t6 =  *_t7;
  517.     _t18 = _t6;
  518.     if(_t6 != 0) {
  519.         L002AFA08(__s2, _t18);
  520.         goto L3;
  521.     }
  522.     return _t7;
  523. }
  524.  
  525. L002C0E18(
  526.     _unknown_ __a0,                        // r4
  527.     signed int __a1,                       // r5
  528.     _unknown_ __t0,                        // r8
  529.     _unknown_ __t1,                        // r9
  530.     _unknown_ __t2,                        // r10
  531.     _unknown_ __t3,                        // r11
  532.     _unknown_ __t4,                        // r12
  533.     _unknown_ __t5,                        // r13
  534.     _unknown_ __t6,                        // r14
  535.     _unknown_ __s0,                        // r16
  536.     intOrPtr* __s1,                        // r17
  537.     _unknown_ __gp,                        // r28
  538.     _unknown_ __flags,                     // r33
  539.     _unknown_ __lo,                        // r35
  540.     _unknown_ __hi                         // r36
  541. )
  542. {
  543.     _unknown_ _t20;                        // _t20
  544.     _unknown_ _t21;                        // _t21
  545.     intOrPtr* _t24;                        // _t24
  546.     intOrPtr _t28;                         // _t28
  547.     signed int _t35;                       // _t35
  548.     signed int _t36;                       // _t36
  549.  
  550.     __hi = __hi;
  551.     __lo = __lo;
  552.     __gp = __gp;
  553.     __s1 = __s1;
  554.     __t6 = __t6;
  555.     __t5 = __t5;
  556.     __t4 = __t4;
  557.     __t3 = __t3;
  558.     __t2 = __t2;
  559.     __t1 = __t1;
  560.     __t0 = __t0;
  561.     __a1 = __a1;
  562.     asm(".long 0x7fb00030");
  563.     asm(".long 0x7fb10020");
  564.     asm(".long 0x7fb20010");
  565.     asm("daddu s1,a0,zero");
  566.     asm("sd ra,0(sp)");
  567.     __s2 = __a1 & -1;
  568.     _t28 =  *__s1;
  569.     _t35 = __s2 + 1 & -1;
  570.     if(_t28 == 0) {
  571. L4:
  572.         _t7 = _t35 < 56;
  573.         __flags = _t7;
  574.         _t20 = _t35 < 120;
  575.         __flags = _t7;
  576.         if(__flags == 0) {
  577.             _t8 = _t20;
  578.             __flags = _t8;
  579.             _t21 = _t35 < 248;
  580.             __flags = _t8;
  581.             if(__flags == 0) {
  582.                 __flags = 503;
  583.                 __flags = _t21;
  584.                 if(__flags == 0) {
  585.                     __flags = 504;
  586.                     _t36 = 504 * (503 == 0) | _t35 * (_t35 < 503);
  587.                 } else {
  588.                     _t36 = 248;
  589.                 }
  590.             } else {
  591.                 _t36 = 120;
  592.             }
  593.         } else {
  594.             _t36 = 56;
  595.         }
  596.         _t24 = L002B09D0(_t36 + 8, __t0, __t1, __t2, __t3, __t4, __t5, __t6, __s1, __gp, __flags, __lo, __hi);
  597.          *_t24 = 1;
  598.          *((short*)(_t24 + 4)) = __s2;
  599.          *((short*)(_t24 + 6)) = _t36;
  600.          *__s1 = _t24 + 8;
  601.         asm(".long 0x7bb00030");
  602. L12:
  603.         asm(".long 0x7bb10020");
  604.         asm(".long 0x7bb20010");
  605.         asm("ld ra,0(sp)");
  606.         return _t24;
  607.     }
  608.     _t26 = _t35 < ( *(_t28 + -2) & 65535);
  609.     if(_t35 < ( *(_t28 + -2) & 65535)) {
  610.         L002C1EA8(__a0, _t35);
  611.         goto L4;
  612.     } else {
  613.         _t24 = L002C1FE8(_t26, __a0, __a1);
  614.         goto L12;
  615.     }
  616. }
  617.  
  618. L002C16F8(
  619.     _unknown_ __a0,                        // r4
  620.     intOrPtr __a2,                         // r6
  621.     _unknown_ __s3                         // r19
  622. )
  623. {
  624.     __s3 = __s3;
  625.     __a2 = __a2;
  626.     asm(".long 0x7fb20030");
  627.     asm(".long 0x7fb30020");
  628.     asm("daddu s2,a1,zero");
  629.     asm(".long 0x7fb40010");
  630.     asm("daddu s3,a0,zero");
  631.     asm(".long 0x7fb00050");
  632.     asm(".long 0x7fb10040");
  633.     if(__a2 != -1) {
  634.          *((intOrPtr*)(__s3 + 4)) = __a2;
  635.     }
  636.     asm("bnel s2,zero,0x18");
  637.     __v0 = L002C20B0( *((intOrPtr*)(__s3 + 12)), __s0, __s1, __s2);
  638.     asm(".long 0x7bb10040");
  639.     asm(".long 0x7bb20030");
  640.     asm(".long 0x7bb30020");
  641.     asm(".long 0x7bb40010");
  642.     asm("ld ra,0(sp)");
  643.     return __v0;
  644. }
  645.  
  646. L002C1908(
  647.     _unknown_ __a0,                        // r4
  648.     _unknown_ __a1,                        // r5
  649.     _unknown_ __a2,                        // r6
  650.     _unknown_ __a3,                        // r7
  651.     _unknown_ __t0,                        // r8
  652.     _unknown_ __t1,                        // r9
  653.     _unknown_ __t2,                        // r10
  654.     _unknown_ __t3,                        // r11
  655.     _unknown_ __t4,                        // r12
  656.     _unknown_ __t5,                        // r13
  657.     _unknown_ __t6,                        // r14
  658.     _unknown_ __s0,                        // r16
  659.     _unknown_ __s1,                        // r17
  660.     _unknown_ __gp,                        // r28
  661.     _unknown_ __flags,                     // r33
  662.     _unknown_ __lo,                        // r35
  663.     _unknown_ __hi                         // r36
  664. )
  665. {
  666.     _unknown_ _t4;                         // _t4
  667.  
  668.     __hi = __hi;
  669.     __lo = __lo;
  670.     __gp = __gp;
  671.     __s1 = __s1;
  672.     __s0 = __s0;
  673.     __t6 = __t6;
  674.     __t5 = __t5;
  675.     __t4 = __t4;
  676.     __t3 = __t3;
  677.     __t2 = __t2;
  678.     __t1 = __t1;
  679.     __t0 = __t0;
  680.     __a3 = __a3;
  681.     __a2 = __a2;
  682.     asm(".long 0x7fb10010");
  683.     asm(".long 0x7fb00020");
  684.     asm("daddu s1,a0,zero");
  685.     asm("sd ra,0(sp)");
  686.     asm("daddu s0,a1,zero");
  687.      *((intOrPtr*)(__s1)) = 0;
  688.     if(__s0 != 0) {
  689.         L002C0E18(__a0, L003121AC(__a0, __a1, __a3) & -1, __t0, __t1, __t2, __t3, __t4, __t5, __t6, __s0, __s1, __gp, L003121AC(__a0, __a1, __a3) & -1, __lo, __hi);
  690.         _t4 = L00312090(L003121AC(__a0, __a1, __a3) & -1, __a2, __a3);
  691.     }
  692.     asm("daddu v0,s1,zero");
  693.     asm(".long 0x7bb00020");
  694.     asm(".long 0x7bb10010");
  695.     asm("ld ra,0(sp)");
  696.     return _t4;
  697. }
  698.  
  699. L002C1990(
  700.     signed int __s0                        // r16
  701. )
  702. {
  703.     asm(".long 0x7fb10010");
  704.     asm(".long 0x7fb00020");
  705.     asm("daddu s1,a0,zero");
  706.     asm("sd ra,0(sp)");
  707.     __v0 = L002C1EA8(__a0, __s0);
  708.     if((__s0 & 1) != 0) {
  709.         __v0 = L002B0BE8(__a0);
  710.         asm(".long 0x7bb00020");
  711.     }
  712.     asm(".long 0x7bb10010");
  713.     asm("ld ra,0(sp)");
  714.     return __v0;
  715. }
  716.  
  717. L002C1EA8(
  718.     _unknown_ __a0,                        // r4
  719.     _unknown_ __s0                         // r16
  720. )
  721. {
  722.     _unknown_ _t10;                        // _t10
  723.  
  724.     __s0 = __s0;
  725.     asm(".long 0x7fb00010");
  726.     asm("sd ra,0(sp)");
  727.     asm("daddu s0,a0,zero");
  728.     asm("beql v0,zero,0x28");
  729.      *((intOrPtr*)(__s0)) = 0;
  730.     L002C1F18(__a0);
  731.     asm("bnel v0,zero,0x18");
  732.      *((intOrPtr*)(__s0)) = 0;
  733.     _t10 = L002B0BE8( *((intOrPtr*)(__s0)) + -8);
  734.      *((intOrPtr*)(__s0)) = 0;
  735.     asm(".long 0x7bb00010");
  736.     asm("ld ra,0(sp)");
  737.     return _t10;
  738. }
  739.  
  740. L002C1EF8(
  741.     _unknown_ __a0                         // r4
  742. )
  743. {
  744.     asm("bnel a0,zero,0x10");
  745.     return  *((intOrPtr*)( *((intOrPtr*)(__a0)) + -8));
  746. }
  747.  
  748. L002C1F18(
  749.     _unknown_ __a0                         // r4
  750. )
  751. {
  752.     asm("bnel a0,zero,0x10");
  753.     return  *((intOrPtr*)( *((intOrPtr*)(__a0)) + -8));
  754. }
  755.  
  756. L002C1FE8(
  757.     _unknown_ __v0,                        // r2
  758.     _unknown_ __a0,                        // r4
  759.     signed int __a1                        // r5
  760. )
  761. {
  762.     intOrPtr _t6;                          // _t6
  763.     signed int _t8;                        // _t8
  764.  
  765.     __v0 = __v0;
  766.     _t6 =  *((intOrPtr*)(__a0));
  767.     _t8 = __a1 & -1;
  768.     if(_t6 != 0) {
  769.          *((short*)(_t6 + -4)) = _t8;
  770.         return __v0;
  771.     }
  772.     return __v0;
  773. }
  774.  
  775. L002C20B0(
  776.     _unknown_ __a0,                        // r4
  777.     _unknown_ __s0,                        // r16
  778.     _unknown_ __s1,                        // r17
  779.     intOrPtr* __s2                         // r18
  780. )
  781. {
  782.     _unknown_ _t20;                        // _t20
  783.  
  784.     __s2 = __s2;
  785.     __s1 = __s1;
  786.     asm(".long 0x7fb20020");
  787.     asm(".long 0x7fb00040");
  788.     asm("daddu s2,a0,zero");
  789.     asm(".long 0x7fb10030");
  790.     asm(".long 0x7fb30010");
  791.     asm("sd ra,0(sp)");
  792.     _t16 =  *((intOrPtr*)(__s2 + 12));
  793.     _t13 = -1;
  794.     if( *((intOrPtr*)(__s2 + 12)) != 0) {
  795.         _t20 =  *((intOrPtr*)(__s2 + 8)) + -1;
  796.         if(_t20 != -1) {
  797.             __s3 = -1;
  798.             do {
  799.                 asm("daddu a0,s1,zero");
  800.                 _t20 = _t20 + -1;
  801.                 L002C1EA8(_t16, _t20);
  802.                 __s1 = __s1 + 4;
  803.             } while(_t20 != __s3);
  804.         }
  805.         _t13 = L002B0BE8( *((intOrPtr*)(__s2 + 12)));
  806.          *((intOrPtr*)(__s2 + 12)) = 0;
  807.     }
  808.      *((intOrPtr*)(__s2 + 8)) = 0;
  809.      *__s2 = 0;
  810.     asm(".long 0x7bb00040");
  811.     asm(".long 0x7bb10030");
  812.     asm(".long 0x7bb20020");
  813.     asm(".long 0x7bb30010");
  814.     asm("ld ra,0(sp)");
  815.     return _t13;
  816. }
  817.  
  818. L002C2138(
  819.     _unknown_ __a0,                        // r4
  820.     signed int __a1,                       // r5
  821.     _unknown_ __s0,                        // r16
  822.     _unknown_ __s1                         // r17
  823. )
  824. {
  825.     _unknown_ _t9;                         // _t9
  826.     intOrPtr* _t13;                        // _t13
  827.  
  828.     __s1 = __s1;
  829.     __a0 = __a0;
  830.     asm(".long 0x7fb00020");
  831.     asm(".long 0x7fb10010");
  832.     asm("sd ra,0(sp)");
  833.     asm("daddu s1,a2,zero");
  834.     _t13 = (__a1 << 2) +  *((intOrPtr*)(__a0 + 12));
  835.     asm("beql s1,s0,0x24");
  836.     asm(".long 0x7bb00020");
  837.     L002C1EA8(__a0, _t13);
  838.     asm("daddu a0,s0,zero");
  839.      *_t13 =  *((intOrPtr*)(__s1));
  840.     _t9 = L002C1EF8(__a0);
  841.     asm(".long 0x7bb00020");
  842.     asm(".long 0x7bb10010");
  843.     asm("ld ra,0(sp)");
  844.     return _t9;
  845. }
  846.  
  847. L002CD670(
  848.     signed int* __v1,                      // r3
  849.     _unknown_ __a0,                        // r4
  850.     _unknown_ __a1,                        // r5
  851.     _unknown_ __a2,                        // r6
  852.     _unknown_ __a3,                        // r7
  853.     _unknown_ __t4,                        // r12
  854.     _unknown_ __s0,                        // r16
  855.     _unknown_ __s1,                        // r17
  856.     _unknown_ __s2,                        // r18
  857.     _unknown_ __flags                      // r33
  858. )
  859. {
  860.     char _v208;                            // _cfa_ffffff30
  861.     char _v330;                            // _cfa_fffffeb6
  862.     _unknown_ _t22;                        // _t22
  863.     signed int _t25;                       // _t25
  864.     signed int* _t30;                      // _t30
  865.     signed int _t31;                       // _t31
  866.     signed int* _t32;                      // _t32
  867.     signed int _t34;                       // _t34
  868.     char* _t35;                            // _t35
  869.     _unknown_ _t39;                        // _t39
  870.     _unknown_ _t41;                        // _t41
  871.     signed int _t42;                       // _t42
  872.     _unknown_ _t43;                        // _t43
  873.  
  874.     __s2 = __s2;
  875.     __s1 = __s1;
  876.     __s0 = __s0;
  877.     __t4 = __t4;
  878.     __a3 = __a3;
  879.     _t43 = __a2;
  880.     _t33 = __a0;
  881.     _t30 = __v1;
  882.     asm(".long 0x7fb00140");
  883.     asm(".long 0x7fb10130");
  884.     asm("daddu s0,a2,zero");
  885.     asm(".long 0x7fb20120");
  886.     asm("daddu s1,zero,zero");
  887.     asm(".long 0x7fb30110");
  888.     asm("daddu s2,a0,zero");
  889.     asm("sd ra,256(sp)");
  890.     if(__s0 != 0) {
  891.         L003121AC(__a0, __a1, __a3);
  892.         asm("daddu s1,v0,zero");
  893.         if(__s1 > 0) {
  894.             __a3 = 44;
  895.             _t35 =  &_v208;
  896.             do {
  897.                 _t30 = __s0 + _t43;
  898.                 _t42 =  *_t30 & 255;
  899.                 if( *_t30 != __a3) {
  900.                      *_t35 = _t42;
  901.                 } else {
  902.                      *_t35 = 0;
  903.                 }
  904.                 _t43 = _t43 + 1;
  905.                 _t35 = _t35 + 1;
  906.             } while(__s1 < _t43);
  907.         }
  908.     }
  909.     _t10 =  *((char*)(__s2 + 36));
  910.     _t56 = _t10;
  911.     if(_t10 == 0) {
  912.         asm("daddu a2,s3,zero");
  913.         _t39 = "cdrom0:\\IOPFILES\\%s;1";
  914.         __flags = 3670016;
  915.         L003126F8(_t30, _t43, __t4, 3670016);
  916.     } else {
  917.         _t39 = "cdrom0:\\%s\\IOPFILES\\%s;1";
  918.         asm("daddu a3,s3,zero");
  919.         L003126F8(_t30, __s2 + 36, __t4, _t56);
  920.     }
  921.     _t31 = L003121AC(_t33, _t39, __a3) & 255;
  922.     _t41 = _t31 + -6;
  923.     if(_t31 >= 6) {
  924.         _t32 =  &_v330;
  925.         do {
  926.             _t34 =  *_t32 & 255;
  927.             _t25 = _t34 + -32;
  928.             if(_t34 + -97 >= 26) {
  929.                  *_t32 = _t25;
  930.             }
  931.             _t41 = _t41 + -1;
  932.             _t32 =  &(_t32[0]);
  933.         } while(_t41 != 0);
  934.     }
  935.     if(__s0 == 0) {
  936.         do {
  937.             asm("daddu a1,zero,zero");
  938.             _t22 = L00320810();
  939.             __flags = _t22;
  940.         } while(_t22 < 0);
  941.         asm(".long 0x7bb00140");
  942.     } else {
  943.         do {
  944.             asm("daddu a1,s1,zero");
  945.             _t22 = L00320810();
  946.         } while(_t22 < 0);
  947.     }
  948.     asm(".long 0x7bb10130");
  949.     asm(".long 0x7bb20120");
  950.     asm(".long 0x7bb30110");
  951.     asm("ld ra,256(sp)");
  952.     return _t22;
  953. }
  954.  
  955. L002CD7C0(
  956.     signed int __v1,                       // r3
  957.     _unknown_ __s0,                        // r16
  958.     _unknown_ __flags                      // r33
  959. )
  960. {
  961.     char _t14;                             // _t14
  962.     signed int _t16;                       // _t16
  963.  
  964.     __s0 = __s0;
  965.     _t16 = __v1;
  966.     asm(".long 0x7fb00010");
  967.     asm("sd ra,0(sp)");
  968.     L00302BE8(__s0, __flags);
  969.     asm("daddu v1,v0,zero");
  970.     _t1 = _t16 < 8;
  971.     _t22 = _t1;
  972.     if(_t1 == 0) {
  973.          *((char*)(__s0 + 24)) = 0;
  974.         L00302C50(__s0, _t22);
  975.         asm("daddu v1,v0,zero");
  976.         if(_t16 == 1) {
  977.             _t14 = 3;
  978.             __flags = 3;
  979.              *((char*)(__s0 + 25)) = 3;
  980.         } else {
  981.             asm("beql v0,zero,0x18");
  982.             _t14 = 2;
  983.             asm("beql v1,zero,0x28");
  984.              *((char*)(__s0 + 25)) = 1;
  985.              *((char*)(__s0 + 25)) = 0;
  986.         }
  987.         asm(".long 0x7bb00010");
  988.         asm("ld ra,0(sp)");
  989.         return _t14;
  990.     } else {
  991.         _t16 = (_t16 << 2) + 0x37e750;
  992.         goto ( *__a0);
  993.     }
  994. }
  995.  
  996. L002CDE88(
  997.     _unknown_ __s2                         // r18
  998. )
  999. {
  1000.     signed int _t45;                       // _t45
  1001.     signed int* _t46;                      // _t46
  1002.     intOrPtr _t48;                         // _t48
  1003.     _unknown_ _t53;                        // _t53
  1004.     _unknown_ _t87;                        // _t87
  1005.     _unknown_ _t90;                        // _t90
  1006.     signed int _t93;                       // _t93
  1007.     intOrPtr _t98;                         // _t98
  1008.  
  1009.     asm(".long 0x7fb50040");
  1010.     asm(".long 0x7fb60030");
  1011.     asm("daddu s5,a0,zero");
  1012.     asm(".long 0x7fb20070");
  1013.     asm(".long 0x7fb00090");
  1014.     asm(".long 0x7fb10080");
  1015.     asm(".long 0x7fb30060");
  1016.     asm(".long 0x7fb40050");
  1017.     asm(".long 0x7fb70020");
  1018.     asm("sd ra,16(sp)");
  1019.     _t39 = L00321A98(_t93);
  1020.     _t98 =  *((intOrPtr*)(__gp + -12708));
  1021.     _t3 = _t98;
  1022.     _t102 = _t3;
  1023.     if(_t3 != 0) {
  1024.         L002CD7C0(_t45, _t90, _t102);
  1025.         _t46 =  *((intOrPtr*)(_t98 + 76));
  1026.         _t39 =  *((intOrPtr*)(_t46 + 28));
  1027.         _t53 = _t98 +  *((short*)(_t46 + 24));
  1028.          *_t39();
  1029.         _t9 = _t39;
  1030.         _t104 = _t9;
  1031.         if(_t9 != 0) {
  1032.             asm("daddu a0,s2,zero");
  1033.             L002CD670(_t46, _t53, "libsd.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1034.             _t47 =  *((intOrPtr*)(_t98 + 80));
  1035.             asm("bnel v1,v0,0x24");
  1036.             asm("daddu a0,s2,zero");
  1037.             L002CD670( *((intOrPtr*)(_t98 + 80)), _t53, "EXAuDVD.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1038.             asm("daddu a0,s2,zero");
  1039.             L002CD670(_t47, _t53, "sio2man.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1040.             asm("daddu a0,s2,zero");
  1041.             L002CD670(_t47, _t53, "padman.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1042.             asm("daddu a0,s2,zero");
  1043.             L002CD670(_t47, _t53, "mcman.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1044.             asm("daddu a0,s2,zero");
  1045.             L002CD670(_t47, _t53, "mcserv.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1046.             asm("daddu a0,s2,zero");
  1047.             L002CD670(_t47, _t53, "cdvdstm.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1048.             asm("daddu a2,zero,zero");
  1049.             L002CD670(_t47, _t53, "sdrdrv.irx", _t87, __a3, __t4, _t90, _t93, _t98, _t104);
  1050.             L002B09D0(8208, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t93, __gp, _t104, __lo, __hi);
  1051.             L002DB9C8(8208, "sdrdrv.irx", _t87, _t90);
  1052.             L002DBA78(8208, __gp);
  1053.             _t106 = 2;
  1054.             if(2 == 0) {
  1055.                 _t48 =  *((intOrPtr*)(_t98 + 76));
  1056.             } else {
  1057.                 L002B09D0(4160, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t93, __gp, 2, __lo, __hi);
  1058.                 L002F3FF8(2, 4160);
  1059.                 L002F4048(4160, __gp);
  1060.                 if(2 != 0) {
  1061.                     L002EBB20();
  1062.                     L002F3DD0(_t47,  *((intOrPtr*)(__gp + -9816)), 0x323540, _t87, __a3, __t0, __t2, _t98 + 8, 3997696, __flags);
  1063.                     L003126F8(_t47,  *__s6, __t4, __flags);
  1064.                     asm("daddu s7,s1,zero");
  1065.                     asm("daddu a0,s0,zero");
  1066.                     L002C16F8(0x3d44e0, -1, 1);
  1067.                     asm("beql v0,zero,0x54");
  1068.                     asm("daddu a0,sp,zero");
  1069.                     L002C1908(0x3d44e0,  *((intOrPtr*)(__s6 + 4)), -1, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, 0, __s6 + 8, __gp, __flags, __lo, __hi);
  1070.                     asm("daddu a1,s0,zero");
  1071.                     asm("daddu a0,s4,zero");
  1072.                     L002C2138(0x3d44e0,  *((intOrPtr*)(__s6 + 4)), 0, __s6 + 8);
  1073.                     asm("daddu a0,sp,zero");
  1074.                     L002C1990(0);
  1075.                     asm("bnel v0,zero,0xffffffcc");
  1076.                      *((intOrPtr*)( *((intOrPtr*)( *((intOrPtr*)(_t98 + 76)) + 36))))();
  1077.                     asm("bnel v0,zero,0x20");
  1078.                     L002F4058(__gp);
  1079.                     L002DBA88(_t98 +  *((short*)( *((intOrPtr*)(_t98 + 76)) + 32)), __gp);
  1080.                     _t48 =  *((intOrPtr*)(_t98 + 76));
  1081.                 } else {
  1082.                     L002DBA88(4160, __gp);
  1083.                     _t48 =  *((intOrPtr*)(_t98 + 76));
  1084.                 }
  1085.             }
  1086.             _t39 =  *((intOrPtr*)(_t48 + 68));
  1087.              *((intOrPtr*)( *((intOrPtr*)(_t48 + 68))))();
  1088.         }
  1089.     }
  1090.     asm(".long 0x7bb00090");
  1091.     asm(".long 0x7bb10080");
  1092.     asm(".long 0x7bb20070");
  1093.     asm(".long 0x7bb30060");
  1094.     asm(".long 0x7bb40050");
  1095.     asm(".long 0x7bb50040");
  1096.     asm(".long 0x7bb60030");
  1097.     asm(".long 0x7bb70020");
  1098.     asm("ld ra,16(sp)");
  1099.     return;
  1100. }
  1101.  
  1102. L002DB9C8(
  1103.     _unknown_ __a0,                        // r4
  1104.     intOrPtr* __a1,                        // r5
  1105.     signed int __a2,                       // r6
  1106.     _unknown_ __s0                         // r16
  1107. )
  1108. {
  1109.     _unknown_ _t21;                        // _t21
  1110.     signed int _t26;                       // _t26
  1111.     intOrPtr* _t28;                        // _t28
  1112.     signed int _t31;                       // _t31
  1113.  
  1114.     __s0 = __s0;
  1115.     __a2 = __a2;
  1116.     _t28 = __a1;
  1117.     asm(".long 0x7fb00010");
  1118.     asm("daddu a2,zero,zero");
  1119.     asm("daddu s0,a0,zero");
  1120.     asm("sd ra,0(sp)");
  1121.      *((intOrPtr*)(__s0 + 8192)) = 0;
  1122.     __t0 = -1024;
  1123.      *((intOrPtr*)(__s0 + 8196)) = 0;
  1124.     _t31 = 0xfffffffffc00ffff;
  1125.      *((intOrPtr*)(__s0 + 8200)) = 0;
  1126.     asm("daddu a1,s0,zero");
  1127.      *((intOrPtr*)(__s0 + 8204)) = 0;
  1128.     do {
  1129.         _t26 = __a2 & 1023;
  1130.          *((intOrPtr*)(_t28 + 4)) = 0;
  1131.         __a2 = __a2 + 1;
  1132.          *_t28 = 0;
  1133.          *(_t28 + 8) = ( *(_t28 + 8) & __t0 | _t26) & _t31;
  1134.         _t28 = _t28 + 16;
  1135.     } while(__a2 < 512);
  1136.     asm("daddu a1,s0,zero");
  1137.      *(__s0 + 8) =  *(__s0 + 8) & 0xfffffffffc00ffff | 33554432;
  1138.     _t21 = L002AEED0(__s0 + 8192, 33554432);
  1139.     asm("daddu v0,s0,zero");
  1140.     asm("ld ra,0(sp)");
  1141.     asm(".long 0x7bb00010");
  1142.     return _t21;
  1143. }
  1144.  
  1145. L002DBA78(
  1146.     intOrPtr __a0,                         // r4
  1147.     _unknown_ __gp                         // r28
  1148. )
  1149. {
  1150.     __gp = __gp;
  1151.     __a0 = __a0;
  1152.      *((intOrPtr*)(__gp + -10584)) = __a0;
  1153.     return 1;
  1154. }
  1155.  
  1156. L002DBA88(
  1157.     _unknown_ __a0,                        // r4
  1158.     _unknown_ __gp                         // r28
  1159. )
  1160. {
  1161.     __gp = __gp;
  1162.     _t5 =  *((intOrPtr*)(__gp + -10584));
  1163.     if( *((intOrPtr*)(__gp + -10584)) != 0) {
  1164.         __v0 = L002B0BE8(_t5);
  1165.     }
  1166.     asm("ld ra,0(sp)");
  1167.     return __v0;
  1168. }
  1169.  
  1170. L002E64D8(
  1171.     _unknown_ __a0,                        // r4
  1172.     _unknown_ __s0,                        // r16
  1173.     signed int __s1,                       // r17
  1174.     _unknown_ __s2,                        // r18
  1175.     _unknown_ __s3,                        // r19
  1176.     _unknown_ __s4                         // r20
  1177. )
  1178. {
  1179.     unsigned int _t7;                      // _t7
  1180.     _unknown_ _t11;                        // _t11
  1181.     _unknown_ _t15;                        // _t15
  1182.     unsigned int _t22;                     // _t22
  1183.     _unknown_ _t23;                        // _t23
  1184.  
  1185.     __s4 = __s4;
  1186.     _t23 = __s2;
  1187.     __s1 = __s1;
  1188.     asm(".long 0x7fb50010");
  1189.     asm(".long 0x7fb20040");
  1190.     __s5 = 0xffffffffffffffff;
  1191.     asm(".long 0x7fb30030");
  1192.     asm("daddu s2,zero,zero");
  1193.     asm(".long 0x7fb40020");
  1194.     asm(".long 0x7fb00060");
  1195.     asm(".long 0x7fb10050");
  1196.     asm("sd ra,0(sp)");
  1197.     L00313570(4096, __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, __s0, __s1, __s2, 67108864, __s4, __lo, __hi);
  1198.     asm("daddu s4,v0,zero");
  1199.     _t7 = 67108864 + __s2;
  1200.     do {
  1201.         _t22 = _t7 >> 1;
  1202.         L00313570(4096, __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t22, __s1, _t23, 67108864, __s4, __lo, __hi);
  1203.         asm("daddu s1,v0,zero");
  1204.         if(__s5 < __s1 + _t22) {
  1205.             asm("bnel s1,zero,0x10");
  1206.             asm("daddu s2,s0,zero");
  1207.             _t11 = 67108864 - _t23;
  1208.         } else {
  1209.             asm("daddu s3,s0,zero");
  1210.             L003135C0(4096, __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t22, __s1, 67108864, __lo, __hi);
  1211.             _t11 = 67108864 - _t23;
  1212.         }
  1213.         _t7 = 67108864 + _t23;
  1214.     } while(_t11 < 2);
  1215.     while((__s1 & 15) != 0) {
  1216.         __s1 = __s1 + 1;
  1217.         _t23 = _t23 + -1;
  1218.     }
  1219.     asm("bnel v0,zero,0xffffffec");
  1220.     asm("daddu a0,s4,zero");
  1221.     _t15 = L003135C0(4096, __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t22, __s1, 67108864, __lo, __hi);
  1222.     asm("daddu v0,s2,zero");
  1223.     asm(".long 0x7bb00060");
  1224.     asm(".long 0x7bb10050");
  1225.     asm(".long 0x7bb20040");
  1226.     asm(".long 0x7bb30030");
  1227.     asm(".long 0x7bb40020");
  1228.     asm(".long 0x7bb50010");
  1229.     asm("ld ra,0(sp)");
  1230.     return _t15;
  1231. }
  1232.  
  1233. L002E65F8(
  1234.     _unknown_ __v1,                        // r3
  1235.     _unknown_ __a0,                        // r4
  1236.     _unknown_ __a1,                        // r5
  1237.     _unknown_ __a2,                        // r6
  1238.     _unknown_ __a3,                        // r7
  1239.     _unknown_ __t0,                        // r8
  1240.     _unknown_ __t1,                        // r9
  1241.     _unknown_ __t2,                        // r10
  1242.     _unknown_ __t3,                        // r11
  1243.     _unknown_ __t4,                        // r12
  1244.     _unknown_ __t5,                        // r13
  1245.     _unknown_ __t6,                        // r14
  1246.     _unknown_ __s0,                        // r16
  1247.     _unknown_ __s1,                        // r17
  1248.     _unknown_ __s2,                        // r18
  1249.     _unknown_ __s3,                        // r19
  1250.     _unknown_ __s4,                        // r20
  1251.     _unknown_ __gp,                        // r28
  1252.     _unknown_ __lo,                        // r35
  1253.     _unknown_ __hi                         // r36
  1254. )
  1255. {
  1256.     intOrPtr _v88;                         // _cfa_ffffffa8
  1257.     intOrPtr _v92;                         // _cfa_ffffffa4
  1258.     intOrPtr _v96;                         // _cfa_ffffffa0
  1259.     intOrPtr _t17;                         // _t17
  1260.     intOrPtr _t20;                         // _t20
  1261.     intOrPtr _t22;                         // _t22
  1262.     intOrPtr _t24;                         // _t24
  1263.  
  1264.     __hi = __hi;
  1265.     __lo = __lo;
  1266.     __gp = __gp;
  1267.     __s4 = __s4;
  1268.     __t6 = __t6;
  1269.     __t5 = __t5;
  1270.     __t4 = __t4;
  1271.     __t3 = __t3;
  1272.     __t2 = __t2;
  1273.     __t1 = __t1;
  1274.     __t0 = __t0;
  1275.     _t33 = __a3;
  1276.     _t27 = __a0;
  1277.     asm(".long 0x7fb00050");
  1278.     asm(".long 0x7fb10040");
  1279.     asm(".long 0x7fb20030");
  1280.     asm(".long 0x7fb30020");
  1281.     asm("sd ra,16(sp)");
  1282.     _t17 = L002E64D8(__a0, __s0, __s1, __s2, 3997696, __s4);
  1283.     asm("daddu a0,sp,zero");
  1284.     _t30 =  *((intOrPtr*)(__gp + -9320));
  1285.     _v96 = _t17;
  1286.     _v92 =  *((intOrPtr*)(__gp + -9320));
  1287.     _v88 =  *((intOrPtr*)(__gp + -9316));
  1288.     L001033B8(_t27);
  1289.     asm("daddu a1,zero,zero");
  1290.     _t28 = 0x3d3b10;
  1291.     L00311D50( *((intOrPtr*)(__gp + -9316)), 0x3d3b10,  *((intOrPtr*)(__gp + -9320)), 32, __a3);
  1292.     _t20 = L00313570(0x3d3b10,  *((intOrPtr*)(__gp + -9320)), 32, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, "Default Heap", 0x3d3b30, _v92, 3997696, __s4, __lo, __hi);
  1293.     asm("daddu a2,s2,zero");
  1294.     asm("daddu t0,s0,zero");
  1295.     asm("daddu a1,v0,zero");
  1296.     asm("daddu a0,s1,zero");
  1297.     asm("daddu a3,zero,zero");
  1298.      *((intOrPtr*)(__gp + -11380)) = _t20;
  1299.     L002AF460(0x3d3b10, _t30, __a3, __t0, __t3, "Default Heap");
  1300.     _t22 = L00313570(0x3d3b10, _t30, 32, _t33, __t0, __t1, __t2, __t3, __t4, __t5, __t6, 0x3d3b88, "Large Data Heap", _v88, 3997696, __s4, __lo, __hi);
  1301.     asm("daddu a0,s0,zero");
  1302.     asm("daddu a1,v0,zero");
  1303.     asm("daddu a2,s2,zero");
  1304.     asm("daddu t0,s1,zero");
  1305.      *((intOrPtr*)(__gp + -11376)) = _t22;
  1306.     L002AF460(0x3d3b10, _t30, 1, __t0, __t3, 0x3d3b88);
  1307.     _t24 =  *((intOrPtr*)(0x3d3b10));
  1308.     asm(".long 0x7bb00050");
  1309.     asm(".long 0x7bb10040");
  1310.     asm(".long 0x7bb20030");
  1311.     asm(".long 0x7bb30020");
  1312.     asm("ld ra,16(sp)");
  1313.      *((intOrPtr*)(__gp + -11372)) = _t24;
  1314.     return _t24;
  1315. }
  1316.  
  1317. L002EBB20()
  1318. {
  1319.      *((intOrPtr*)(0x3d5474)) = 0;
  1320.     return 3997696;
  1321. }
  1322.  
  1323. L002EC678(
  1324.     _unknown_ __v1,                        // r3
  1325.     _unknown_ __a0,                        // r4
  1326.     signed int __a1,                       // r5
  1327.     signed int __a2,                       // r6
  1328.     _unknown_ __a3,                        // r7
  1329.     signed int* __s0,                      // r16
  1330.     _unknown_ __s1,                        // r17
  1331.     _unknown_ __flags                      // r33
  1332. )
  1333. {
  1334.     _unknown_ _t14;                        // _t14
  1335.     _unknown_ _t18;                        // _t18
  1336.     signed int _t32;                       // _t32
  1337.     signed int _t38;                       // _t38
  1338.  
  1339.     __s0 = __s0;
  1340.     __a3 = __a3;
  1341.     asm(".long 0x7fb00020");
  1342.     asm(".long 0x7fb10010");
  1343.     asm("daddu s0,a0,zero");
  1344.     asm("sd ra,0(sp)");
  1345.     _t38 = __a1 << 24 >> 24;
  1346.     if(__a2 << 24 != 0) {
  1347.         L0031C0A0(_t14);
  1348.     }
  1349.      *(__s0[2]) =  *((signed int*)(__s0[2])) & -65 | (__s0[6] & 1) << 6;
  1350.     _t32 =  *__s0 & 0xfffffff;
  1351.     _t18 = L00303910((__s0[6] & 1) << 6, __a3, __s0, _t38);
  1352.     if(_t38 != 0) {
  1353.         _t18 = L00303A00(__s0[2], _t32);
  1354.     }
  1355.     asm(".long 0x7bb00020");
  1356.     asm(".long 0x7bb10010");
  1357.     asm("ld ra,0(sp)");
  1358.     return _t18;
  1359. }
  1360.  
  1361. L002EC708(
  1362.     intOrPtr __v1,                         // r3
  1363.     _unknown_ __a0,                        // r4
  1364.     intOrPtr __a1,                         // r5
  1365.     signed int __t0,                       // r8
  1366.     signed int __t2,                       // r10
  1367.     _unknown_ __s0,                        // r16
  1368.     signed int __s1                        // r17
  1369. )
  1370. {
  1371.     intOrPtr _t17;                         // _t17
  1372.     _unknown_ _t22;                        // _t22
  1373.  
  1374.     __s1 = __s1;
  1375.     __s0 = __s0;
  1376.     __a1 = __a1;
  1377.     _t22 = __a0;
  1378.     _t19 = __v1;
  1379.     asm(".long 0x7fb00030");
  1380.     asm(".long 0x7fb10020");
  1381.     asm("daddu s0,a0,zero");
  1382.     asm(".long 0x7fb20010");
  1383.     asm("sd ra,0(sp)");
  1384.     __s2 = __t0 << 24 >> 24;
  1385.     asm("daddu s1,a2,zero");
  1386.     asm("daddu a0,a3,zero");
  1387.      *((intOrPtr*)(__s0 + 20)) = 0x389368;
  1388.     asm("daddu v1,a1,zero");
  1389.      *((intOrPtr*)(__s0)) = __a1;
  1390.     if(__t2 << 24 != 0) {
  1391.         _t19 = __v1 + (__s1 << 4);
  1392.     }
  1393.      *((intOrPtr*)(__s0 + 4)) = _t19;
  1394.     _t17 = L00303628(_t22);
  1395.      *((intOrPtr*)(__s0 + 8)) = _t17;
  1396.      *(__s0 + 12) = __s1;
  1397.     asm("daddu v0,s0,zero");
  1398.      *((char*)(__s0 + 24)) = __s2;
  1399.      *((intOrPtr*)(__s0 + 20)) = 0x389388;
  1400.      *((intOrPtr*)(__s0 + 44)) = 1;
  1401.      *((char*)(__s0 + 16)) = 0;
  1402.      *((intOrPtr*)(__s0 + 28)) = 0;
  1403.      *((intOrPtr*)(__s0 + 32)) = 0;
  1404.      *((intOrPtr*)(__s0 + 36)) = 0;
  1405.      *((intOrPtr*)(__s0 + 40)) = 1;
  1406.     asm(".long 0x7bb00030");
  1407.     asm(".long 0x7bb10020");
  1408.     asm(".long 0x7bb20010");
  1409.     asm("ld ra,0(sp)");
  1410.     return _t17;
  1411. }
  1412.  
  1413. L002F3DD0(
  1414.     intOrPtr __v1,                         // r3
  1415.     _unknown_ __a0,                        // r4
  1416.     _unknown_ __a1,                        // r5
  1417.     _unknown_ __a2,                        // r6
  1418.     _unknown_ __a3,                        // r7
  1419.     _unknown_ __t0,                        // r8
  1420.     _unknown_ __t2,                        // r10
  1421.     intOrPtr __s0,                         // r16
  1422.     intOrPtr* __s1,                        // r17
  1423.     _unknown_ __flags                      // r33
  1424. )
  1425. {
  1426.     intOrPtr _v64;                         // _cfa_ffffffc0
  1427.     short* _v68;                           // _cfa_ffffffbc
  1428.     char _v72;                             // _cfa_ffffffb8
  1429.     intOrPtr _v76;                         // _cfa_ffffffb4
  1430.     char _v80;                             // _cfa_ffffffb0
  1431.     short* _v92;                           // _cfa_ffffffa4
  1432.     intOrPtr _v96;                         // _cfa_ffffffa0
  1433.     intOrPtr _t45;                         // _t45
  1434.     intOrPtr _t56;                         // _t56
  1435.     short _t57;                            // _t57
  1436.     intOrPtr _t66;                         // _t66
  1437.     intOrPtr _t67;                         // _t67
  1438.     short _t72;                            // _t72
  1439.     short* _t81;                           // _t81
  1440.     short* _t82;                           // _t82
  1441.     intOrPtr _t84;                         // _t84
  1442.     short* _t85;                           // _t85
  1443.     _unknown_ _t111;                       // _t111
  1444.     short _t140;                           // _t140
  1445.  
  1446.     __s1 = __s1;
  1447.     __s0 = __s0;
  1448.     asm(".long 0x7fb00050");
  1449.     asm(".long 0x7fb10040");
  1450.     asm("daddu s0,a1,zero");
  1451.     asm("sd ra,48(sp)");
  1452.     asm("daddu s1,a0,zero");
  1453.     _t45 =  *__s1;
  1454.     _t94 = __s1 + 16;
  1455.     if(_t45 != __s0) {
  1456.         asm("daddu a0,sp,zero");
  1457.         asm("daddu a3,zero,zero");
  1458.         asm("daddu t0,zero,zero");
  1459.         asm("daddu t1,zero,zero");
  1460.         L002EC708(__v1, __a0, _t94, __t0, __t2, __s0, __s1);
  1461.          *_v92 = 0;
  1462.         asm("dsll t1,t1,#16");
  1463.         asm("dsll t1,t1,#16");
  1464.         asm("dsll a3,a3,#16");
  1465.         asm("dsll a3,a3,#16");
  1466.         asm("ld v0,0(a0)");
  1467.         asm("dsll32 v1,v1,#0");
  1468.         asm("dsrl a2,a2,#1");
  1469.         asm("sd v0,0(a0)");
  1470.         _t81 = _v92;
  1471.         _v68 = _t81;
  1472.         if(_v72 == 0) {
  1473.             _t56 = _t81 + 16;
  1474.             __flags = _t56;
  1475.             _v92 = _t56;
  1476.         } else {
  1477.             _v92 = _t81 + 8;
  1478.             _v64 = 8;
  1479.         }
  1480.         _t82 = _v68;
  1481.         _t57 = _v92;
  1482.         if(_t82 != 0) {
  1483.              *_t82 = _t57;
  1484.         }
  1485.         _v68 = 0;
  1486.          *_v92 = 0;
  1487.         asm("dsll a3,a3,#16");
  1488.         asm("dsll a3,a3,#16");
  1489.         _t111 = 0xffffffffffffffff;
  1490.         asm("dsll t0,t0,#16");
  1491.         asm("dsll t0,t0,#16");
  1492.         asm("ld v0,0(v1)");
  1493.         asm("dsrl a0,a0,#1");
  1494.         asm("sd v0,0(v1)");
  1495.         _t84 = _v92;
  1496.         _v68 = _t84;
  1497.         if(_v72 == 0) {
  1498.             _t66 = _t84 + 16;
  1499.             __flags = _t66;
  1500.             _v92 = _t66;
  1501.         } else {
  1502.             _v92 = _t84 + 8;
  1503.             _v64 = 8;
  1504.         }
  1505.         _t85 = _v68;
  1506.         _t67 = _v92;
  1507.         if(_t85 != 0) {
  1508.             _t72 = (_t67 - _t85 >> 4) + -1;
  1509.             _t140 = _t72;
  1510.              *_t85 = _t72;
  1511.         }
  1512.         _v68 = 0;
  1513.         asm("daddu a0,sp,zero");
  1514.         L002EC678(_t85, -1, 1, 1, _t111, __s0, __s1, _t140);
  1515.         _t45 = 0x389368;
  1516.          *__s1 = __s0;
  1517.         _v76 = 3735552;
  1518.         if(_v80 != 0) {
  1519.             _t45 = L002B0BE8(_v96);
  1520.         }
  1521.     }
  1522.     asm(".long 0x7bb00050");
  1523.     asm(".long 0x7bb10040");
  1524.     asm("ld ra,48(sp)");
  1525.     return _t45;
  1526. }
  1527.  
  1528. L002F3FF8(
  1529.     _unknown_ __v0,                        // r2
  1530.     _unknown_ __a0                         // r4
  1531. )
  1532. {
  1533.     __a0 = __a0;
  1534.     __v0 = __v0;
  1535.     asm("daddu v0,a0,zero");
  1536.      *((intOrPtr*)(__a0)) = 0;
  1537.      *((intOrPtr*)(__a0 + 4144)) = 0x389850;
  1538.      *((intOrPtr*)(__a0 + 4)) = 0;
  1539.     return __v0;
  1540. }
  1541.  
  1542. L002F4048(
  1543.     intOrPtr __a0,                         // r4
  1544.     _unknown_ __gp                         // r28
  1545. )
  1546. {
  1547.     __gp = __gp;
  1548.     __a0 = __a0;
  1549.      *((intOrPtr*)(__gp + -9816)) = __a0;
  1550.     return 1;
  1551. }
  1552.  
  1553. L002F4058(
  1554.     _unknown_ __gp                         // r28
  1555. )
  1556. {
  1557.     __gp = __gp;
  1558.     __a2 =  *((intOrPtr*)(__gp + -9816));
  1559.     if(__a2 != 0) {
  1560.          *((intOrPtr*)( *((intOrPtr*)( *((intOrPtr*)(__a2 + 4144)) + 12))))();
  1561.     }
  1562.     asm("ld ra,0(sp)");
  1563.     return;
  1564. }
  1565.  
  1566. L00302B38(
  1567.     _unknown_ __a0,                        // r4
  1568.     _unknown_ __a2,                        // r6
  1569.     _unknown_ __t0,                        // r8
  1570.     _unknown_ __s0,                        // r16
  1571.     _unknown_ __s1,                        // r17
  1572.     _unknown_ __s2,                        // r18
  1573.     _unknown_ __s3,                        // r19
  1574.     _unknown_ __s5,                        // r21
  1575.     _unknown_ __s6,                        // r22
  1576.     _unknown_ __s7,                        // r23
  1577.     _unknown_ __flags                      // r33
  1578. )
  1579. {
  1580.     char* _t14;                            // _t14
  1581.     _unknown_ _t16;                        // _t16
  1582.  
  1583.     __s7 = __s7;
  1584.     __s6 = __s6;
  1585.     __s5 = __s5;
  1586.     __s3 = __s3;
  1587.     __s0 = __s0;
  1588.     __t0 = __t0;
  1589.     asm("sd s1,16(sp)");
  1590.     _t14 = "ScreenCapture";
  1591.     asm("sd s2,32(sp)");
  1592.     _t16 = _t14 + -24032;
  1593.     asm("sd ra,48(sp)");
  1594.     _t2 =  *((char*)(_t14 + -24032));
  1595.     _t19 = _t2;
  1596.     if(_t2 == 0) {
  1597.         L0031F378(__v1, "rom0:ROMVER", __a2, __t0, __s0, _t14, _t16, __s3, __s4, __s5, __s6, __s7, _t19);
  1598.         asm("daddu s0,v0,zero");
  1599.         if(__s0 >= 0) {
  1600.             asm("daddu a0,s0,zero");
  1601.             L0031F9B8(__s0, 14);
  1602.             L0031F600(__s0, 14);
  1603.         }
  1604.     }
  1605.     asm("ld ra,48(sp)");
  1606.     asm("ld s2,32(sp)");
  1607.     asm("ld s1,16(sp)");
  1608.     asm("ld s0,0(sp)");
  1609.     return _t14 + -24032;
  1610. }
  1611.  
  1612. L00302BA8(
  1613.     _unknown_ __s0,                        // r16
  1614.     _unknown_ __flags                      // r33
  1615. )
  1616. {
  1617.     _unknown_ _t10;                        // _t10
  1618.  
  1619.     __v1 = "ScreenCapture";
  1620.     asm("sd s0,0(sp)");
  1621.     _t10 = __v1 + -24032;
  1622.     _t2 =  *((char*)(__v1 + -24032));
  1623.     _t13 = _t2;
  1624.     if(_t2 == 0) {
  1625.         L00302B38(__a0, __a2, __t0, _t10, __s1, __s2, __s3, __s5, __s6, __s7, _t13);
  1626.     }
  1627.     asm("ld ra,16(sp)");
  1628.     asm("ld s0,0(sp)");
  1629.     return ( *(_t10 + 4) ^ 84) < 1;
  1630. }
  1631.  
  1632. L00302BE8(
  1633.     _unknown_ __s0,                        // r16
  1634.     _unknown_ __flags                      // r33
  1635. )
  1636. {
  1637.     unsigned int _v32;                     // _cfa_ffffffe0
  1638.     _unknown_ _t5;                         // _t5
  1639.     signed int _t14;                       // _t14
  1640.     _unknown_ _t15;                        // _t15
  1641.  
  1642.     _t15 = __flags;
  1643.     __s0 = __s0;
  1644.     asm("sd ra,16(sp)");
  1645.     L0031BED0(_t5);
  1646.     if(L00302BA8(__s0, _t15) == 0) {
  1647.         L0031BED0( ?_? ("ScreenCapture"));
  1648.         asm("bnel v0,zero,0x14");
  1649.         _t14 = _v32 >> 4 & 1;
  1650.     } else {
  1651.         _t14 =  *("ScreenCapture" + -24036) & 255;
  1652.     }
  1653.     asm("ld ra,16(sp)");
  1654.     return _t14;
  1655. }
  1656.  
  1657. L00302C50(
  1658.     _unknown_ __s0,                        // r16
  1659.     _unknown_ __flags                      // r33
  1660. )
  1661. {
  1662.     unsigned int _v32;                     // _cfa_ffffffe0
  1663.     signed int _t9;                        // _t9
  1664.  
  1665.     __s0 = __s0;
  1666.     asm("sd ra,16(sp)");
  1667.     if(L00302BA8(__s0, __flags) == 0) {
  1668.         L0031BED0(_t5);
  1669.         _t9 = _v32 >> 1 & 3;
  1670.         __flags = _t9;
  1671.     } else {
  1672.         _t9 =  *("ScreenCapture" + -24038) & 255;
  1673.     }
  1674.     asm("ld ra,16(sp)");
  1675.     return _t9;
  1676. }
  1677.  
  1678. L00303550(
  1679.     _unknown_ __v1,                        // r3
  1680.     _unknown_ __a0,                        // r4
  1681.     _unknown_ __a3,                        // r7
  1682.     signed int* __s0,                      // r16
  1683.     _unknown_ __s1                         // r17
  1684. )
  1685. {
  1686.     signed int _t8;                        // _t8
  1687.     _unknown_ _t16;                        // _t16
  1688.  
  1689.     __s0 = __s0;
  1690.     __a3 = __a3;
  1691.     __v1 = __v1;
  1692.     asm("sd s1,16(sp)");
  1693.     asm("sd s0,0(sp)");
  1694.     asm("sd ra,48(sp)");
  1695.     asm("daddu s0,a0,zero");
  1696.     asm("sd s2,32(sp)");
  1697.     _t8 =  *__s0 & 256;
  1698.     __s2 = 3735552;
  1699.     if(_t8 != 0) {
  1700.         _t16 = 0xffffff;
  1701.         do {
  1702.             if(_t16 < 0) {
  1703.                 L0031D990();
  1704.                 L00303A40(__v1, __s2 + -23944, __a3, _t16);
  1705.             }
  1706.             _t8 =  *__s0 & 256;
  1707.             _t16 = _t16 + -1;
  1708.         } while(_t8 != 0);
  1709.     }
  1710.     asm("ld ra,48(sp)");
  1711.     asm("ld s2,32(sp)");
  1712.     asm("ld s1,16(sp)");
  1713.     asm("ld s0,0(sp)");
  1714.     return _t8;
  1715. }
  1716.  
  1717. L003035C8(
  1718.     unsigned int __a0                      // r4
  1719. )
  1720. {
  1721.     if(__a0 >> 28 == 7) {
  1722.         return 0xfffffff;
  1723.     }
  1724.     return 268369920;
  1725. }
  1726.  
  1727. L00303628(
  1728.     signed int __a0                        // r4
  1729. )
  1730. {
  1731.     __a0 = __a0;
  1732.     if(__a0 < 10) {
  1733.         return  ?_? ("ScreenCapture");
  1734.     } else {
  1735.         return  *((intOrPtr*)((__a0 << 2) + "ScreenCapture" + -23936));
  1736.     }
  1737. }
  1738.  
  1739. L00303910(
  1740.     _unknown_ __v1,                        // r3
  1741.     _unknown_ __a3,                        // r7
  1742.     signed int* __s0,                      // r16
  1743.     signed int __s1                        // r17
  1744. )
  1745. {
  1746.     signed int _t14;                       // _t14
  1747.     _unknown_ _t15;                        // _t15
  1748.  
  1749.     __s1 = __s1;
  1750.     __s0 = __s0;
  1751.     __a3 = __a3;
  1752.     _t15 = __v1;
  1753.     asm("sd s0,0(sp)");
  1754.     asm("daddu s0,a0,zero");
  1755.     asm("sd s1,16(sp)");
  1756.     asm("sd ra,32(sp)");
  1757.     L003035C8(__a0);
  1758.     asm("daddu s1,v0,zero");
  1759.     L00303550(_t15, __a0, __a3, __s0, __s1);
  1760.     asm("bnel v1,v0,0x8");
  1761.     __s0[0xc] = __s1;
  1762.     __s0[8] = 0;
  1763.     asm("ld ra,32(sp)");
  1764.     _t14 =  *__s0 & -13 | 261;
  1765.     asm("ld s1,16(sp)");
  1766.      *__s0 = _t14;
  1767.     asm("ld s0,0(sp)");
  1768.     return _t14;
  1769. }
  1770.  
  1771. L00303A00(
  1772.     unsigned int* __a0,                    // r4
  1773.     _unknown_ __a1                         // r5
  1774. )
  1775. {
  1776.     signed int _t4;                        // _t4
  1777.  
  1778.     __a1 = __a1;
  1779.     __a0 = __a0;
  1780.     if(__a1 != 1) {
  1781.         _t4 = L00303550(__v1, __a0, __a3, __s0, __s1);
  1782.         asm("daddu v0,zero,zero");
  1783.     } else {
  1784.         _t4 =  *__a0 >> 8 & 1;
  1785.     }
  1786.     asm("ld ra,0(sp)");
  1787.     return _t4;
  1788. }
  1789.  
  1790. L00303A40(
  1791.     _unknown_ __v1,                        // r3
  1792.     _unknown_ __a0,                        // r4
  1793.     _unknown_ __a3,                        // r7
  1794.     signed int* __s1                       // r17
  1795. )
  1796. {
  1797.     signed int _t16;                       // _t16
  1798.  
  1799.     __s1 = __s1;
  1800.     __a3 = __a3;
  1801.     asm("sd s1,16(sp)");
  1802.     asm("sd ra,32(sp)");
  1803.     asm("daddu s1,a0,zero");
  1804.     L00321160(__v1);
  1805.     asm("daddu a3,v0,zero");
  1806.     __a2 =  *0x1000F520;
  1807.     _t15 = 268435456;
  1808.     if((__a2 & 65536) == 0) {
  1809.          *0x1000F590 = __a2 | 65536;
  1810.         _t15 = 268435456;
  1811.     }
  1812.     _t16 = _t15 | 57344;
  1813.      *__s1 =  *__s1 & 0xfffffffffffffeff;
  1814.      *0x1000F590 = __a2;
  1815.     if(__a3 != 0) {
  1816.         _t16 = L003211A8(_t16);
  1817.         asm("daddu v0,s0,zero");
  1818.     }
  1819.     asm("ld ra,32(sp)");
  1820.     asm("ld s1,16(sp)");
  1821.     asm("ld s0,0(sp)");
  1822.     return _t16;
  1823. }
  1824.  
  1825. L00311AF8()
  1826. {
  1827.     return  *((intOrPtr*)("ScreenCapture" + -15276));
  1828. }
  1829.  
  1830. L00311B08(
  1831.     signed int __a0,                       // r4
  1832.     signed int __a1,                       // r5
  1833.     _unknown_ __a2,                        // r6
  1834.     signed int __t0,                       // r8
  1835.     signed int __t2                        // r10
  1836. )
  1837. {
  1838.     signed int _t16;                       // _t16
  1839.     signed int _t18;                       // _t18
  1840.     signed int _t22;                       // _t22
  1841.     _unknown_ _t24;                        // _t24
  1842.     _unknown_ _t25;                        // _t25
  1843.     _unknown_ _t27;                        // _t27
  1844.     _unknown_ _t28;                        // _t28
  1845.  
  1846.     __t2 = __t2;
  1847.     __t0 = __t0;
  1848.     _t24 = __a2;
  1849.     __a1 = __a1;
  1850.     _t22 = __a0;
  1851.     _t16 = __a0 | __a1;
  1852.     if(__a2 >= 16 && (_t16 & 15) == 0) {
  1853.         do {
  1854.             asm(".long 0x78830000");
  1855.             _t28 = _t24 < 32;
  1856.             asm(".long 0x78a20000");
  1857.             asm(".long 0x704344c9");
  1858.             asm(".long 0x710753a9");
  1859.             __a1 = (__a1 + 16) * ((__t2 | __t0) == 0) | __a1 * ((__t2 | __t0) != 0);
  1860.             asm("bnel t1,zero,0x10");
  1861.             _t22 = _t22;
  1862.             _t24 = _t24 + -16;
  1863.         } while(_t28 == 0);
  1864.     }
  1865.     _t25 = _t24 + -1;
  1866.     _t18 = 0xffffffffffffffff;
  1867.     if(_t25 == -65536) {
  1868. L8:
  1869.         return _t18;
  1870.     } else {
  1871.         _t27 = 0xffffffffffffffff;
  1872.         while(1) {
  1873.             __v1 =  *_t22 & 255;
  1874.             _t18 =  *__a1 & 255;
  1875.             _t22 = _t22 + 1;
  1876.             if(__v1 != _t18) {
  1877.                 break;
  1878.             }
  1879.             _t25 = _t25 + -1;
  1880.             __a1 = __a1 + 1;
  1881.             if(_t25 != _t27) {
  1882.                 continue;
  1883.             } else {
  1884.                 goto L8;
  1885.             }
  1886.             goto L9;
  1887.         }
  1888.         return __v1 - _t18;
  1889.     }
  1890. L9:
  1891. }
  1892.  
  1893. L00311B9C(
  1894.     char* __v1,                            // r3
  1895.     signed int* __a1,                      // r5
  1896.     _unknown_ __a2,                        // r6
  1897.     _unknown_ __a3,                        // r7
  1898.     _unknown_ __t0                         // r8
  1899. )
  1900. {
  1901.     signed int _t11;                       // _t11
  1902.     signed int* _t16;                      // _t16
  1903.     _unknown_ _t18;                        // _t18
  1904.     _unknown_ _t19;                        // _t19
  1905.     _unknown_ _t20;                        // _t20
  1906.     _unknown_ _t21;                        // _t21
  1907.  
  1908.     __t0 = __t0;
  1909.     _t21 = __a3;
  1910.     _t18 = __a2;
  1911.     _t16 = __a1;
  1912.     __v1 = __v1;
  1913.     asm("daddu t0,a0,zero");
  1914.     if(__a2 >= 32) {
  1915.         asm("bnel v0,zero,0x68");
  1916.         _t20 = __a2 + -1;
  1917.         asm("daddu a3,t0,zero");
  1918.         do {
  1919.             asm(".long 0x78a30000");
  1920.             _t20 = _t20 + -32;
  1921.             __a0 = _t20 < 32;
  1922.             asm(".long 0x7ce30000");
  1923.             asm(".long 0x78a20000");
  1924.             _t16 =  &(_t16[8]);
  1925.             asm(".long 0x7ce20000");
  1926.             _t21 = _t21 + 0x20;
  1927.         } while(__a0 == 0);
  1928.         if(_t20 >= 8) {
  1929.             do {
  1930.                 asm("ld v1,0(a1)");
  1931.                 _t20 = _t20 + -8;
  1932.                 _t16 =  &(_t16[2]);
  1933.                 asm("sd v1,0(a3)");
  1934.                 _t21 = _t21 + 8;
  1935.             } while(_t20 < 8);
  1936.             asm("daddu v1,a3,zero");
  1937.         }
  1938.     }
  1939.     _t19 = _t18 + -1;
  1940.     _t11 = -1;
  1941.     if(_t19 != -1) {
  1942.         do {
  1943.             _t11 =  *_t16 & 255;
  1944.             _t19 = _t19 + -1;
  1945.             _t16 =  &(_t16[0]);
  1946.              *__v1 = _t11;
  1947.             __v1 = __v1 + 1;
  1948.         } while(_t19 != __a0);
  1949.     }
  1950.     return _t11;
  1951. }
  1952.  
  1953. L00311D50(
  1954.     char* __v1,                            // r3
  1955.     signed int __a0,                       // r4
  1956.     char __a1,                             // r5
  1957.     _unknown_ __a2,                        // r6
  1958.     _unknown_ __a3                         // r7
  1959. )
  1960. {
  1961.     _unknown_ _t10;                        // _t10
  1962.     _unknown_ _t16;                        // _t16
  1963.     _unknown_ _t17;                        // _t17
  1964.     _unknown_ _t18;                        // _t18
  1965.  
  1966.     _t18 = __a3;
  1967.     _t16 = __a2;
  1968.     __a1 = __a1;
  1969.     __a0 = __a0;
  1970.     __v1 = __v1;
  1971.     if(__a2 < 8 || (__a0 & 15) != 0) {
  1972. L7:
  1973.         _t17 = _t16 + -1;
  1974.         _t10 = 0xffffffffffffffff;
  1975.         if(_t17 == -65536) {
  1976. L10:
  1977.             return _t10;
  1978.         }
  1979.         _t10 = 0xffffffffffffffff;
  1980.         do {
  1981.              *__v1 = __a1;
  1982.             _t17 = _t17 + -1;
  1983.             __v1 = __v1 + 1;
  1984.         } while(_t17 != _t10);
  1985.         goto L10;
  1986.     } else {
  1987.         asm("daddu t0,t1,zero");
  1988.         asm("dsll v1,t0,#8");
  1989.         asm(".long 0x70081ee9");
  1990.         if(__a2 < 32) {
  1991. L6:
  1992.             asm("beql v0,zero,0xffffffec");
  1993.             asm("sd v1,0(a3)");
  1994.             asm("daddu v1,a3,zero");
  1995.             goto L7;
  1996.         }
  1997.         asm(".long 0x70634389");
  1998.         do {
  1999.             asm(".long 0x7ce80000");
  2000.             _t16 = _t16 + -32;
  2001.             asm(".long 0x7ce80000");
  2002.             _t18 = _t18 + 0x20;
  2003.         } while(_t16 < 32);
  2004.         goto L6;
  2005.     }
  2006. }
  2007.  
  2008. L00311F44(
  2009.     signed int __a0,                       // r4
  2010.     signed int __a1                        // r5
  2011. )
  2012. {
  2013.     signed int _t22;                       // _t22
  2014.     signed int _t23;                       // _t23
  2015.     signed int _t28;                       // _t28
  2016.     signed int _t29;                       // _t29
  2017.     signed int* _t34;                      // _t34
  2018.     signed int* _t36;                      // _t36
  2019.     signed int _t40;                       // _t40
  2020.     signed int _t45;                       // _t45
  2021.  
  2022.     __t0 = __a0 | __a1;
  2023.     asm("bnel v0,zero,0x130");
  2024.     asm("dsll a3,a3,#16");
  2025.     asm("dsll a3,a3,#16");
  2026.     asm("dsll a3,a3,#9");
  2027.     _t45 = 0x8181;
  2028.     asm("dsll a2,a2,#16");
  2029.     asm("dsll a2,a2,#16");
  2030.     asm("dsll a2,a2,#16");
  2031.     _t40 = 0x8080;
  2032.     if((__t0 & 15) != 0) {
  2033.         asm("ld v1,0(a0)");
  2034.         asm("bnel v1,v0,0x68");
  2035.         asm("ld v0,0(a0)");
  2036.         asm("nor t0,zero,v0");
  2037.         asm("dsubu v0,v0,a3");
  2038.         _t22 =  *__a0 & __t0 & _t40;
  2039.         _t34 = __a0 + 8;
  2040.         if(_t22 == 0) {
  2041.             _t36 = __a1 + 8;
  2042.             asm("ld v0,0(a0)");
  2043.             asm("ld v1,0(a1)");
  2044.             asm("beql v1,v0,0xffffffd8");
  2045.             asm("nor t0,zero,v0");
  2046.             _t23 =  *_t34;
  2047.             goto L8;
  2048.         } else {
  2049.             return _t22;
  2050.         }
  2051.     } else {
  2052.         asm(".long 0x78830000");
  2053.         asm(".long 0x70e74389");
  2054.         asm(".long 0x78a20000");
  2055.         asm(".long 0x70c65389");
  2056.         asm(".long 0x70433848");
  2057.         asm(".long 0x70e433a9");
  2058.         asm("bnel v1,zero,0xc8");
  2059.         _t28 =  *__a0;
  2060.         asm(".long 0x78820000");
  2061.         asm(".long 0x70021ce9");
  2062.         asm(".long 0x70481248");
  2063.         asm(".long 0x70431489");
  2064.         asm(".long 0x704a1489");
  2065.         asm(".long 0x70441ba9");
  2066.         _t34 = __a0 + 16;
  2067.         if((_t40 | _t45 | _t28) == 0) {
  2068.             _t36 = __a1 + 16;
  2069.             asm(".long 0x78820000");
  2070.             asm(".long 0x78a30000");
  2071.             asm(".long 0x70433848");
  2072.             asm(".long 0x70e433a9");
  2073.             asm("beql t1,zero,0xffffffc4");
  2074.             asm(".long 0x70021ce9");
  2075.             _t23 =  *_t34;
  2076.             while(1) {
  2077. L8:
  2078.                 _t29 =  *_t34 & 255;
  2079.                 if(_t23 == 0) {
  2080.                     break;
  2081.                 }
  2082.                 asm("bnel v0,v1,0x1c");
  2083.                 _t34 =  &(_t34[0]);
  2084.                 _t36 =  &(_t36[0]);
  2085.                 _t23 =  *_t34;
  2086.             }
  2087.             return _t29 - ( *_t36 & 255);
  2088.         } else {
  2089.             return _t28;
  2090.         }
  2091.     }
  2092. }
  2093.  
  2094. L00312090(
  2095.     signed int __a1,                       // r5
  2096.     _unknown_ __a2,                        // r6
  2097.     signed int __a3                        // r7
  2098. )
  2099. {
  2100.     signed int _t9;                        // _t9
  2101.     signed int _t10;                       // _t10
  2102.     signed int _t11;                       // _t11
  2103.     signed int _t15;                       // _t15
  2104.  
  2105.     __a3 = __a3;
  2106.     __a2 = __a2;
  2107.     __a1 = __a1;
  2108.     asm("daddu a3,a0,zero");
  2109.     __t0 = __a1 | __a3;
  2110.     if((__t0 & 7) == 0) {
  2111.         _t11 = __t0 & 15;
  2112.         asm("dsll t1,t1,#16");
  2113.         asm("dsll t1,t1,#16");
  2114.         asm("dsll t1,t1,#9");
  2115.         asm("dsll a0,a0,#16");
  2116.         asm("dsll a0,a0,#16");
  2117.         asm("dsll a0,a0,#16");
  2118.         _t15 = 0x8080;
  2119.         asm("bnel v0,zero,0x68");
  2120.         asm("ld t2,0(a1)");
  2121.         asm(".long 0x71295389");
  2122.         asm(".long 0x78a90000");
  2123.         asm(".long 0x70844389");
  2124.         asm(".long 0x712a1248");
  2125.         asm(".long 0x70091ce9");
  2126.         asm(".long 0x70431489");
  2127.         asm(".long 0x70481489");
  2128.         asm(".long 0x704923a9");
  2129.         __v1 = _t11 | _t15;
  2130.         if(__v1 != 0) {
  2131.             asm("daddu v1,a2,zero");
  2132.         } else {
  2133.             do {
  2134.                 asm(".long 0x7cc90000");
  2135.                 __a1 = __a1 + 16;
  2136.                 asm(".long 0x78a90000");
  2137.                 asm(".long 0x712a1248");
  2138.                 asm(".long 0x70091ce9");
  2139.                 asm(".long 0x70431489");
  2140.                 asm(".long 0x70481489");
  2141.                 asm(".long 0x704923a9");
  2142.                 __v1 = _t11 | _t15;
  2143.                 __a2 = __a2 + 16;
  2144.             } while(__v1 == 0);
  2145.             do {
  2146.                 goto L5;
  2147.             } while(_t10 != 0);
  2148.             return _t10;
  2149.         }
  2150.     }
  2151. L5:
  2152.     _t9 =  *__a1 & 255;
  2153.     __a1 = __a1 + 1;
  2154.      *__v1 = _t9;
  2155.     _t10 = _t9 << 24;
  2156.     __v1 = __v1 + 1;
  2157. }
  2158.  
  2159. L003121AC(
  2160.     signed int __a0,                       // r4
  2161.     _unknown_ __a1,                        // r5
  2162.     _unknown_ __a3                         // r7
  2163. )
  2164. {
  2165.     __a3 = __a3;
  2166.     _t17 = __a0;
  2167.     if((__a0 & 7) == 0) {
  2168.         asm("dsll v0,v0,#16");
  2169.         asm("dsll v0,v0,#16");
  2170.         asm("dsll v0,v0,#9");
  2171.         if((__a0 & 15) != 0) {
  2172.             asm("ld v1,0(a1)");
  2173.             asm("dsll a0,a0,#16");
  2174.             asm("dsll a0,a0,#16");
  2175.             asm("dsll a0,a0,#16");
  2176.             _t17 = 0x8080;
  2177.             asm("dsubu v0,v1,v0");
  2178.             asm("nor v1,zero,v1");
  2179.             asm("bnel v0,zero,0x48");
  2180.             asm("daddu a0,a1,zero");
  2181.             asm("dsll a2,a2,#16");
  2182.             asm("dsll a2,a2,#16");
  2183.             asm("dsll a2,a2,#9");
  2184.             asm("ld v0,0(a1)");
  2185.             asm("nor v1,zero,v0");
  2186.             asm("dsubu v0,v0,a2");
  2187.             asm("beql v0,zero,0xffffffec");
  2188.             asm("daddu a0,a1,zero");
  2189.         } else {
  2190.             asm(".long 0x78a30000");
  2191.             asm(".long 0x70424389");
  2192.             asm("dsll a0,a0,#16");
  2193.             asm("dsll a0,a0,#16");
  2194.             asm("dsll a0,a0,#16");
  2195.             _t17 = 0x8080;
  2196.             asm(".long 0x70681248");
  2197.             asm(".long 0x70031ce9");
  2198.             asm(".long 0x70844b89");
  2199.             asm(".long 0x70431489");
  2200.             asm(".long 0x70491489");
  2201.             asm(".long 0x70481ba9");
  2202.             asm("bnel a2,zero,0xb0");
  2203.             asm("daddu a0,a1,zero");
  2204.             asm(".long 0x78a20000");
  2205.             asm(".long 0x70021ce9");
  2206.             asm(".long 0x70481248");
  2207.             asm(".long 0x70431489");
  2208.             asm(".long 0x70492489");
  2209.             asm(".long 0x70861ba9");
  2210.             asm("beql v1,zero,0xffffffe4");
  2211.         }
  2212.     }
  2213.     asm("bnel v0,zero,0xffffffec");
  2214.     return _t17 + 1 - __a3;
  2215. }
  2216.  
  2217. L003126F8(
  2218.     _unknown_ __v1,                        // r3
  2219.     _unknown_ __a2,                        // r6
  2220.     char* __t4,                            // r12
  2221.     _unknown_ __flags                      // r33
  2222. )
  2223. {
  2224.     char _v48;                             // _cfa_ffffffd0
  2225.     intOrPtr _v140;                        // _cfa_ffffff74
  2226.     intOrPtr _v204;                        // _cfa_ffffff34
  2227.     char* _v208;                           // _cfa_ffffff30
  2228.     short _v212;                           // _cfa_ffffff2c
  2229.     intOrPtr _v216;                        // _cfa_ffffff28
  2230.     char* _v224;                           // _cfa_ffffff20
  2231.     _unknown_ _t14;                        // _t14
  2232.  
  2233.     __t4 = __t4;
  2234.     __sp = __sp + -224;
  2235.     asm("daddu t4,a0,zero");
  2236.     asm("sd a2,176(sp)");
  2237.     asm(".long 0x7fbf0060");
  2238.     asm("daddu a0,sp,zero");
  2239.     _v204 = 2147418112;
  2240.     _v216 = 2147418112;
  2241.     asm("sd a3,184(sp)");
  2242.     asm("sd t0,192(sp)");
  2243.     asm("sd t1,200(sp)");
  2244.     asm("sd t2,208(sp)");
  2245.     asm("sd t3,216(sp)");
  2246.     asm(".long 0xe7ac00a0");
  2247.     asm(".long 0xe7ae00a4");
  2248.     asm(".long 0xe7b000a8");
  2249.     asm(".long 0xe7b200ac");
  2250.     _v212 = 520;
  2251.     _v208 = __t4;
  2252.     _v140 =  *((intOrPtr*)("ScreenCapture" + -15276));
  2253.     _v224 = __t4;
  2254.     _t14 = L00317FE0(0x7fffffff, __a0, __a1,  ?_? ( &_v48), __t0,  &_v48);
  2255.     asm(".long 0x7bbf0060");
  2256.      *_v224 = 0;
  2257.     __sp = __sp + 224;
  2258.     return _t14;
  2259. }
  2260.  
  2261. L00313570(
  2262.     _unknown_ __a0,                        // r4
  2263.     _unknown_ __a1,                        // r5
  2264.     _unknown_ __a2,                        // r6
  2265.     _unknown_ __a3,                        // r7
  2266.     _unknown_ __t0,                        // r8
  2267.     _unknown_ __t1,                        // r9
  2268.     _unknown_ __t2,                        // r10
  2269.     _unknown_ __t3,                        // r11
  2270.     _unknown_ __t4,                        // r12
  2271.     _unknown_ __t5,                        // r13
  2272.     _unknown_ __t6,                        // r14
  2273.     _unknown_ __s0,                        // r16
  2274.     _unknown_ __s1,                        // r17
  2275.     _unknown_ __s2,                        // r18
  2276.     _unknown_ __s3,                        // r19
  2277.     _unknown_ __s4,                        // r20
  2278.     _unknown_ __lo,                        // r35
  2279.     _unknown_ __hi                         // r36
  2280. )
  2281. {
  2282.     _unknown_ _t8;                         // _t8
  2283.  
  2284.     __hi = __hi;
  2285.     __lo = __lo;
  2286.     __s4 = __s4;
  2287.     __s3 = __s3;
  2288.     __s2 = __s2;
  2289.     __s0 = __s0;
  2290.     __t6 = __t6;
  2291.     __t5 = __t5;
  2292.     __t4 = __t4;
  2293.     __t3 = __t3;
  2294.     __t2 = __t2;
  2295.     __t1 = __t1;
  2296.     __t0 = __t0;
  2297.     __a3 = __a3;
  2298.     __a2 = __a2;
  2299.     __a1 = __a1;
  2300.     asm(".long 0x7fb10010");
  2301.     asm(".long 0x7fb00000");
  2302.     _t14 =  ?_? ("ScreenCapture");
  2303.     asm("daddu s0,a0,zero");
  2304.     asm(".long 0x7fbf0020");
  2305.     L00313948(__s0, __flags);
  2306.     L003159E0(__v1,  *((intOrPtr*)("ScreenCapture" + -15276)), __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, __s0, _t14, __s2, __s3, __s4, __flags, __lo, __hi);
  2307.     _t8 = L003139A8(__flags);
  2308.     asm("daddu v0,s0,zero");
  2309.     asm(".long 0x7bbf0020");
  2310.     asm(".long 0x7bb10010");
  2311.     asm(".long 0x7bb00000");
  2312.     return _t8;
  2313. }
  2314.  
  2315. L003135C0(
  2316.     _unknown_ __a0,                        // r4
  2317.     _unknown_ __a1,                        // r5
  2318.     _unknown_ __a2,                        // r6
  2319.     _unknown_ __a3,                        // r7
  2320.     _unknown_ __t0,                        // r8
  2321.     _unknown_ __t1,                        // r9
  2322.     _unknown_ __t2,                        // r10
  2323.     _unknown_ __t3,                        // r11
  2324.     _unknown_ __t4,                        // r12
  2325.     _unknown_ __t5,                        // r13
  2326.     _unknown_ __t6,                        // r14
  2327.     _unknown_ __s0,                        // r16
  2328.     _unknown_ __s1,                        // r17
  2329.     _unknown_ __s3,                        // r19
  2330.     _unknown_ __lo,                        // r35
  2331.     _unknown_ __hi                         // r36
  2332. )
  2333. {
  2334.     _unknown_ _t8;                         // _t8
  2335.  
  2336.     __hi = __hi;
  2337.     __lo = __lo;
  2338.     __s3 = __s3;
  2339.     __s1 = __s1;
  2340.     __t6 = __t6;
  2341.     __t5 = __t5;
  2342.     __t4 = __t4;
  2343.     __t3 = __t3;
  2344.     __t2 = __t2;
  2345.     __t1 = __t1;
  2346.     __t0 = __t0;
  2347.     __a3 = __a3;
  2348.     __a2 = __a2;
  2349.     __a1 = __a1;
  2350.     asm(".long 0x7fb10010");
  2351.     asm(".long 0x7fb00000");
  2352.     asm("daddu s1,a0,zero");
  2353.     _t14 =  ?_? ("ScreenCapture");
  2354.     asm(".long 0x7fbf0020");
  2355.     L00313948("ScreenCapture", __flags);
  2356.     L00316128(__v1,  *((intOrPtr*)(_t14 + -15276)), __a1, __a2, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t14, __s1, __s3, __flags, __lo, __hi);
  2357.     _t8 = L003139A8(__flags);
  2358.     asm(".long 0x7bbf0020");
  2359.     asm(".long 0x7bb10010");
  2360.     asm(".long 0x7bb00000");
  2361.     return _t8;
  2362. }
  2363.  
  2364. L00313608(
  2365.     _unknown_ __a0,                        // r4
  2366.     _unknown_ __a1,                        // r5
  2367.     _unknown_ __a2,                        // r6
  2368.     signed int* __s0,                      // r16
  2369.     _unknown_ __s1,                        // r17
  2370.     _unknown_ __s3,                        // r19
  2371.     _unknown_ __s4,                        // r20
  2372.     _unknown_ __flags                      // r33
  2373. )
  2374. {
  2375.     _unknown_ _t31;                        // _t31
  2376.     _unknown_ _t36;                        // _t36
  2377.     signed int _t43;                       // _t43
  2378.     signed int _t44;                       // _t44
  2379.     _unknown_ _t49;                        // _t49
  2380.     signed int _t54;                       // _t54
  2381.     signed int* _t56;                      // _t56
  2382.  
  2383.     __s4 = __s4;
  2384.     __s1 = __s1;
  2385.     __s0 = __s0;
  2386.     _t49 = __a1;
  2387.     asm(".long 0x7fb30040");
  2388.     asm(".long 0x7fb40050");
  2389.     asm("daddu s3,sp,zero");
  2390.     asm(".long 0x7fb20030");
  2391.     asm("daddu s4,a3,zero");
  2392.     asm(".long 0x7fb10020");
  2393.     asm("daddu s2,t0,zero");
  2394.     asm(".long 0x7fb00010");
  2395.     asm("daddu s1,a0,zero");
  2396.     asm(".long 0x7fbf0060");
  2397.     asm("daddu s0,a2,zero");
  2398.     _t56 = __a1 != 0 ? __a1 : __s3;
  2399.     if(__s0 == 0) {
  2400. L2:
  2401.         _t47 =  *((intOrPtr*)(__s1 + 52));
  2402.         if( *((intOrPtr*)(__s1 + 52)) == 0 || L003121AC(_t47, _t49, __a3) < 2) {
  2403. L14:
  2404.             asm("beql s0,zero,0x18");
  2405.             asm("daddu v0,zero,zero");
  2406.              *_t56 =  *__s0 & 255;
  2407.             _t31 = ( *__s0 & 255) < 0;
  2408.             goto L15;
  2409.         } else {
  2410.             _t31 = L00311F44( *((intOrPtr*)(__s1 + 52)), "C-SJIS");
  2411.             asm("bnel v0,zero,0x6c");
  2412.             _t43 =  *__s0 & 255;
  2413.             if(__s0 == 0) {
  2414. L15:
  2415.                 asm(".long 0x7bbf0060");
  2416.                 asm(".long 0x7bb40050");
  2417.                 asm(".long 0x7bb30040");
  2418.                 asm(".long 0x7bb20030");
  2419.                 asm(".long 0x7bb10020");
  2420.                 asm(".long 0x7bb00010");
  2421.                 return _t31;
  2422.             }
  2423.             _t36 = __s4 < 2;
  2424.             if(_t43 + -129 < 31) {
  2425. L7:
  2426.                 _t54 = __s0[0] & 255;
  2427.                 if(_t36 == 0) {
  2428.                     _t44 = _t43 << 8;
  2429.                     if(_t54 + -64 < 63) {
  2430.                         _t31 = 2;
  2431. L13:
  2432.                          *_t56 = _t44 + _t54;
  2433.                         goto L15;
  2434.                     }
  2435.                     _t31 = 2;
  2436.                     if(_t54 + -128 < 125) {
  2437.                         goto L13;
  2438.                     }
  2439.                     _t31 = -1;
  2440.                     goto L15;
  2441.                 }
  2442.                 _t31 = -1;
  2443.                 goto L15;
  2444.             }
  2445.             _t36 = __s4 < 2;
  2446.             if(_t43 + -224 < 16) {
  2447.                 goto L14;
  2448.             }
  2449.             goto L7;
  2450.         }
  2451.     }
  2452.     _t31 = -1;
  2453.     if(__s4 == 0) {
  2454.         goto L15;
  2455.     }
  2456.     goto L2;
  2457. }
  2458.  
  2459. L00313948(
  2460.     intOrPtr __s0,                         // r16
  2461.     _unknown_ __flags                      // r33
  2462. )
  2463. {
  2464.     _unknown_ _t10;                        // _t10
  2465.     intOrPtr _t16;                         // _t16
  2466.  
  2467.     __s0 = __s0;
  2468.     asm(".long 0x7fb10010");
  2469.     asm(".long 0x7fb00000");
  2470.     asm(".long 0x7fbf0020");
  2471.     __s1 = "ScreenCapture";
  2472.     L0031BD10(_t10);
  2473.     asm("daddu s0,v0,zero");
  2474.     if( *((intOrPtr*)(__s1 + -14408)) != __s0) {
  2475.         L0031BE60("ScreenCapture");
  2476.         __v1 = "ScreenCapture";
  2477.          *((intOrPtr*)(__s1 + -14408)) = __s0;
  2478.     } else {
  2479.         __v1 = "ScreenCapture";
  2480.     }
  2481.     _t16 =  *((intOrPtr*)(__v1 + -14404)) + 1;
  2482.      *((intOrPtr*)(__v1 + -14404)) = _t16;
  2483.     asm(".long 0x7bbf0020");
  2484.     asm(".long 0x7bb10010");
  2485.     asm(".long 0x7bb00000");
  2486.     return _t16;
  2487. }
  2488.  
  2489. L003139A8(
  2490.     _unknown_ __flags                      // r33
  2491. )
  2492. {
  2493.     intOrPtr _t9;                          // _t9
  2494.     char* _t11;                            // _t11
  2495.  
  2496.     _t11 = "ScreenCapture";
  2497.     __sp = __sp + -16;
  2498.     asm(".long 0x7fbf0000");
  2499.     _t9 =  *((intOrPtr*)(_t11 + -14404)) + -1;
  2500.      *((intOrPtr*)(_t11 + -14404)) = _t9;
  2501.     if(_t9 == 0) {
  2502.          *((intOrPtr*)("ScreenCapture" + -14408)) = -1;
  2503.         _t9 = L0031BE40("ScreenCapture");
  2504.     }
  2505.     asm(".long 0x7bbf0000");
  2506.     __sp = __sp + 16;
  2507.     return _t9;
  2508. }
  2509.  
  2510. L00315778(
  2511.     _unknown_ __v1,                        // r3
  2512.     _unknown_ __a0,                        // r4
  2513.     _unknown_ __a1,                        // r5
  2514.     _unknown_ __a2,                        // r6
  2515.     _unknown_ __a3,                        // r7
  2516.     _unknown_ __t0,                        // r8
  2517.     _unknown_ __t1,                        // r9
  2518.     _unknown_ __t2,                        // r10
  2519.     _unknown_ __t3,                        // r11
  2520.     _unknown_ __t4,                        // r12
  2521.     _unknown_ __t5,                        // r13
  2522.     _unknown_ __t6,                        // r14
  2523.     _unknown_ __s0,                        // r16
  2524.     intOrPtr __s1,                         // r17
  2525.     _unknown_ __s2,                        // r18
  2526.     _unknown_ __s3,                        // r19
  2527.     _unknown_ __flags,                     // r33
  2528.     _unknown_ __lo,                        // r35
  2529.     _unknown_ __hi                         // r36
  2530. )
  2531. {
  2532.     intOrPtr _t47;                         // _t47
  2533.     char* _t49;                            // _t49
  2534.     _unknown_ _t51;                        // _t51
  2535.     signed int _t52;                       // _t52
  2536.     _unknown_ _t70;                        // _t70
  2537.     intOrPtr _t72;                         // _t72
  2538.     _unknown_ _t88;                        // _t88
  2539.     _unknown_ _t92;                        // _t92
  2540.     signed int _t94;                       // _t94
  2541.     char* _t105;                           // _t105
  2542.     _unknown_ _t106;                       // _t106
  2543.     signed int _t108;                      // _t108
  2544.     signed int _t109;                      // _t109
  2545.  
  2546.     __hi = __hi;
  2547.     __lo = __lo;
  2548.     __s2 = __s2;
  2549.     __s1 = __s1;
  2550.     __t6 = __t6;
  2551.     __t5 = __t5;
  2552.     __t4 = __t4;
  2553.     __t3 = __t3;
  2554.     __t2 = __t2;
  2555.     __t1 = __t1;
  2556.     __t0 = __t0;
  2557.     __a3 = __a3;
  2558.     _t70 = __v1;
  2559.     asm(".long 0x7fbe0080");
  2560.     asm(".long 0x7fb70070");
  2561.     __s8 = "ScreenCapture" + -14400;
  2562.     asm(".long 0x7fb60060");
  2563.     asm("dsll32 a1,a1,#0");
  2564.     asm(".long 0x7fb50050");
  2565.     asm(".long 0x7fb30030");
  2566.     asm(".long 0x7fb20020");
  2567.     asm("dsrl32 a1,a1,#0");
  2568.     asm(".long 0x7fb00000");
  2569.     __s6 = "ScreenCapture";
  2570.     asm(".long 0x7fbf0090");
  2571.     asm(".long 0x7fb10010");
  2572.     asm("daddu s7,a0,zero");
  2573.     asm(".long 0x7fb40040");
  2574.     _t105 = 0xffffffffffffffff;
  2575.     __s4 =  *((intOrPtr*)(__s8 + 8));
  2576.     asm("ld v1,-13360(a2)");
  2577.     _t102 =  *(__s4 + 4);
  2578.     asm("daddu a1,a1,v1");
  2579.     _t108 =  *(__s4 + 4) & 0xfffffffffffffffc;
  2580.     asm("daddiu a1,a1,#0x10");
  2581.     _t47 =  *((intOrPtr*)(__s6 + -13352));
  2582.     asm("dsll32 s2,a1,#0");
  2583.     asm("dsra32 s2,s2,#0");
  2584.     __s5 = __s4 + _t108;
  2585.     _t112 = _t47 != -65536;
  2586.     if(_t47 != -65536) {
  2587.         asm("dsll32 v0,s2,#0");
  2588.         _t70 = -4096;
  2589.         asm("dsrl32 v0,v0,#0");
  2590.         asm("daddiu v0,v0,#0xfff");
  2591.         asm("dsll32 s2,v0,#0");
  2592.         asm("dsra32 s2,s2,#0");
  2593.     }
  2594.     asm("daddu a0,s7,zero");
  2595.     L00319DB8(_t70, _t105, __s1, _t112);
  2596.     asm("daddu s1,v0,zero");
  2597.     _t49 = __s5 < __s1;
  2598.     if(__s1 == _t105) {
  2599. L21:
  2600.         asm(".long 0x7bbf0090");
  2601.         goto L22;
  2602.     } else {
  2603.         _t9 = _t49;
  2604.         _t49 = "ScreenCapture";
  2605.         if(_t9 == 0) {
  2606. L6:
  2607.             _t72 =  *((intOrPtr*)(_t49 + -13328)) + __s2;
  2608.              *((intOrPtr*)(_t49 + -13328)) = _t72;
  2609.             if(__s1 != __s5) {
  2610.                 _t20 =  *((intOrPtr*)(__s6 + -13352)) - _t105;
  2611.                 __flags = _t20;
  2612.                 _t51 = __s1 - __s5;
  2613.                 __flags = _t20;
  2614.                 if(_t20 != 0) {
  2615.                     _t52 = _t72 + _t51;
  2616.                     __flags = _t52;
  2617.                      *("ScreenCapture" + -13328) = _t52;
  2618.                 } else {
  2619.                      *((intOrPtr*)(__s6 + -13352)) = __s1;
  2620.                 }
  2621.                 _t94 = __s1 + 8 & 15;
  2622.                 __flags = 16;
  2623.                 __flags = _t94;
  2624.                 if(__flags == 0) {
  2625.                     asm("daddu s0,zero,zero");
  2626.                 } else {
  2627.                     _t105 = 16 - _t94;
  2628.                     __s1 = __s1 + _t105;
  2629.                 }
  2630.                 asm("daddu a0,s7,zero");
  2631.                 asm("dsubu v1,v1,v0");
  2632.                 asm("dsll32 v1,v1,#0");
  2633.                 asm("dsra32 v1,v1,#0");
  2634.                 _t106 = _t105 + 4096;
  2635.                 L00319DB8(4096, _t106, __s1, __flags);
  2636.                 asm("daddu v1,v0,zero");
  2637.                 _t49 = 0xffffffffffffffff;
  2638.                 _t24 = 0x11000;
  2639.                 _t24 = _t24;
  2640.                 if(_t24 == 0) {
  2641. L22:
  2642.                     asm(".long 0x7bbe0080");
  2643.                     asm(".long 0x7bb70070");
  2644.                     asm(".long 0x7bb60060");
  2645.                     asm(".long 0x7bb50050");
  2646.                     asm(".long 0x7bb40040");
  2647.                     asm(".long 0x7bb30030");
  2648.                     asm(".long 0x7bb20020");
  2649.                     asm(".long 0x7bb10010");
  2650.                     asm(".long 0x7bb00000");
  2651.                     return _t49;
  2652.                 } else {
  2653.                     _t88 = "ScreenCapture" + -14400;
  2654.                      *("ScreenCapture" + -13328) =  *("ScreenCapture" + -13328) + _t106;
  2655.                      *((intOrPtr*)(_t88 + 8)) = __s1;
  2656.                     _t29 = __s4 - _t88;
  2657.                     __flags = _t29;
  2658.                      *(__s1 + 4) = 4096 - __s1 + _t106 | 1;
  2659.                     __flags = _t29;
  2660.                     if(_t29 == 0) {
  2661. L20:
  2662.                         asm("ld v0,-13344(a0)");
  2663.                         asm("bnel v0,zero,0x8");
  2664.                         asm("sd v1,-13344(a0)");
  2665.                         asm("ld v0,-13336(a0)");
  2666.                         _t49 =  *("ScreenCapture" + -13328) <  *( ?_? ("ScreenCapture") + -13328) < "ScreenCapture";
  2667.                         asm("bnel v0,zero,0x8");
  2668.                         asm("sd v1,-13336(a0)");
  2669.                         goto L21;
  2670.                     }
  2671.                     _t49 = 1;
  2672.                     1 = _t108 < 16;
  2673.                     if(_t108 < 16) {
  2674.                         _t109 = _t108 + -12 & 0xfffffffffffffff0;
  2675.                         _t92 = __s4 + _t109;
  2676.                          *(__s4 + 4) =  *(__s4 + 4) & 1 | _t109;
  2677.                          *((intOrPtr*)(_t92 + 8)) = 5;
  2678.                         _t83 = _t109 < 16;
  2679.                         _t39 = _t109 < 16;
  2680.                         __flags = _t39;
  2681.                          *((intOrPtr*)(_t92 + 4)) = 5;
  2682.                         __flags = _t39;
  2683.                         if(_t39 == 0) {
  2684.                             asm("daddu a0,s7,zero");
  2685.                             __flags = __s4 + 8;
  2686.                             L00316128(_t83, _t92, __s4 + 8, _t102, __a3, __t0, __t1, __t2, __t3, __t4, __t5, __t6, _t106, __s1, _t109, __s4 + 8, __lo, __hi);
  2687.                         }
  2688.                         goto L20;
  2689.                     }
  2690.                      *((intOrPtr*)( *((intOrPtr*)(_t88 + 8)) + 4)) = 1;
  2691.                     goto L22;
  2692.                 }
  2693.             }
  2694.              *( *((intOrPtr*)(__s8 + 8)) + 4) = __s2 + _t108 | 1;
  2695.             goto L20;
  2696.         }
  2697.         if(__s4 != __s8) {
  2698.             goto L22;
  2699.         }
  2700.         _t49 = "ScreenCapture";
  2701.         goto L6;
  2702.     }
  2703. }
  2704.  
  2705. L003159E0(
  2706.     _unknown_ __v1,                        // r3
  2707.     _unknown_ __a0,                        // r4
  2708.     _unknown_ __a1,                        // r5
  2709.     signed int __a2,                       // r6
  2710.     signed int __a3,                       // r7
  2711.     _unknown_ __t0,                        // r8
  2712.     _unknown_ __t1,                        // r9
  2713.     _unknown_ __t2,                        // r10
  2714.     signed int __t3,                       // r11
  2715.     signed int __t4,                       // r12
  2716.     _unknown_ __t5,                        // r13
  2717.     _unknown_ __t6,                        // r14
  2718.     intOrPtr __s0,                         // r16
  2719.     _unknown_ __s1,                        // r17
  2720.     _unknown_ __s2,                        // r18
  2721.     _unknown_ __s3,                        // r19
  2722.     _unknown_ __s4,                        // r20
  2723.     _unknown_ __flags,                     // r33
  2724.     _unknown_ __lo,                        // r35
  2725.     _unknown_ __hi                         // r36
  2726. )
  2727. {
  2728.     signed int _t153;                      // _t153
  2729.     unsigned int _t154;                    // _t154
  2730.     _unknown_ _t155;                       // _t155
  2731.     _unknown_ _t162;                       // _t162
  2732.     signed int _t183;                      // _t183
  2733.     _unknown_ _t184;                       // _t184
  2734.     signed int _t186;                      // _t186
  2735.     char* _t190;                           // _t190
  2736.     signed int _t191;                      // _t191
  2737.     _unknown_ _t192;                       // _t192
  2738.     signed int _t194;                      // _t194
  2739.     signed int _t196;                      // _t196
  2740.     signed int _t197;                      // _t197
  2741.     intOrPtr _t198;                        // _t198
  2742.     signed int _t208;                      // _t208
  2743.     signed int _t214;                      // _t214
  2744.     unsigned int _t215;                    // _t215
  2745.     _unknown_ _t216;                       // _t216
  2746.     unsigned int _t221;                    // _t221
  2747.     unsigned int _t223;                    // _t223
  2748.     unsigned int _t225;                    // _t225
  2749.     signed int _t230;                      // _t230
  2750.     unsigned int _t232;                    // _t232
  2751.     unsigned int _t234;                    // _t234
  2752.     unsigned int _t236;                    // _t236
  2753.     signed int _t255;                      // _t255
  2754.     unsigned int _t260;                    // _t260
  2755.     unsigned int _t273;                    // _t273
  2756.     _unknown_ _t280;                       // _t280
  2757.     signed int _t285;                      // _t285
  2758.     signed int _t290;                      // _t290
  2759.     unsigned int _t292;                    // _t292
  2760.     intOrPtr _t294;                        // _t294
  2761.     signed int _t297;                      // _t297
  2762.     signed int _t298;                      // _t298
  2763.     signed int _t299;                      // _t299
  2764.     signed int _t301;                      // _t301
  2765.     signed int _t303;                      // _t303
  2766.     signed int _t304;                      // _t304
  2767.     intOrPtr _t305;                        // _t305
  2768.     signed int _t306;                      // _t306
  2769.     _unknown_ _t307;                       // _t307
  2770.     _unknown_ _t308;                       // _t308
  2771.     signed int _t310;                      // _t310
  2772.     signed int _t312;                      // _t312
  2773.     unsigned int _t313;                    // _t313
  2774.     intOrPtr _t314;                        // _t314
  2775.     signed int _t315;                      // _t315
  2776.     signed int _t316;                      // _t316
  2777.     signed int _t318;                      // _t318
  2778.     unsigned int _t322;                    // _t322
  2779.     _unknown_ _t324;                       // _t324
  2780.  
  2781.     __hi = __hi;
  2782.     __lo = __lo;
  2783.     __s4 = __s4;
  2784.     __s3 = __s3;
  2785.     _t314 = __s0;
  2786.     __t6 = __t6;
  2787.     __t5 = __t5;
  2788.     __t4 = __t4;
  2789.     __t3 = __t3;
  2790.     _t307 = __t1;
  2791.     __a3 = __a3;
  2792.     _t297 = __a2;
  2793.     _t290 = __a1 + 19;
  2794.     asm(".long 0x7fb30030");
  2795.     asm(".long 0x7fbf0050");
  2796.     asm("daddu s3,a0,zero");
  2797.     asm(".long 0x7fb40040");
  2798.     asm(".long 0x7fb20020");
  2799.     asm(".long 0x7fb10010");
  2800.     _t1 = _t290 < 31;
  2801.     _t327 = _t1;
  2802.     if(_t1 != 0) {
  2803.         _t322 = 16;
  2804.         __flags = 16;
  2805.     } else {
  2806.         _t322 = _t290 & 0xfffffffffffffff0;
  2807.     }
  2808.     L00313948(_t314, _t327);
  2809.     if(_t322 < 504) {
  2810.         _t273 = _t322 >> 9;
  2811.         _t16 = _t273;
  2812.         __flags = _t16;
  2813.         _t153 = _t273 < 5;
  2814.         __flags = _t16;
  2815.         if(_t16 != 0) {
  2816.             _t17 = _t153;
  2817.             __flags = _t17;
  2818.             _t154 = _t322 >> 6;
  2819.             __flags = _t17;
  2820.             if(_t17 == 0) {
  2821.                 _t155 = _t273 < 21;
  2822.                 _t310 = _t273 + 91;
  2823.                 _t310 = _t155 == 0;
  2824.                 if(_t155 == 0) {
  2825.                     _t19 = _t273 < 85;
  2826.                     __flags = _t19;
  2827.                     _t232 = _t322 >> 12;
  2828.                     __flags = _t19;
  2829.                     if(_t19 == 0) {
  2830.                         _t20 = _t273 < 341;
  2831.                         __flags = _t20;
  2832.                         _t234 = _t322 >> 15;
  2833.                         __flags = _t20;
  2834.                         if(_t20 == 0) {
  2835.                             _t21 = _t273 < 1365;
  2836.                             __flags = _t21;
  2837.                             _t236 = _t322 >> 18;
  2838.                             __flags = _t21;
  2839.                             if(_t21 == 0) {
  2840.                                 _t310 = 126;
  2841.                                 __flags = 126;
  2842.                             } else {
  2843.                                 _t310 = _t236 + 124;
  2844.                             }
  2845.                         } else {
  2846.                             _t310 = _t234 + 119;
  2847.                         }
  2848.                     } else {
  2849.                         _t310 = _t232 + 110;
  2850.                     }
  2851.                 }
  2852.             } else {
  2853.                 _t310 = _t154 + 56;
  2854.             }
  2855.         } else {
  2856.             _t310 = _t322 >> 3;
  2857.         }
  2858.         _t303 = (_t310 << 3) + "ScreenCapture" + -14400;
  2859.         _t315 =  *(_t303 + 12);
  2860.         while(1) {
  2861.             asm("beql s0,t0,0x54");
  2862.             _t310 = _t310 + 1;
  2863.             _t290 =  *(_t315 + 4) & 0xfffffffffffffffc;
  2864.             _t30 = _t322 < _t290;
  2865.             _t30 = _t30;
  2866.             if(_t30 == 0) {
  2867.                 asm("dsll32 v0,v0,#0");
  2868.                 asm("dsrl32 a3,v0,#0");
  2869.             } else {
  2870.                 asm("dsll32 v0,v0,#0");
  2871.                 asm("dsrl32 v0,v0,#0");
  2872.             }
  2873.             _t31 = __a3 < 16;
  2874.             _t31 = _t31;
  2875.             if(_t31 == 0) {
  2876.                 break;
  2877.             }
  2878.             asm("bgezl a3,0x518");
  2879.             _t303 =  *(_t315 + 12);
  2880.             _t315 =  *(_t315 + 12);
  2881.         }
  2882.         _t312 = _t310;
  2883.         __flags = _t312;
  2884. L26:
  2885.         asm("daddu t6,v0,zero");
  2886.         _t162 = "ScreenCapture" + -14392;
  2887.         _t316 =  *(_t162 + 8);
  2888.         -1 = _t316 == _t162;
  2889.         if(_t316 == _t162) {
  2890. L50:
  2891.             asm(".long 0x9c650004");
  2892.             asm("dsllv a2,v0,a0");
  2893.             _t248 = __s4 + -14400;
  2894.             __s4 + -14400 = __a2 < _t290;
  2895.             if(__a2 < _t290) {
  2896. L75:
  2897.                 _t280 = _t322 < -65536;
  2898.                 asm("beql a0,zero,0x1c");
  2899.                 asm("dsll32 v0,v0,#0");
  2900.                 asm("dsrl32 v0,v0,#0");
  2901.                 _t324 = __s4 + -14400;
  2902.                 _t250 =  *((intOrPtr*)(_t324 + 8));
  2903.                 _t318 = 0xfffffffffffffffc;
  2904.                 _t122 = _t322 < ( *( *((intOrPtr*)(_t324 + 8)) + 4) & -65536);
  2905.                 __flags = _t122;
  2906.                 __flags = _t122;
  2907.                 if(__flags != 0) {
  2908. L78:
  2909.                     L00315778(_t250, _t280, _t290, _t297, __a3, _t303, _t307, _t312, __t3, __t4, __t5, __t6, _t318, _t322, _t324, __s3, __flags, __lo, __hi);
  2910.                     _t128 = _t322 < ( *( *((intOrPtr*)(_t324 + 8)) + 4) & _t318);
  2911.                     _t128 = _t128;
  2912.                     if(_t128 == 0) {
  2913.                         asm("dsll32 v0,v0,#0");
  2914.                         asm("dsrl32 a3,v0,#0");
  2915.                     } else {
  2916.                         asm("dsll32 v0,v0,#0");
  2917.                         asm("dsrl32 v0,v0,#0");
  2918.                     }
  2919.                     _t133 = _t322 < ( *( *((intOrPtr*)(__s4 + 0xffffffffffffc7c8)) + 4) & 0xfffffffffffffffc);
  2920.                     __flags = _t133;
  2921.                     _t183 = __a3 < 16;
  2922.                     __flags = _t133;
  2923.                     if(__flags != 0) {
  2924. L83:
  2925.                         _t184 = L003139A8(__flags);
  2926.                         goto L88;
  2927.                     } else {
  2928.                         _t298 = __s4 + -14400;
  2929.                         __flags = _t298;
  2930.                         __flags = _t183;
  2931.                         if(__flags == 0) {
  2932.                             goto L85;
  2933.                         }
  2934.                         goto L83;
  2935.                     }
  2936.                 } else {
  2937.                     _t298 = __s4 + -14400;
  2938.                     __flags = _t298;
  2939.                     __flags = __a3 < 16;
  2940.                     if(__flags == 0) {
  2941. L85:
  2942.                         _t316 =  *(_t298 + 8);
  2943.                         _t186 = __a3 | 1;
  2944.                         asm("daddu a0,s3,zero");
  2945.                          *(_t316 + 4) = _t322 | 1;
  2946.                         _t255 = _t316 + _t322;
  2947.                         __flags = _t255;
  2948.                         asm("dsll32 v0,v0,#0");
  2949.                         asm("dsra32 v0,v0,#0");
  2950.                          *(_t298 + 8) = _t255;
  2951. L86:
  2952.                          *(_t255 + 4) = _t186;
  2953. L87:
  2954.                         L003139A8(_t331);
  2955.                         _t184 = _t316 + 8;
  2956. L88:
  2957.                         asm(".long 0x7bbf0050");
  2958.                         asm(".long 0x7bb40040");
  2959.                         asm(".long 0x7bb30030");
  2960.                         asm(".long 0x7bb20020");
  2961.                         asm(".long 0x7bb10010");
  2962.                         asm(".long 0x7bb00000");
  2963.                         return _t184;
  2964.                     }
  2965.                     goto L78;
  2966.                 }
  2967.             }
  2968.             _t86 = _t297 & _t290;
  2969.             __flags = _t86;
  2970.             _t190 = "ScreenCapture";
  2971.             __flags = _t86;
  2972.             if(_t86 != 0) {
  2973. L56:
  2974.                 __t4 = _t190 + -14400;
  2975.                 __flags = __t4;
  2976.                 asm("daddu t5,t4,zero");
  2977.                 _t191 = _t312 << 3;
  2978.                 while(1) {
  2979. L57:
  2980.                     asm("daddu t3,t2,zero");
  2981.                     _t308 = _t191 + __t4;
  2982.                     asm("daddu t0,t1,zero");
  2983.                     _t316 =  *(_t303 + 12);
  2984.                     _t91 = _t316 - _t303;
  2985.                     __flags = _t91;
  2986.                     _t192 = _t312 < 63;
  2987.                     __flags = _t91;
  2988.                     if(_t91 == 0) {
  2989.                         goto L63;
  2990.                     }
  2991. L58:
  2992.                     _t290 =  *(_t316 + 4) & 0xfffffffffffffffc;
  2993.                     _t94 = _t322 < _t290;
  2994.                     _t94 = _t94;
  2995.                     if(_t94 == 0) {
  2996.                         asm("dsll32 v0,v0,#0");
  2997.                         asm("dsrl32 a3,v0,#0");
  2998.                     } else {
  2999.                         asm("dsll32 v0,v0,#0");
  3000.                         asm("dsrl32 v0,v0,#0");
  3001.                     }
  3002.                     asm("beql v0,zero,0x1d0");
  3003.                     _t303 =  *(_t316 + 12);
  3004.                     __flags = __a3;
  3005.                     _t248 = _t316 + _t290;
  3006.                     __flags = _t248;
  3007.                     if(__flags >= 0) {
  3008.                         asm("daddu a0,s3,zero");
  3009.                          *(_t248 + 4) =  *(_t248 + 4) | 1;
  3010.                         _t304 =  *(_t316 + 12);
  3011.                         _t299 =  *(_t316 + 8);
  3012.                          *(_t299 + 12) = _t304;
  3013.                          *(_t304 + 8) = _t299;
  3014.                         goto L87;
  3015.                     } else {
  3016.                         asm("bnel s0,t0,0xffffffbc");
  3017.                         _t192 = _t312 < 63;
  3018.                     }
  3019. L63:
  3020.                     _t303 = _t303 + 8;
  3021.                     _t303 = _t192 != 0;
  3022.                     if(_t192 != 0) {
  3023.                         _t303 = _t303 + 8;
  3024.                         _t312 = _t312 + 1;
  3025.                         __flags = _t312;
  3026.                     }
  3027.                     _t312 = _t312 + 1;
  3028.                     __flags = _t312 & 3;
  3029.                     asm("bnel v0,zero,0xffffff80");
  3030.                     while(1) {
  3031.                         _t194 = __t3 & 3;
  3032.                         _t307 = _t308 + -8;
  3033.                         _t307 = _t194 == 0;
  3034.                         if(_t194 == 0) {
  3035.                             break;
  3036.                         }
  3037.                         _t198 =  *((intOrPtr*)(_t307 + 8));
  3038.                         __t3 = __t3 + -1;
  3039.                         __t3 = _t198 == __t1;
  3040.                         if(_t198 == __t1) {
  3041.                             continue;
  3042.                         }
  3043. L68:
  3044.                         asm(".long 0x9d830004");
  3045.                         asm("dsll a2,a2,#1");
  3046.                         asm("bnel v0,zero,0x64");
  3047.                         _t248 = __s4 + -14400;
  3048.                         _t108 = _t297;
  3049.                         __flags = _t108;
  3050.                         _t196 = _t297 & _t248;
  3051.                         __flags = _t108;
  3052.                         if(_t108 == 0) {
  3053.                             _t248 = __s4 + -14400;
  3054.                             __flags = __s4 + -14400;
  3055.                             goto L75;
  3056.                         }
  3057. L69:
  3058.                         _t109 = _t196;
  3059.                         __flags = _t109;
  3060.                         _t191 = _t312 << 3;
  3061.                         __flags = _t109;
  3062.                         if(_t109 != 0) {
  3063.                             do {
  3064. L57:
  3065.                                 asm("daddu t3,t2,zero");
  3066.                                 _t308 = _t191 + __t4;
  3067.                                 asm("daddu t0,t1,zero");
  3068.                                 _t316 =  *(_t303 + 12);
  3069.                                 _t91 = _t316 - _t303;
  3070.                                 __flags = _t91;
  3071.                                 _t192 = _t312 < 63;
  3072.                                 __flags = _t91;
  3073.                                 if(_t91 == 0) {
  3074.                                     goto L63;
  3075.                                 }
  3076.                                 goto L58;
  3077.                             } while(_t109 != 0);
  3078.                         }
  3079.                         asm(".long 0x9da30004");
  3080.                         do {
  3081.                             asm("dsll a2,a2,#1");
  3082.                             _t197 = _t297 & _t248;
  3083.                             _t312 = _t312 + 4;
  3084.                             _t312 = _t197 == 0;
  3085.                         } while(_t197 == 0);
  3086.                         _t191 = _t312 << 3;
  3087.                         goto L57;
  3088.                     }
  3089.                     asm("dsll32 v0,a2,#0");
  3090.                     asm("dsra32 v0,v0,#0");
  3091.                     asm("nor v0,zero,v0");
  3092.                     _t248 =  *(__t4 + 4) & _t194;
  3093.                      *(__t4 + 4) =  *(__t4 + 4) & _t194;
  3094.                     goto L68;
  3095.                 }
  3096.             }
  3097.             asm("dsll a2,a2,#1");
  3098.             _t248 = _t297 & _t290;
  3099.             _t312 = (_t312 & -4) + 4;
  3100.             _t312 = _t248 != 0;
  3101.             if(_t248 != 0) {
  3102. L55:
  3103.                 _t190 = "ScreenCapture";
  3104.                 goto L56;
  3105.             }
  3106.             asm("daddu v1,a1,zero");
  3107.             do {
  3108.                 asm("dsll a2,a2,#1");
  3109.                 _t208 = _t297 & _t248;
  3110.                 _t312 = _t312 + 4;
  3111.                 _t312 = _t208 == 0;
  3112.             } while(_t208 == 0);
  3113.             goto L55;
  3114.         }
  3115.         _t292 =  *(_t316 + 4) & 0xfffffffffffffffc;
  3116.         _t37 = _t322 < _t292;
  3117.         _t37 = _t37;
  3118.         if(_t37 == 0) {
  3119.             asm("dsll32 v0,v0,#0");
  3120.             asm("dsrl32 a3,v0,#0");
  3121.         } else {
  3122.             asm("dsll32 v0,v0,#0");
  3123.             asm("dsrl32 v0,v0,#0");
  3124.         }
  3125.         _t285 = __t6 + -14392;
  3126.         __flags = _t285;
  3127.         __flags = __a3 < 16;
  3128.         if(__flags != 0) {
  3129.              *(_t285 + 12) = _t285;
  3130.             __flags = __a3;
  3131.              *(_t285 + 8) = _t285;
  3132.             if(__flags < 0) {
  3133.                 _t50 = _t292 < 512;
  3134.                 __flags = _t50;
  3135.                 __a3 = _t292 >> 3;
  3136.                 __flags = _t50;
  3137.                 if(_t50 == 0) {
  3138.                     _t260 = _t292 >> 9;
  3139.                     _t60 = _t260;
  3140.                     __flags = _t60;
  3141.                     _t214 = _t260 < 5;
  3142.                     __flags = _t60;
  3143.                     if(_t60 != 0) {
  3144.                         _t61 = _t214;
  3145.                         __flags = _t61;
  3146.                         _t215 = _t292 >> 6;
  3147.                         __flags = _t61;
  3148.                         if(_t61 == 0) {
  3149.                             _t216 = _t260 < 21;
  3150.                             __a3 = _t260 + 91;
  3151.                             __a3 = _t216 == 0;
  3152.                             if(_t216 == 0) {
  3153.                                 _t63 = _t260 < 85;
  3154.                                 __flags = _t63;
  3155.                                 _t221 = _t292 >> 12;
  3156.                                 __flags = _t63;
  3157.                                 if(_t63 == 0) {
  3158.                                     _t64 = _t260 < 341;
  3159.                                     __flags = _t64;
  3160.                                     _t223 = _t292 >> 15;
  3161.                                     __flags = _t64;
  3162.                                     if(_t64 == 0) {
  3163.                                         _t65 = _t260 < 1365;
  3164.                                         __flags = _t65;
  3165.                                         _t225 = _t292 >> 18;
  3166.                                         __flags = _t65;
  3167.                                         if(_t65 == 0) {
  3168.                                             __a3 = 126;
  3169.                                             __flags = 126;
  3170.                                         } else {
  3171.                                             __a3 = _t225 + 124;
  3172.                                         }
  3173.                                     } else {
  3174.                                         __a3 = _t223 + 119;
  3175.                                     }
  3176.                                 } else {
  3177.                                     __a3 = _t221 + 110;
  3178.                                 }
  3179.                             }
  3180.                         } else {
  3181.                             __a3 = _t215 + 56;
  3182.                         }
  3183.                     } else {
  3184.                         __a3 = _t292 >> 3;
  3185.                     }
  3186.                     _t307 = __s4 + -14400;
  3187.                     _t303 = (__a3 << 3) + _t307;
  3188.                     _t297 =  *(_t303 + 8);
  3189.                     asm("bnel a2,t0,0x3c");
  3190.                     asm("dsllv a0,a0,v1");
  3191.                     asm("dsll32 a0,a0,#0");
  3192.                     asm("dsra32 a0,a0,#0");
  3193.                     _t290 =  *(_t307 + 4) | 1;
  3194.                      *(_t307 + 4) = _t290;
  3195.                 } else {
  3196.                     _t290 = _t285 + -8;
  3197.                     asm("dsllv v0,v0,v1");
  3198.                     asm("dsll32 v0,v0,#0");
  3199.                     asm("dsra32 v0,v0,#0");
  3200.                     _t303 = (__a3 << 3) + _t290;
  3201.                      *(_t290 + 4) =  *(_t290 + 4) | 1;
  3202.                     _t297 =  *(_t303 + 8);
  3203.                 }
  3204.                  *(_t316 + 12) = _t303;
  3205.                  *(_t316 + 8) = _t297;
  3206.                  *(_t303 + 8) = _t316;
  3207.                  *(_t297 + 12) = _t316;
  3208.                 __flags = -1;
  3209.                 goto L50;
  3210.             }
  3211.             _t255 = _t316 + _t292;
  3212.             asm("daddu a0,s3,zero");
  3213.             _t186 =  *(_t255 + 4) | 1;
  3214.             goto L86;
  3215.         } else {
  3216.             _t230 = _t322 | 1;
  3217.              *(_t316 + 4) = _t230;
  3218.             _t305 = _t316 + _t322;
  3219.             _t294 = __t6 + -14392;
  3220.              *((intOrPtr*)(_t294 + 12)) = _t305;
  3221.             asm("dsll32 v0,a3,#0");
  3222.             asm("dsra32 v0,v0,#0");
  3223.              *((intOrPtr*)(_t294 + 8)) = _t305;
  3224.             asm("dsll32 v1,v1,#0");
  3225.             asm("dsra32 v1,v1,#0");
  3226.              *((intOrPtr*)(_t305 + 8)) = _t294;
  3227.              *(_t305 + 4) = __a3 | 1;
  3228.             asm("daddu a0,s3,zero");
  3229.              *((intOrPtr*)(_t305 + 12)) = _t294;
  3230.              *(_t305 + _t230) = _t230;
  3231.             goto L87;
  3232.         }
  3233.     }
  3234.     _t313 = _t322 >> 3;
  3235.     _t307 = _t322 + "ScreenCapture" + -14400;
  3236.     _t316 =  *(_t307 + 12);
  3237.     _t5 = _t316 - _t307;
  3238.     _t331 = _t5;
  3239.     if(_t5 == 0) {
  3240.         _t312 = _t313 + 2;
  3241.         goto L26;
  3242.     } else {
  3243.         _t306 =  *(_t316 + 12);
  3244.         _t301 =  *(_t316 + 8);
  3245.         asm("daddu a0,s3,zero");
  3246.          *(_t301 + 12) = _t306;
  3247.          *(_t306 + 8) = _t301;
  3248.         _t255 = _t316 + ( *(_t316 + 4) & 0xfffffffffffffffc);
  3249.         _t186 =  *(_t255 + 4) | 1;
  3250.         goto L86;
  3251.     }
  3252. }
  3253.  
  3254. L00316128(
  3255.     _unknown_ __v1,                        // r3
  3256.     _unknown_ __a0,                        // r4
  3257.     _unknown_ __a1,                        // r5
  3258.     _unknown_ __a2,                        // r6
  3259.     _unknown_ __a3,                        // r7
  3260.     signed int __t0,                       // r8
  3261.     _unknown_ __t1,                        // r9
  3262.     _unknown_ __t2,                        // r10
  3263.     _unknown_ __t3,                        // r11
  3264.     signed int __t4,                       // r12
  3265.     _unknown_ __t5,                        // r13
  3266.     _unknown_ __t6,                        // r14
  3267.     intOrPtr __s0,                         // r16
  3268.     _unknown_ __s1,                        // r17
  3269.     _unknown_ __s3,                        // r19
  3270.     _unknown_ __flags,                     // r33
  3271.     _unknown_ __lo,                        // r35
  3272.     _unknown_ __hi                         // r36
  3273. )
  3274. {
  3275.     _unknown_ _t84;                        // _t84
  3276.     signed int _t92;                       // _t92
  3277.     signed int _t94;                       // _t94
  3278.     unsigned int _t95;                     // _t95
  3279.     unsigned int _t101;                    // _t101
  3280.     unsigned int _t103;                    // _t103
  3281.     unsigned int _t105;                    // _t105
  3282.     _unknown_ _t111;                       // _t111
  3283.     _unknown_ _t118;                       // _t118
  3284.     unsigned int _t121;                    // _t121
  3285.     signed int _t130;                      // _t130
  3286.     signed int _t131;                      // _t131
  3287.     signed int _t135;                      // _t135
  3288.     char* _t141;                           // _t141
  3289.     _unknown_ _t144;                       // _t144
  3290.     _unknown_ _t145;                       // _t145
  3291.     signed int _t148;                      // _t148
  3292.     signed int _t149;                      // _t149
  3293.     _unknown_ _t151;                       // _t151
  3294.     signed int _t152;                      // _t152
  3295.     signed int _t153;                      // _t153
  3296.     signed int _t154;                      // _t154
  3297.     signed int _t155;                      // _t155
  3298.     signed int _t156;                      // _t156
  3299.     signed int _t158;                      // _t158
  3300.     unsigned int _t160;                    // _t160
  3301.     signed int _t161;                      // _t161
  3302.     signed int _t163;                      // _t163
  3303.     _unknown_ _t165;                       // _t165
  3304.     _unknown_ _t166;                       // _t166
  3305.  
  3306.     __hi = __hi;
  3307.     __lo = __lo;
  3308.     __s3 = __s3;
  3309.     __s1 = __s1;
  3310.     __s0 = __s0;
  3311.     __t6 = __t6;
  3312.     __t5 = __t5;
  3313.     __t4 = __t4;
  3314.     _t154 = __t0;
  3315.     asm(".long 0x7fb10010");
  3316.     asm(".long 0x7fb00000");
  3317.     asm("daddu s1,a0,zero");
  3318.     asm("daddu s0,a1,zero");
  3319.     _t1 = __s0;
  3320.     _t169 = _t1;
  3321.     if(_t1 == 0) {
  3322. L34:
  3323.         asm(".long 0x7bbf0020");
  3324. L35:
  3325.         asm(".long 0x7bb10010");
  3326.         asm(".long 0x7bb00000");
  3327.         return _t84;
  3328.     }
  3329.     L00313948(__s0, _t169);
  3330.     _t163 = __s0 + -8;
  3331.     _t148 =  *(_t163 + 4);
  3332.     _t141 = "ScreenCapture";
  3333.     _t160 = _t148 & 0xfffffffffffffffe;
  3334.     _t165 = _t141 + -14400;
  3335.     _t151 = _t163 + _t160;
  3336.     _t118 = 0xfffffffffffffffc;
  3337.     asm("daddu t5,a1,zero");
  3338.     _t135 =  *(_t151 + 4) & -65536;
  3339.     if(_t151 !=  *(_t165 + 8)) {
  3340.          *(_t151 + 4) = _t135;
  3341.         _t24 = _t148 & 1;
  3342.         _t24 = _t24;
  3343.         if(_t24 == 0) {
  3344.             _t145 =  *(__s0 + -8);
  3345.             _t111 = _t165 + 8;
  3346.             _t163 = _t163 - _t145;
  3347.             _t131 =  *(_t163 + 8);
  3348.             _t160 = _t160 + _t145;
  3349.             _t160 = _t131 != _t111;
  3350.             if(_t131 != _t111) {
  3351.                 _t158 =  *(_t163 + 12);
  3352.                 asm("daddu a2,v1,zero");
  3353.                  *(_t148 + 12) = _t158;
  3354.                  *(_t158 + 8) = _t148;
  3355.             } else {
  3356.                 __t4 = 1;
  3357.             }
  3358.         }
  3359.         _t36 =  *(_t151 + _t135 + 4) & 1;
  3360.         __flags = _t36;
  3361.         _t92 = _t160 | 1;
  3362.         __flags = _t36;
  3363.         if(_t36 == 0) {
  3364.             _t160 = _t160 + _t135;
  3365.             _t37 = __t4;
  3366.             __flags = _t37;
  3367.             _t130 =  *(_t151 + 8);
  3368.             __flags = _t37;
  3369.             if(_t37 != 0) {
  3370.                 _t156 =  *(_t151 + 12);
  3371.                 asm("daddu a2,v1,zero");
  3372.                  *(_t148 + 12) = _t156;
  3373.                  *(_t156 + 8) = _t148;
  3374.             } else {
  3375.                 asm("bnel v1,v0,0x24");
  3376.                  *(_t130 + 12) = _t163;
  3377.                 __t4 = 1;
  3378.                  *(_t130 + 8) = _t163;
  3379.                  *(_t163 + 8) = _t130;
  3380.                  *(_t163 + 12) = _t130;
  3381.             }
  3382.             _t92 = _t160 | 1;
  3383.         }
  3384.          *(_t163 + 4) = _t92;
  3385.         _t51 = __t4;
  3386.         __flags = _t51;
  3387.          *(_t163 + _t160) = _t160;
  3388.         __flags = _t51;
  3389.         if(__flags == 0) {
  3390.             _t53 = _t160 < 512;
  3391.             __flags = _t53;
  3392.             _t152 = _t160 >> 3;
  3393.             __flags = _t53;
  3394.             if(__flags == 0) {
  3395.                 _t121 = _t160 >> 9;
  3396.                 _t63 = _t121;
  3397.                 __flags = _t63;
  3398.                 _t94 = _t121 < 5;
  3399.                 __flags = _t63;
  3400.                 if(__flags != 0) {
  3401.                     _t64 = _t94;
  3402.                     __flags = _t64;
  3403.                     _t95 = _t160 >> 6;
  3404.                     __flags = _t64;
  3405.                     if(__flags == 0) {
  3406.                         _t153 = _t121 + 91;
  3407.                         __flags = _t153;
  3408.                         __flags = _t121 < 21;
  3409.                         if(__flags == 0) {
  3410.                             _t66 = _t121 < 85;
  3411.                             __flags = _t66;
  3412.                             _t101 = _t160 >> 12;
  3413.                             __flags = _t66;
  3414.                             if(__flags == 0) {
  3415.                                 _t67 = _t121 < 341;
  3416.                                 __flags = _t67;
  3417.                                 _t103 = _t160 >> 15;
  3418.                                 __flags = _t67;
  3419.                                 if(__flags == 0) {
  3420.                                     _t68 = _t121 < 1365;
  3421.                                     __flags = _t68;
  3422.                                     _t105 = _t160 >> 18;
  3423.                                     __flags = _t68;
  3424.                                     if(__flags == 0) {
  3425.                                         _t153 = 126;
  3426.                                         __flags = 126;
  3427.                                     } else {
  3428.                                         _t153 = _t105 + 124;
  3429.                                     }
  3430.                                 } else {
  3431.                                     _t153 = _t103 + 119;
  3432.                                 }
  3433.                             } else {
  3434.                                 _t153 = _t101 + 110;
  3435.                             }
  3436.                         }
  3437.                     } else {
  3438.                         _t153 = _t95 + 56;
  3439.                     }
  3440.                 } else {
  3441.                     _t153 = _t160 >> 3;
  3442.                 }
  3443.                 _t166 = __t5 + -14400;
  3444.                 _t155 = (_t153 << 3) + _t166;
  3445.                 _t149 =  *(_t155 + 8);
  3446.                 asm("bnel a2,t0,0x3c");
  3447.                 asm("dsllv a0,a0,v1");
  3448.                 asm("dsll32 a0,a0,#0");
  3449.                 asm("dsra32 a0,a0,#0");
  3450.                  *(_t166 + 4) =  *(_t166 + 4) | 1;
  3451.             } else {
  3452.                 _t144 = __t5 + -14400;
  3453.                 asm("dsllv v0,v0,v1");
  3454.                 asm("dsll32 v0,v0,#0");
  3455.                 asm("dsra32 v0,v0,#0");
  3456.                 _t155 = (_t152 << 3) + _t144;
  3457.                  *(_t144 + 4) =  *(_t144 + 4) | 1;
  3458.                 _t149 =  *(_t155 + 8);
  3459.             }
  3460.              *(_t163 + 12) = _t155;
  3461.              *(_t163 + 8) = _t149;
  3462.              *(_t155 + 8) = _t163;
  3463.              *(_t149 + 12) = _t163;
  3464.         }
  3465.         _t84 = L003139A8(__flags);
  3466.         goto L34;
  3467.     } else {
  3468.         _t161 = _t160 + _t135;
  3469.         if((_t148 & 1) == 0) {
  3470.             _t141 =  *(__s0 + -8);
  3471.             _t163 = _t163 - _t141;
  3472.             _t161 = _t161 + _t141;
  3473.             _t154 =  *(_t163 + 12);
  3474.             _t148 =  *(_t163 + 8);
  3475.              *(_t148 + 12) = _t154;
  3476.              *(_t154 + 8) = _t148;
  3477.         }
  3478.         asm("dsll32 v1,t1,#0");
  3479.         asm("ld a1,-13368(a0)");
  3480.          *(_t163 + 4) = _t161 | 1;
  3481.         asm("dsrl32 v1,v1,#0");
  3482.         _t132 = _t141 < _t118;
  3483.         _t19 = _t141 < _t118;
  3484.          *(_t165 + 8) = _t163;
  3485.         _t176 = _t19;
  3486.         if(_t19 == 0) {
  3487.             asm("daddu a0,s1,zero");
  3488.             L00316420(_t132, "ScreenCapture",  *((intOrPtr*)("ScreenCapture" + -13360)), _t148, _t151, _t154, _t161, _t163, _t165, __t4, __t5, __t6, __s0, __s1, __s3, _t176, __lo, __hi);
  3489.         }
  3490.         _t84 = L003139A8(_t176);
  3491.         goto L35;
  3492.     }
  3493. }
  3494.  
  3495. L00316420(
  3496.     _unknown_ __v1,                        // r3
  3497.     _unknown_ __a0,                        // r4
  3498.     _unknown_ __a1,                        // r5
  3499.     _unknown_ __a2,                        // r6
  3500.     _unknown_ __a3,                        // r7
  3501.     _unknown_ __t0,                        // r8
  3502.     _unknown_ __t1,                        // r9
  3503.     _unknown_ __t2,                        // r10
  3504.     _unknown_ __t3,                        // r11
  3505.     _unknown_ __t4,                        // r12
  3506.     _unknown_ __t5,                        // r13
  3507.     _unknown_ __t6,                        // r14
  3508.     intOrPtr __s0,                         // r16
  3509.     _unknown_ __s1,                        // r17
  3510.     _unknown_ __s3,                        // r19
  3511.     _unknown_ __flags,                     // r33
  3512.     _unknown_ __lo,                        // r35
  3513.     _unknown_ __hi                         // r36
  3514. )
  3515. {
  3516.     _unknown_ _t30;                        // _t30
  3517.     _unknown_ _t31;                        // _t31
  3518.     signed int _t32;                       // _t32
  3519.     intOrPtr _t53;                         // _t53
  3520.     _unknown_ _t60;                        // _t60
  3521.     _unknown_ _t61;                        // _t61
  3522.     intOrPtr _t62;                         // _t62
  3523.     _unknown_ _t63;                        // _t63
  3524.     signed int _t64;                       // _t64
  3525.     _unknown_ _t74;                        // _t74
  3526.  
  3527.     __hi = __hi;
  3528.     __lo = __lo;
  3529.     __s3 = __s3;
  3530.     _t63 = __s1;
  3531.     __s0 = __s0;
  3532.     __t6 = __t6;
  3533.     __t5 = __t5;
  3534.     __t4 = __t4;
  3535.     __t3 = __t3;
  3536.     __t2 = __t2;
  3537.     __t1 = __t1;
  3538.     __t0 = __t0;
  3539.     __a3 = __a3;
  3540.     _t61 = __a2;
  3541.     asm(".long 0x7fb20020");
  3542.     asm(".long 0x7fb00000");
  3543.     asm("daddu s2,a0,zero");
  3544.     asm(".long 0x7fb40040");
  3545.     asm("daddu s0,a1,zero");
  3546.     asm(".long 0x7fb10010");
  3547.     asm(".long 0x7fbf0050");
  3548.     L00313948(__s0, __flags);
  3549.     __s4 = "ScreenCapture" + -14400;
  3550.     _t43 = 0xfffffffffffffffc;
  3551.     _t53 =  *((intOrPtr*)(__s4 + 8));
  3552.     asm("dsll32 s0,s0,#0");
  3553.     asm("dsrl32 s0,s0,#0");
  3554.     asm("dsll32 v0,v0,#0");
  3555.     asm("dsrl32 s1,v0,#0");
  3556.     asm("dsubu s0,s1,s0");
  3557.     L003229F8(__t0, __t1, __t3, __t4, __t6, __hi);
  3558.     asm("daddiu a0,v0,#0xffffffff");
  3559.     L002712C0(0xfffffffffffffffc, _t53, 4096, _t61);
  3560.     asm("daddu s0,v0,zero");
  3561.     _t5 = __s0 < 4096;
  3562.     _t67 = _t5;
  3563.     if(_t5 != 0) {
  3564. L5:
  3565.         _t30 = L003139A8(_t74);
  3566. L7:
  3567.         asm(".long 0x7bbf0050");
  3568.         asm(".long 0x7bb40040");
  3569.         asm(".long 0x7bb30030");
  3570.         asm(".long 0x7bb20020");
  3571.         asm(".long 0x7bb10010");
  3572.         asm(".long 0x7bb00000");
  3573.         return _t30;
  3574.     }
  3575.     _t31 = L00319DB8(0xfffffffffffffffc, __s0, _t63, _t67);
  3576.     asm("dsll32 a0,s1,#0");
  3577.     asm("dsra32 a0,a0,#0");
  3578.     _t45 =  *((intOrPtr*)(__s4 + 8)) + _t53;
  3579.     _t8 = _t31 -  *((intOrPtr*)(__s4 + 8)) + _t53;
  3580.     _t69 = _t8;
  3581.     if(_t8 != 0) {
  3582.         goto L5;
  3583.     }
  3584.     asm("dsll32 s3,s0,#0");
  3585.     asm("dsra32 s3,s3,#0");
  3586.     _t60 = 0 - __s3;
  3587.     _t32 = L00319DB8(_t45, __s0, _t63, _t69);
  3588.     _t71 = _t32 != 0xffffffffffffffff;
  3589.     if(_t32 != 0xffffffffffffffff) {
  3590.         asm("dsubu v0,s1,s0");
  3591.         asm("dsll32 v0,v0,#0");
  3592.         asm("dsra32 v0,v0,#0");
  3593.          *( *((intOrPtr*)(__s4 + 8)) + 4) = _t32 | 1;
  3594.         asm("daddu a0,s2,zero");
  3595.          *((intOrPtr*)( ?_? ("ScreenCapture") + -13328)) =  *((intOrPtr*)("ScreenCapture" + -13328)) - __s3;
  3596.         L003139A8(__flags);
  3597.         _t30 = 1;
  3598.         __flags = 1;
  3599.         goto L7;
  3600.     }
  3601.     asm("daddu a1,zero,zero");
  3602.     L00319DB8(1, __s0, _t63, _t71);
  3603.     _t62 =  *((intOrPtr*)(__s4 + 8));
  3604.     asm("daddu a1,v0,zero");
  3605.     _t64 = _t60 - _t62;
  3606.     if(_t64 >= 16) {
  3607.         _t74 = 1;
  3608.         asm("dsll32 v0,v0,#0");
  3609.         asm("dsra32 v0,v0,#0");
  3610.          *((intOrPtr*)("ScreenCapture" + -13328)) = _t60 -  *((intOrPtr*)("ScreenCapture" + -13352));
  3611.          *(_t62 + 4) = _t64 | 1;
  3612.     }
  3613.     goto L5;
  3614. }
  3615.  
  3616. L00317FE0(
  3617.     signed int __v1,                       // r3
  3618.     _unknown_ __a0,                        // r4
  3619.     _unknown_ __a1,                        // r5
  3620.     signed int* __a2,                      // r6
  3621.     _unknown_ __t0,                        // r8
  3622.     _unknown_ __flags                      // r33
  3623. )
  3624. {
  3625.     _unknown_ _t19;                        // _t19
  3626.     signed int _t32;                       // _t32
  3627.     signed int* _t42;                      // _t42
  3628.     signed int* _t43;                      // _t43
  3629.     signed int* _t51;                      // _t51
  3630.  
  3631.     __t0 = __t0;
  3632.     _t41 = __a2;
  3633.     __a1 = __a1;
  3634.     _t32 = __v1;
  3635.     asm("daddu t0,a1,zero");
  3636.     asm(".long 0x7fbf0000");
  3637.     asm("daddu a3,a2,zero");
  3638.     asm("daddu a1,a0,zero");
  3639.     if( *((char*)(__t0)) == 0) {
  3640. L6:
  3641.         _t19 = L00318EE0(_t32,  *((intOrPtr*)(__a1 + 84)), __a1, _t41, __a3, __t0, __s0, __s1, __s2, __s3, __s4, __s6, _t51);
  3642.         asm(".long 0x7bbf0000");
  3643.         return _t19;
  3644.     } else {
  3645.         asm("bnel v1,v0,0x7c");
  3646.         _t42 =  &(__a2[0]);
  3647.         _t41 =  &(_t42[0]);
  3648.         if(_t42[0] == 0) {
  3649. L5:
  3650.             asm("bnel v0,zero,0xffffff7c");
  3651.             _t32 =  *_t41;
  3652.             goto L6;
  3653.         } else {
  3654.             asm("beql v0,zero,0x18");
  3655.             asm("bnel v0,zero,0xffffffec");
  3656.             _t43 =  &(_t41[0]);
  3657.             if(( *_t43 & 255) + -69 << 24 >> 24 < 35) {
  3658.                 _t41 =  &(_t43[0]);
  3659.                 _t51 = _t41;
  3660.                 goto L5;
  3661.             } else {
  3662.                 goto ( *__a0);
  3663.             }
  3664.         }
  3665.     }
  3666. }
  3667.  
  3668. L00318DD8(
  3669.     _unknown_ __a0,                        // r4
  3670.     _unknown_ __a3,                        // r7
  3671.     _unknown_ __s2,                        // r18
  3672.     _unknown_ __s3,                        // r19
  3673.     _unknown_ __s6,                        // r22
  3674.     _unknown_ __flags                      // r33
  3675. )
  3676. {
  3677.     signed int* _t23;                      // _t23
  3678.     signed int* _t28;                      // _t28
  3679.     intOrPtr _t34;                         // _t34
  3680.     _unknown_ _t36;                        // _t36
  3681.     char* _t38;                            // _t38
  3682.     char* _t42;                            // _t42
  3683.  
  3684.     __s6 = __s6;
  3685.     __s3 = __s3;
  3686.     __a3 = __a3;
  3687.     _t23 = 1;
  3688.     asm(".long 0x7fb60060");
  3689.     asm(".long 0x7fb40040");
  3690.     asm("daddu s6,a1,zero");
  3691.     asm(".long 0x7fb30030");
  3692.     asm("daddu s4,a0,zero");
  3693.     asm(".long 0x7fbf0070");
  3694.     asm("daddu s3,a2,zero");
  3695.     asm(".long 0x7fb50050");
  3696.     asm(".long 0x7fb20020");
  3697.     asm(".long 0x7fb10010");
  3698.     _t1 = __a3 - 1;
  3699.     _t45 = _t1;
  3700.     if(_t1 != 0) {
  3701.         _t6 = __s3;
  3702.         _t6 = _t6;
  3703.         if(_t6 == 0) {
  3704. L8:
  3705.             asm("daddu v0,s0,zero");
  3706.         } else {
  3707.             _t38 = "ScreenCapture";
  3708.             __s5 = 0x3dcf80;
  3709.             _t42 = "ScreenCapture";
  3710.             _t28 = __s6 + _t36;
  3711.             __flags = _t28;
  3712.             do {
  3713.                 _t33 =  *((intOrPtr*)(_t38 + -13236));
  3714.                  *((char*)( *((intOrPtr*)(_t38 + -13236)))) =  *_t28 & 255;
  3715.                 _t34 =  *((intOrPtr*)(_t42 + -13240)) + 1;
  3716.                  *((intOrPtr*)(_t42 + -13240)) = _t34;
  3717.                 _t17 = _t34 < 128;
  3718.                 __flags = _t17;
  3719.                  *((intOrPtr*)(_t38 + -13236)) =  *((intOrPtr*)(_t38 + -13236)) + 1;
  3720.                 __flags = _t17;
  3721.                 if(__flags != 0) {
  3722.                     goto L7;
  3723.                 } else {
  3724.                     asm("daddu a0,s4,zero");
  3725.                     _t23 = L0031C3E8(_t33, _t42, __s4, __flags);
  3726.                      *((intOrPtr*)(_t38 + -13236)) = __s5;
  3727.                     _t20 = _t23;
  3728.                     __flags = _t20;
  3729.                      *((intOrPtr*)(_t42 + -13240)) = 0;
  3730.                     __flags = _t20;
  3731.                     if(_t20 != 0) {
  3732.                         goto L7;
  3733.                     }
  3734.                 }
  3735.                 goto L9;
  3736. L7:
  3737.                 _t36 = _t36 + 1;
  3738.                 _t23 = __s3 < _t36;
  3739.                 _t28 = __s6 + _t36;
  3740.                 _t28 = _t23 != 0;
  3741.             } while(_t23 != 0);
  3742.             goto L8;
  3743.         }
  3744.     } else {
  3745.         _t23 = L0031C3E8(__a0, __s2, __s4, _t45);
  3746.          *((intOrPtr*)("ScreenCapture" + -13240)) = 0;
  3747.          *((intOrPtr*)("ScreenCapture" + -13236)) = 0x3dcf80;
  3748.     }
  3749. L9:
  3750.     asm(".long 0x7bbf0070");
  3751.     asm(".long 0x7bb60060");
  3752.     asm(".long 0x7bb50050");
  3753.     asm(".long 0x7bb40040");
  3754.     asm(".long 0x7bb30030");
  3755.     asm(".long 0x7bb20020");
  3756.     asm(".long 0x7bb10010");
  3757.     asm(".long 0x7bb00000");
  3758.     return _t23;
  3759. }
  3760.  
  3761. L00318EE0(
  3762.     _unknown_ __v1,                        // r3
  3763.     _unknown_ __a0,                        // r4
  3764.     _unknown_ __a1,                        // r5
  3765.     _unknown_ __a2,                        // r6
  3766.     _unknown_ __a3,                        // r7
  3767.     _unknown_ __t0,                        // r8
  3768.     signed int __s0,                       // r16
  3769.     signed int* __s1,                      // r17
  3770.     _unknown_ __s2,                        // r18
  3771.     _unknown_ __s3,                        // r19
  3772.     _unknown_ __s4,                        // r20
  3773.     _unknown_ __s6,                        // r22
  3774.     _unknown_ __flags                      // r33
  3775. )
  3776. {
  3777.     intOrPtr _t251;                        // _t251
  3778.     intOrPtr _t254;                        // _t254
  3779.     _unknown_ _t267;                       // _t267
  3780.     _unknown_ _t275;                       // _t275
  3781.     _unknown_ _t304;                       // _t304
  3782.     _unknown_ _t329;                       // _t329
  3783.     signed int _t373;                      // _t373
  3784.     signed int _t411;                      // _t411
  3785.     intOrPtr _t414;                        // _t414
  3786.     signed int _t417;                      // _t417
  3787.     signed int _t419;                      // _t419
  3788.     _unknown_ _t420;                       // _t420
  3789.     _unknown_ _t421;                       // _t421
  3790.     signed int _t424;                      // _t424
  3791.     char _t425;                            // _t425
  3792.     _unknown_ _t428;                       // _t428
  3793.     char* _t429;                           // _t429
  3794.     signed int _t431;                      // _t431
  3795.     _unknown_ _t433;                       // _t433
  3796.     signed int _t434;                      // _t434
  3797.     _unknown_ _t437;                       // _t437
  3798.  
  3799.     _t428 = __s6;
  3800.     __s4 = __s4;
  3801.     __s2 = __s2;
  3802.     __s1 = __s1;
  3803.     _t419 = __s0;
  3804.     _t354 = __sp + 72;
  3805.     asm(".long 0x7fb60100");
  3806.     asm(".long 0x7fb200c0");
  3807.     asm("daddu s6,a2,zero");
  3808.     asm(".long 0x7fb100b0");
  3809.     asm("daddu s2,a3,zero");
  3810.     asm(".long 0x7fbf0130");
  3811.     asm("daddu s1,a1,zero");
  3812.     asm(".long 0x7fbe0120");
  3813.     asm(".long 0x7fb70110");
  3814.     asm(".long 0x7fb500f0");
  3815.     asm(".long 0x7fb400e0");
  3816.     asm(".long 0x7fb300d0");
  3817.     asm(".long 0x7fb000a0");
  3818.      *((intOrPtr*)(__sp + 72)) = 0;
  3819.      *((intOrPtr*)(__sp + 76)) = 0;
  3820.      *((intOrPtr*)(__sp + 96)) = __sp + 68;
  3821.      *((intOrPtr*)(__sp + 100)) = __sp + 72;
  3822.     while(1) {
  3823.         asm("daddu s4,s6,zero");
  3824.         _t437 = 37;
  3825.         while(1) {
  3826.             _t408 =  ?_? ("ScreenCapture");
  3827.             _t414 =  *((intOrPtr*)( ?_? ("ScreenCapture") + -13232));
  3828.             _t401 =  *((intOrPtr*)(__sp + 96));
  3829.             asm("daddu a2,s6,zero");
  3830.             _t417 =  *((intOrPtr*)(__sp + 100));
  3831.             L00313608( *((intOrPtr*)("ScreenCapture" + -15276)),  *((intOrPtr*)(__sp + 96)), "ScreenCapture", _t419, __s1, 37, __s4, _t437);
  3832.             asm("daddu s0,v0,zero");
  3833.             _t251 =  *((intOrPtr*)(__sp + 68));
  3834.             if(_t419 <= 0) {
  3835.                 break;
  3836.             }
  3837.             _t428 = _t429 + _t419;
  3838.             if(_t251 != 37) {
  3839.                 continue;
  3840.             } else {
  3841.                 _t428 = _t428 + -1;
  3842.             }
  3843.             break;
  3844.         }
  3845.         _t424 = _t428 - __s4;
  3846.         if(_t424 != 0) {
  3847.              *((intOrPtr*)(__sp + 76)) =  *((intOrPtr*)(__sp + 76)) + _t424;
  3848.         }
  3849.         _t429 = _t428 + 1;
  3850.         if(_t429 <= 0) {
  3851. L59:
  3852.             _t244 = __s1[3] & 0x200;
  3853.             __flags = _t244;
  3854.             _t254 =  *((intOrPtr*)(__sp + 76));
  3855.             __flags = _t244;
  3856.             if(_t244 == 0) {
  3857.                 asm("daddu a1,zero,zero");
  3858.                 asm("daddu a2,zero,zero");
  3859.                 __flags = 1;
  3860.                 L00318DD8(__s1[3], 1, __s2, _t424, _t429, 1);
  3861.                 _t254 =  *((intOrPtr*)(__sp + 76));
  3862.             }
  3863.             asm(".long 0x7bbf0130");
  3864.             asm(".long 0x7bbe0120");
  3865.             asm(".long 0x7bb70110");
  3866.             asm(".long 0x7bb60100");
  3867.             asm(".long 0x7bb500f0");
  3868.             asm(".long 0x7bb400e0");
  3869.             asm(".long 0x7bb300d0");
  3870.             asm(".long 0x7bb200c0");
  3871.             asm(".long 0x7bb100b0");
  3872.             asm(".long 0x7bb000a0");
  3873.             return _t254;
  3874.         } else {
  3875.              *(__sp + 64) = 0;
  3876.              *((intOrPtr*)(__sp + 84)) = 0;
  3877.             asm("daddu s3,zero,zero");
  3878.              *(__sp + 80) = 0;
  3879.             _t425 =  *_t429;
  3880.             _t429 = _t429 + 1;
  3881.             if(_t425 + -32 < 89) {
  3882.                 if(_t425 == 0) {
  3883.                     goto L59;
  3884.                 } else {
  3885.                      *__sp = _t425;
  3886.                     asm("daddu s4,sp,zero");
  3887.                      *(__sp + 64) = 0;
  3888.                     _t431 = _t424 & 132;
  3889.                      *((intOrPtr*)(__sp + 88)) = 1;
  3890.                      *(__sp + 108) = _t424 & 4;
  3891.                     _t432 =  *((intOrPtr*)(__sp + 88));
  3892.                     _t372 =  *((intOrPtr*)(__sp + 84));
  3893.                     _t357 =  *(__sp + 64);
  3894.                     _t433 = _t372 <  *((intOrPtr*)(__sp + 88)) ?  *((intOrPtr*)(__sp + 84)) : _t432;
  3895.                     if( *(__sp + 64) == 0) {
  3896.                         _t434 = (_t424 & 2) + _t433;
  3897.                         __flags = _t434;
  3898.                     } else {
  3899.                         _t434 = _t433 + 1;
  3900.                     }
  3901.                     _t409 =  *((intOrPtr*)(__sp + 88));
  3902.                     _t403 =  *((intOrPtr*)(__sp + 84)) -  *((intOrPtr*)(__sp + 88));
  3903.                      *(__sp + 104) =  *((intOrPtr*)(__sp + 84)) -  *((intOrPtr*)(__sp + 88));
  3904.                      *((intOrPtr*)(__sp + 112)) =  *(__sp + 80) < _t434;
  3905.                     if(_t431 == 0) {
  3906.                         _t357 =  *(__sp + 80);
  3907.                         _t421 =  *(__sp + 80) - _t434;
  3908.                         _t329 = _t421 < 17;
  3909.                         if(_t421 > 0) {
  3910.                             _t417 = 3735552;
  3911.                             if(_t329 == 0) {
  3912.                                 asm("beql v0,zero,0x40");
  3913.                                 _t357 =  *__s1;
  3914.                                 asm("ldl a0,7(v0)");
  3915.                                 asm("ldr a0,0(v0)");
  3916.                                 asm("ldl a1,15(v0)");
  3917.                                 asm("ldr a1,8(v0)");
  3918.                                 asm("sdl a0,7(v1)");
  3919.                                 asm("sdr a0,0(v1)");
  3920.                                 asm("sdl a1,15(v1)");
  3921.                                 asm("sdr a1,8(v1)");
  3922.                                  *__s1 =  *__s1 + 16;
  3923.                                 _t421 = _t421 + -16;
  3924.                                 asm("beql v0,zero,0xffffff88");
  3925.                             }
  3926.                             _t403 = _t417 + -17216;
  3927.                             if((__s1[3] & 0x200) == 0) {
  3928.                                 asm("bnel v0,zero,0x14");
  3929.                                 __s1[3] = 1;
  3930.                                 _t403 = _t417 + -17216;
  3931.                                 __flags = _t417 + -17216;
  3932.                                 asm("daddu a2,s0,zero");
  3933.                                 L00318DD8(__s1[3], _t414, __s2, _t424, _t429, _t417 + -17216);
  3934.                             } else {
  3935.                                 L00311B9C(_t357, _t403, _t409, _t414, _t417);
  3936.                                 _t357 =  *__s1 + _t421;
  3937.                                  *__s1 =  *__s1 + _t421;
  3938.                             }
  3939.                         }
  3940.                     }
  3941.                     _t373 =  *(__sp + 64) & 255;
  3942.                     if( *(__sp + 64) == 0) {
  3943.                         48 = (_t424 & 2) != 0;
  3944.                         if((_t424 & 2) != 0) {
  3945.                              *(__sp + 48) = 48;
  3946.                             _t357 = __s1[3] & 0x200;
  3947.                             _t109 = __s1[3] & 0x200;
  3948.                             __flags = _t109;
  3949.                              *((char*)(__sp + 49)) = _t425;
  3950.                             __flags = _t109;
  3951.                             if(_t109 == 0) {
  3952.                                 asm("bnel v0,zero,0x14");
  3953.                                 __s1[3] = 1;
  3954.                                 _t403 = __sp + 48;
  3955.                                 _t409 = 2;
  3956.                                 __flags = 2;
  3957.                                 L00318DD8(__s1[3], _t414, __s2, _t424, _t429, 2);
  3958.                             } else {
  3959.                                 _t357 =  *__s1;
  3960.                                 _t403 =  *((char*)(__sp + 49));
  3961.                                  *_t357 =  *(__sp + 48);
  3962.                                  *((char*)(_t357 + 1)) =  *((char*)(__sp + 49));
  3963.                                  *__s1 =  *__s1 + 2;
  3964.                             }
  3965.                         }
  3966.                     } else {
  3967.                         asm("beql v0,zero,0x20");
  3968.                         _t357 =  *__s1;
  3969.                          *( *__s1) = _t373;
  3970.                          *__s1 =  *__s1 + 1;
  3971.                     }
  3972.                     _t419 =  *(__sp + 104);
  3973.                     if(_t431 == 128) {
  3974.                         _t357 =  *(__sp + 80);
  3975.                         _t420 =  *(__sp + 80) - _t434;
  3976.                         _t304 = _t420 < 17;
  3977.                         if(_t420 > 0) {
  3978.                             _t424 = 3735552;
  3979.                             if(_t304 == 0) {
  3980.                                 asm("beql v0,zero,0x40");
  3981.                                 _t357 =  *__s1;
  3982.                                 asm("ldl a0,7(v0)");
  3983.                                 asm("ldr a0,0(v0)");
  3984.                                 asm("ldl a1,15(v0)");
  3985.                                 asm("ldr a1,8(v0)");
  3986.                                 asm("sdl a0,7(v1)");
  3987.                                 asm("sdr a0,0(v1)");
  3988.                                 asm("sdl a1,15(v1)");
  3989.                                 asm("sdr a1,8(v1)");
  3990.                                  *__s1 =  *__s1 + 16;
  3991.                                 _t420 = _t420 + -16;
  3992.                                 asm("beql v0,zero,0xffffff98");
  3993.                             }
  3994.                             _t403 = _t424 + -17200;
  3995.                             if((__s1[3] & 0x200) == 0) {
  3996.                                 asm("bnel v0,zero,0x14");
  3997.                                 __s1[3] = 1;
  3998.                                 _t403 = _t424 + -17200;
  3999.                                 __flags = _t424 + -17200;
  4000.                                 asm("daddu a2,s0,zero");
  4001.                                 L00318DD8(__s1[3], _t414, __s2, _t424, _t429, _t424 + -17200);
  4002.                             } else {
  4003.                                 L00311B9C(_t357, _t403, _t409, _t414, _t417);
  4004.                                 _t357 =  *__s1 + _t420;
  4005.                                  *__s1 =  *__s1 + _t420;
  4006.                             }
  4007.                         }
  4008.                         _t419 =  *(__sp + 104);
  4009.                     }
  4010.                     _t267 = _t419 < 17;
  4011.                     if(_t419 > 0) {
  4012.                         _t424 = 3735552;
  4013.                         if(_t267 == 0) {
  4014.                             asm("beql v0,zero,0x40");
  4015.                             _t357 =  *__s1;
  4016.                             asm("ldl a0,7(v0)");
  4017.                             asm("ldr a0,0(v0)");
  4018.                             asm("ldl a1,15(v0)");
  4019.                             asm("ldr a1,8(v0)");
  4020.                             asm("sdl a0,7(v1)");
  4021.                             asm("sdr a0,0(v1)");
  4022.                             asm("sdl a1,15(v1)");
  4023.                             asm("sdr a1,8(v1)");
  4024.                              *__s1 =  *__s1 + 16;
  4025.                             _t419 = _t419 + -16;
  4026.                             asm("beql v0,zero,0xffffff98");
  4027.                         }
  4028.                         _t403 = _t424 + -17200;
  4029.                         if((__s1[3] & 0x200) == 0) {
  4030.                             asm("bnel v0,zero,0x14");
  4031.                             __s1[3] = 1;
  4032.                             _t403 = _t424 + -17200;
  4033.                             __flags = _t424 + -17200;
  4034.                             asm("daddu a2,s0,zero");
  4035.                             L00318DD8(__s1[3], _t414, __s2, _t424, _t429, _t424 + -17200);
  4036.                         } else {
  4037.                             L00311B9C(_t357, _t403, _t409, _t414, _t417);
  4038.                             _t357 =  *__s1 + _t419;
  4039.                              *__s1 =  *__s1 + _t419;
  4040.                         }
  4041.                     }
  4042.                     if((__s1[3] & 0x200) == 0) {
  4043.                         asm("bnel v0,zero,0x14");
  4044.                         __flags = 1;
  4045.                         __s1[3] = 1;
  4046.                         asm("daddu a1,s4,zero");
  4047.                         L00318DD8(__s1[3], _t414, __s2, _t424, _t429, __flags);
  4048.                     } else {
  4049.                         L00311B9C(_t357, _t403,  *((intOrPtr*)(__sp + 88)), _t414, _t417);
  4050.                         _t357 =  *__s1 +  *((intOrPtr*)(__sp + 88));
  4051.                          *__s1 =  *__s1 +  *((intOrPtr*)(__sp + 88));
  4052.                     }
  4053.                     _t411 =  *(__sp + 80);
  4054.                     if( *(__sp + 108) != 0) {
  4055.                         _t419 = _t411 - _t434;
  4056.                         _t275 = _t419 < 17;
  4057.                         if(_t419 > 0) {
  4058.                             if(_t275 == 0) {
  4059.                                 _t424 = 1;
  4060.                                 asm("beql v0,zero,0x40");
  4061.                                 _t357 =  *__s1;
  4062.                                 _t411 = "                00000000000000000123456789abcdef";
  4063.                                 asm("ldl v0,7(a2)");
  4064.                                 asm("ldr v0,0(a2)");
  4065.                                 asm("ldl a0,15(a2)");
  4066.                                 asm("ldr a0,8(a2)");
  4067.                                 asm("sdl v0,7(v1)");
  4068.                                 asm("sdr v0,0(v1)");
  4069.                                 asm("sdl a0,15(v1)");
  4070.                                 asm("sdr a0,8(v1)");
  4071.                                  *__s1 =  *__s1 + 16;
  4072.                                 _t419 = _t419 + -16;
  4073.                                 asm("beql v0,zero,0xffffff90");
  4074.                             }
  4075.                             _t405 = "                00000000000000000123456789abcdef";
  4076.                             if((__s1[3] & 0x200) == 0) {
  4077.                                 asm("bnel v0,zero,0x14");
  4078.                                 __s1[3] = 1;
  4079.                                 __flags = "                00000000000000000123456789abcdef";
  4080.                                 asm("daddu a2,s0,zero");
  4081.                                 L00318DD8(__s1[3], _t414, __s2, _t424, _t429, __flags);
  4082.                             } else {
  4083.                                 L00311B9C(_t357, _t405, _t411, _t414, 3735552);
  4084.                                  *__s1 =  *__s1 + _t419;
  4085.                             }
  4086.                         }
  4087.                     }
  4088.                     _t354 =  *((intOrPtr*)(__sp + 112));
  4089.                      *((intOrPtr*)(__sp + 76)) =  *((intOrPtr*)(__sp + 76)) + (_t434 * ( *((intOrPtr*)(__sp + 112)) == 0) |  *(__sp + 80) * ( *((intOrPtr*)(__sp + 112)) != 0));
  4090.                     continue;
  4091.                 }
  4092.             } else {
  4093.                 goto ( *__a0);
  4094.             }
  4095.         }
  4096.     }
  4097. }
  4098.  
  4099. L00319DB8(
  4100.     _unknown_ __v1,                        // r3
  4101.     intOrPtr* __s0,                        // r16
  4102.     _unknown_ __s1,                        // r17
  4103.     _unknown_ __flags                      // r33
  4104. )
  4105. {
  4106.     intOrPtr _t8;                          // _t8
  4107.     char* _t10;                            // _t10
  4108.  
  4109.     __s0 = __s0;
  4110.     __v1 = __v1;
  4111.     asm(".long 0x7fb10010");
  4112.     asm(".long 0x7fb00000");
  4113.     _t10 = "ScreenCapture";
  4114.     asm("daddu s0,a0,zero");
  4115.     asm(".long 0x7fbf0020");
  4116.     asm("daddu a0,a1,zero");
  4117.      *((intOrPtr*)(_t10 + -13224)) = 0;
  4118.     L0031C4F0(__a0, _t10, __flags);
  4119.     asm("daddu v1,v0,zero");
  4120.     _t8 = 0xffffffffffffffff;
  4121.     if(__v1 == -65536) {
  4122.         _t8 =  *((intOrPtr*)(_t10 + -13224));
  4123.         asm("bnel v0,zero,0xc");
  4124.          *__s0 = _t8;
  4125.         asm(".long 0x7bbf0020");
  4126.     }
  4127.     asm("daddu v0,v1,zero");
  4128.     asm(".long 0x7bb10010");
  4129.     asm(".long 0x7bb00000");
  4130.     return _t8;
  4131. }
  4132.  
  4133. L0031BB30(
  4134.     _unknown_ __v0                         // r2
  4135. )
  4136. {
  4137.     __v0 = __v0;
  4138.     asm("syscall");
  4139.     return __v0;
  4140. }
  4141.  
  4142. L0031BB80(
  4143.     _unknown_ __v0                         // r2
  4144. )
  4145. {
  4146.     __v0 = __v0;
  4147.     asm("syscall");
  4148.     return __v0;
  4149. }
  4150.  
  4151. L0031BC20(
  4152.     _unknown_ __v0                         // r2
  4153. )
  4154. {
  4155.     __v0 = __v0;
  4156.     asm("syscall");
  4157.     return __v0;
  4158. }
  4159.  
  4160. L0031BC40(
  4161.     _unknown_ __v0                         // r2
  4162. )
  4163. {
  4164.     __v0 = __v0;
  4165.     asm("syscall");
  4166.     return __v0;
  4167. }
  4168.  
  4169. L0031BCB0(
  4170.     _unknown_ __v0                         // r2
  4171. )
  4172. {
  4173.     __v0 = __v0;
  4174.     asm("syscall");
  4175.     return __v0;
  4176. }
  4177.  
  4178. L0031BD10(
  4179.     _unknown_ __v0                         // r2
  4180. )
  4181. {
  4182.     __v0 = __v0;
  4183.     asm("syscall");
  4184.     return __v0;
  4185. }
  4186.  
  4187. L0031BE00(
  4188.     _unknown_ __v0                         // r2
  4189. )
  4190. {
  4191.     __v0 = __v0;
  4192.     asm("syscall");
  4193.     return __v0;
  4194. }
  4195.  
  4196. L0031BE20(
  4197.     _unknown_ __v0                         // r2
  4198. )
  4199. {
  4200.     __v0 = __v0;
  4201.     asm("syscall");
  4202.     return __v0;
  4203. }
  4204.  
  4205. L0031BE30(
  4206.     _unknown_ __v0                         // r2
  4207. )
  4208. {
  4209.     __v0 = __v0;
  4210.     asm("syscall");
  4211.     return __v0;
  4212. }
  4213.  
  4214. L0031BE40(
  4215.     _unknown_ __v0                         // r2
  4216. )
  4217. {
  4218.     __v0 = __v0;
  4219.     asm("syscall");
  4220.     return __v0;
  4221. }
  4222.  
  4223. L0031BE60(
  4224.     _unknown_ __v0                         // r2
  4225. )
  4226. {
  4227.     __v0 = __v0;
  4228.     asm("syscall");
  4229.     return __v0;
  4230. }
  4231.  
  4232. L0031BEC0(
  4233.     _unknown_ __v0                         // r2
  4234. )
  4235. {
  4236.     __v0 = __v0;
  4237.     asm("syscall");
  4238.     return __v0;
  4239. }
  4240.  
  4241. L0031BED0(
  4242.     _unknown_ __v0                         // r2
  4243. )
  4244. {
  4245.     __v0 = __v0;
  4246.     asm("syscall");
  4247.     return __v0;
  4248. }
  4249.  
  4250. L0031C0A0(
  4251.     _unknown_ __v0                         // r2
  4252. )
  4253. {
  4254.     __v0 = __v0;
  4255.     asm("syscall");
  4256.     return __v0;
  4257. }
  4258.  
  4259. L0031C1E0(
  4260.     _unknown_ __v0                         // r2
  4261. )
  4262. {
  4263.     __v0 = __v0;
  4264.     asm("syscall");
  4265.     return __v0;
  4266. }
  4267.  
  4268. L0031C1F0(
  4269.     _unknown_ __v0                         // r2
  4270. )
  4271. {
  4272.     __v0 = __v0;
  4273.     asm("syscall");
  4274.     return __v0;
  4275. }
  4276.  
  4277. L0031C200(
  4278.     _unknown_ __v0                         // r2
  4279. )
  4280. {
  4281.     __v0 = __v0;
  4282.     asm("syscall");
  4283.     return __v0;
  4284. }
  4285.  
  4286. L0031C220(
  4287.     _unknown_ __v0                         // r2
  4288. )
  4289. {
  4290.     __v0 = __v0;
  4291.     asm("syscall");
  4292.     return __v0;
  4293. }
  4294.  
  4295. L0031C230(
  4296.     _unknown_ __v0                         // r2
  4297. )
  4298. {
  4299.     __v0 = __v0;
  4300.     asm("syscall");
  4301.     return __v0;
  4302. }
  4303.  
  4304. L0031C250(
  4305.     _unknown_ __v0                         // r2
  4306. )
  4307. {
  4308.     __v0 = __v0;
  4309.     asm("syscall");
  4310.     return __v0;
  4311. }
  4312.  
  4313. L0031C280(
  4314.     _unknown_ __v0                         // r2
  4315. )
  4316. {
  4317.     __v0 = __v0;
  4318.     asm("syscall");
  4319.     return __v0;
  4320. }
  4321.  
  4322. L0031C290(
  4323.     _unknown_ __v0                         // r2
  4324. )
  4325. {
  4326.     __v0 = __v0;
  4327.     asm("syscall");
  4328.     return __v0;
  4329. }
  4330.  
  4331. L0031C3E8(
  4332.     _unknown_ __a0,                        // r4
  4333.     _unknown_ __s2,                        // r18
  4334.     _unknown_ __s4,                        // r20
  4335.     _unknown_ __flags                      // r33
  4336. )
  4337. {
  4338.     _unknown_ _t7;                         // _t7
  4339.     _unknown_ _t9;                         // _t9
  4340.  
  4341.     __s4 = __s4;
  4342.     __s2 = __s2;
  4343.     asm("sd s2,32(sp)");
  4344.     _t13 = __a0 + -1 < 2;
  4345.     asm("sd s1,16(sp)");
  4346.     asm("daddu s2,a2,zero");
  4347.     asm("sd ra,48(sp)");
  4348.     asm("daddu s1,a1,zero");
  4349.     if(__a0 + -1 < 2) {
  4350. L5:
  4351.         _t7 = -1;
  4352.         asm("ld ra,48(sp)");
  4353.     } else {
  4354.         __s0 =  ?_? ("ScreenCapture");
  4355.         _t4 =  *((intOrPtr*)("ScreenCapture" + -13204));
  4356.         _t18 = _t4;
  4357.         if(_t4 != 0) {
  4358. L4:
  4359.             _t7 = L0031CD70(__v1, _t13, __a1, __s1, __s2, __s4, _t20);
  4360.         } else {
  4361.             _t9 = L0031CF90(_t13, __a1, __a2, _t18);
  4362.             _t20 = _t9 == 0;
  4363.             if(_t9 == 0) {
  4364.                 goto L5;
  4365.             } else {
  4366.                  *((intOrPtr*)(__s0 + -13204)) = 1;
  4367.                 asm("daddu a0,s1,zero");
  4368.                 goto L4;
  4369.             }
  4370.         }
  4371.     }
  4372.     asm("ld s2,32(sp)");
  4373.     asm("ld s1,16(sp)");
  4374.     asm("ld s0,0(sp)");
  4375.     return _t7;
  4376. }
  4377.  
  4378. L0031C4F0(
  4379.     _unknown_ __a0,                        // r4
  4380.     signed int __s1,                       // r17
  4381.     _unknown_ __flags                      // r33
  4382. )
  4383. {
  4384.     signed int _t14;                       // _t14
  4385.     intOrPtr _t15;                         // _t15
  4386.     _unknown_ _t16;                        // _t16
  4387.     intOrPtr _t18;                         // _t18
  4388.     signed int _t24;                       // _t24
  4389.  
  4390.     __a0 = __a0;
  4391.     asm("sd ra,48(sp)");
  4392.     asm("sd s2,32(sp)");
  4393.     asm("sd s1,16(sp)");
  4394.     asm("sd s0,0(sp)");
  4395.     asm(".long 0x40116000");
  4396.     _t14 = 65536;
  4397.     _t24 = __s1 & 65536;
  4398.     __s2 = "ScreenCapture";
  4399.     if(_t24 == 0) {
  4400.         _t15 =  *((intOrPtr*)(__s2 + -13200));
  4401. L4:
  4402.         __s0 = _t15 + __a0;
  4403.         _t16 = L0031BE00(_t15);
  4404.         _t18 =  *((intOrPtr*)(__s2 + -13200));
  4405.         if(__s0 < _t16) {
  4406.              *((intOrPtr*)(__s2 + -13200)) = __s0;
  4407.             if(_t24 != 0) {
  4408.                 asm(".long 0x42000038");
  4409.             }
  4410.         } else {
  4411.              *((intOrPtr*)(L00311AF8())) = 12;
  4412.             if(_t24 != 0) {
  4413.                 asm(".long 0x42000038");
  4414.             }
  4415.             _t18 = 0xffffffffffffffff;
  4416.         }
  4417.         asm("ld ra,48(sp)");
  4418.         asm("ld s2,32(sp)");
  4419.         asm("ld s1,16(sp)");
  4420.         asm("ld s0,0(sp)");
  4421.         return _t18;
  4422.     } else {
  4423.         goto L1;
  4424.     }
  4425.     do {
  4426. L1:
  4427.         asm(".long 0x42000039");
  4428.         asm(".long 0x40f");
  4429.         asm(".long 0x40026000");
  4430.         _t14 = _t14 & 65536;
  4431.     } while(_t14 != 0);
  4432.     _t15 =  *((intOrPtr*)(__s2 + -13200));
  4433.     goto L4;
  4434. }
  4435.  
  4436. L0031C838(
  4437.     _unknown_ __a0,                        // r4
  4438.     signed int __s0,                       // r16
  4439.     _unknown_ __flags                      // r33
  4440. )
  4441. {
  4442.     _unknown_ _t3;                         // _t3
  4443.     _unknown_ _t4;                         // _t4
  4444.     signed int _t6;                        // _t6
  4445.  
  4446.     __a0 = __a0;
  4447.     asm("sd s1,16(sp)");
  4448.     asm("sd ra,32(sp)");
  4449.     asm("daddu s1,a0,zero");
  4450.     asm("sd s0,0(sp)");
  4451.     asm(".long 0x40106000");
  4452.     _t3 = 65536;
  4453.     _t6 = __s0 & 65536;
  4454.     if(_t6 != 0) {
  4455.         _t3 = L00321160(__v1);
  4456.     }
  4457.     _t4 = L0031BB80(_t3);
  4458.     asm("daddu s1,v0,zero");
  4459.     asm("sync");
  4460.     if(_t6 != 0) {
  4461.         _t4 = L003211A8(_t4);
  4462.         asm("daddu v0,s1,zero");
  4463.     }
  4464.     asm("ld ra,32(sp)");
  4465.     asm("ld s1,16(sp)");
  4466.     asm("ld s0,0(sp)");
  4467.     return _t4;
  4468. }
  4469.  
  4470. L0031C9B8(
  4471.     _unknown_ __flags                      // r33
  4472. )
  4473. {
  4474.     intOrPtr _v72;                         // _cfa_ffffffb8
  4475.     intOrPtr _v76;                         // _cfa_ffffffb4
  4476.     char _v80;                             // _cfa_ffffffb0
  4477.     intOrPtr _v108;                        // _cfa_ffffff94
  4478.     intOrPtr _v112;                        // _cfa_ffffff90
  4479.     intOrPtr _v116;                        // _cfa_ffffff8c
  4480.     intOrPtr _v120;                        // _cfa_ffffff88
  4481.     intOrPtr _v124;                        // _cfa_ffffff84
  4482.     intOrPtr _t18;                         // _t18
  4483.     intOrPtr _t20;                         // _t20
  4484.     _unknown_ _t23;                        // _t23
  4485.     _unknown_ _t26;                        // _t26
  4486.     char* _t32;                            // _t32
  4487.  
  4488.     asm("sd s0,80(sp)");
  4489.     __s0 = "ScreenCapture";
  4490.     asm("sd ra,112(sp)");
  4491.     if( *((intOrPtr*)(__s0 + -13196)) > 0) {
  4492. L4:
  4493.         _t18 = -1;
  4494.     } else {
  4495.         _v72 = 0;
  4496.         _v76 = 255;
  4497.         _t32 =  &_v80;
  4498.         _t20 = L0031BE20(255);
  4499.          *((intOrPtr*)(0x3dd400)) = _t20;
  4500.         if(_t20 < 0) {
  4501.             goto L4;
  4502.         } else {
  4503.             _v124 = 3276800;
  4504.             _v120 = 0x3dd000;
  4505.             asm("daddu a0,sp,zero");
  4506.             _v116 = 1024;
  4507.             _v112 = 0x3947f0;
  4508.             _v108 = 0;
  4509.             _t23 = L0031BC20(0x31c8e0);
  4510.             asm("daddu a0,v0,zero");
  4511.              *((intOrPtr*)(__s0 + -13196)) = _t32;
  4512.             if(_t32 >= 0) {
  4513.                  *((intOrPtr*)(0x3dd408)) = 0;
  4514.                 asm("daddu a1,v1,zero");
  4515.                  *((intOrPtr*)(0x3dd40c)) = 0;
  4516.                 _t26 = L0031BD10(L0031BC40(4063232));
  4517.                 asm("daddu a0,v0,zero");
  4518.                 L0031BCB0(_t26);
  4519.                 _t18 =  *((intOrPtr*)(__s0 + -13196));
  4520.             } else {
  4521.                 L0031BE30(_t23);
  4522.                 goto L4;
  4523.             }
  4524.         }
  4525.     }
  4526.     asm("ld ra,112(sp)");
  4527.     asm("ld s1,96(sp)");
  4528.     asm("ld s0,80(sp)");
  4529.     return _t18;
  4530. }
  4531.  
  4532. L0031CB30(
  4533.     intOrPtr __a0                          // r4
  4534. )
  4535. {
  4536.     intOrPtr _t6;                          // _t6
  4537.  
  4538.     __v1 = 0x3dd840;
  4539.      *((intOrPtr*)(0x3dd840)) = __a0;
  4540.     _t6 = __v1 + 16;
  4541.     asm("daddu v0,v1,zero");
  4542.      *((intOrPtr*)(__v1 + 8)) = _t6;
  4543.      *((intOrPtr*)(__v1 + 4)) = 0;
  4544.      *((intOrPtr*)(__v1 + 12)) = _t6;
  4545.     return 4063232;
  4546. }
  4547.  
  4548. L0031CD70(
  4549.     _unknown_ __v1,                        // r3
  4550.     _unknown_ __a0,                        // r4
  4551.     _unknown_ __a1,                        // r5
  4552.     _unknown_ __s1,                        // r17
  4553.     _unknown_ __s2,                        // r18
  4554.     _unknown_ __s4,                        // r20
  4555.     _unknown_ __flags                      // r33
  4556. )
  4557. {
  4558.     _unknown_ _t33;                        // _t33
  4559.     _unknown_ _t38;                        // _t38
  4560.     signed int _t47;                       // _t47
  4561.     char* _t51;                            // _t51
  4562.     signed int* _t57;                      // _t57
  4563.     _unknown_ _t59;                        // _t59
  4564.  
  4565.     __s4 = __s4;
  4566.     __s2 = __s2;
  4567.     __s1 = __s1;
  4568.     asm("sd s5,80(sp)");
  4569.     asm("sd s4,64(sp)");
  4570.     __s5 = 4063232;
  4571.     asm("sd s3,48(sp)");
  4572.     asm("daddu s4,zero,zero");
  4573.     asm("sd s2,32(sp)");
  4574.     __s3 = 0x3dd950;
  4575.     asm("sd s1,16(sp)");
  4576.     asm("daddu s2,a1,zero");
  4577.     asm("sd s0,0(sp)");
  4578.     asm("daddu s1,zero,zero");
  4579.     asm("sd ra,96(sp)");
  4580.     asm("daddu s0,a0,zero");
  4581.     _t33 = -1;
  4582.     if( *((intOrPtr*)(__s3 + 12)) == 0) {
  4583.         L00321160(__v1);
  4584.         __a2 = 0x203dd980;
  4585.          *((intOrPtr*)(__s3 + 12)) = 1;
  4586.          *((intOrPtr*)(__s3 + 16)) = __a2;
  4587.         __a3 = 10;
  4588.         _t51 = __a2 + 12;
  4589.         do {
  4590.             __s2 = __s2 + -1;
  4591.             asm("beql s2,t0,0x4c");
  4592.             _t57 = __s5 + -9904;
  4593.             _t47 =  *_t57 & 255;
  4594.             if( *_t57 != __a3) {
  4595.                 goto L5;
  4596.             } else {
  4597.                  *_t51 = 13;
  4598.                 __s1 = __s1 + 1;
  4599.                 _t51 = _t51 + 1;
  4600.                 if(__s1 >= 256) {
  4601.                     _t47 =  *_t57 & 255;
  4602.                     goto L5;
  4603.                 }
  4604.             }
  4605.             break;
  4606. L5:
  4607.              *_t51 = _t47;
  4608.             __s1 = __s1 + 1;
  4609.             _t51 = _t51 + 1;
  4610.             _t38 = __s1 < 256;
  4611.             __s4 = __s4 + 1;
  4612.             _t69 = _t38 != 0;
  4613.         } while(_t38 != 0);
  4614.         _t59 = __s5 + -9904;
  4615.          *((intOrPtr*)(_t59 + 4)) = __s1 + 12;
  4616.          *__a2 =  *((intOrPtr*)(_t59 + 4));
  4617.         if(L003218E0( *(__s5 + -9904),  *((char*)(__a2 + 7)), _t69) >= 0) {
  4618.             _t41 =  *((intOrPtr*)(_t59 + 12));
  4619.             _t26 =  *((intOrPtr*)(_t59 + 12));
  4620.             __flags = _t26;
  4621.             __flags = _t26;
  4622.             while(__flags != 0) {
  4623.                 L00321910( *((intOrPtr*)(__s1 + -9904)), __flags);
  4624.                 _t41 =  *((intOrPtr*)(_t59 + 12));
  4625.                 _t31 =  *((intOrPtr*)(_t59 + 12));
  4626.                 __flags = _t31;
  4627.                 __flags = _t31;
  4628.             }
  4629.             _t33 = L003211A8(_t41);
  4630.             asm("daddu v0,s4,zero");
  4631.         } else {
  4632.              *((intOrPtr*)(_t59 + 12)) = 0;
  4633.             L003211A8(_t40);
  4634.             _t33 = -1;
  4635.         }
  4636.     }
  4637.     asm("ld ra,96(sp)");
  4638.     asm("ld s5,80(sp)");
  4639.     asm("ld s4,64(sp)");
  4640.     asm("ld s3,48(sp)");
  4641.     asm("ld s2,32(sp)");
  4642.     asm("ld s1,16(sp)");
  4643.     asm("ld s0,0(sp)");
  4644.     return _t33;
  4645. }
  4646.  
  4647. L0031CF90(
  4648.     _unknown_ __a0,                        // r4
  4649.     _unknown_ __a1,                        // r5
  4650.     _unknown_ __a2,                        // r6
  4651.     _unknown_ __flags                      // r33
  4652. )
  4653. {
  4654.     _unknown_ _t15;                        // _t15
  4655.     intOrPtr _t18;                         // _t18
  4656.     _unknown_ _t37;                        // _t37
  4657.  
  4658.     _t37 = __flags;
  4659.     asm("daddu a0,zero,zero");
  4660.     asm("sd s1,16(sp)");
  4661.     asm("sd s0,0(sp)");
  4662.     asm("sd ra,32(sp)");
  4663.     L0031C0A0(_t15);
  4664.     __s1 = 0x3dd950;
  4665.      *((intOrPtr*)(0x3dd950)) = L00321890(528, __a1, 0x31cbd8, _t37);
  4666.     _t18 =  *((intOrPtr*)(0x3dd950));
  4667.     if(_t18 >= 0) {
  4668.          *((intOrPtr*)(__s1 + 12)) = 0;
  4669.          *((intOrPtr*)(__s1 + 4)) = 0;
  4670.          *((intOrPtr*)(__s1 + 8)) = 0;
  4671.          *((intOrPtr*)(__s1 + 20)) = 0x203ddac0;
  4672.          *((intOrPtr*)(__s1 + 16)) = 4063232;
  4673.          *((short*)(0x3e0004)) = 528;
  4674.          *((char*)(0x3e0006)) = 69;
  4675.          *((char*)(0x3e0007)) = 72;
  4676.          *((intOrPtr*)(0x3e0008)) = 0;
  4677.          *((short*)(0x203dd982)) = 0;
  4678.          *((intOrPtr*)(__s1 + 24)) = L0031CB30(256);
  4679.         _t18 = 1;
  4680.         __flags = 1;
  4681.     }
  4682.     asm("ld ra,32(sp)");
  4683.     asm("ld s1,16(sp)");
  4684.     asm("ld s0,0(sp)");
  4685.     return _t18;
  4686. }
  4687.  
  4688. L0031D368(
  4689.     _unknown_ __v1                         // r3
  4690. )
  4691. {
  4692.     signed int _t29;                       // _t29
  4693.  
  4694.     asm("sd s3,80(sp)");
  4695.     asm("sd s0,32(sp)");
  4696.     asm("daddu s3,a1,zero");
  4697.     asm("daddu s0,a0,zero");
  4698.     asm("sd s6,128(sp)");
  4699.     asm("sd ra,144(sp)");
  4700.     asm("sd s5,112(sp)");
  4701.     asm("sd s4,96(sp)");
  4702.     asm("sd s2,64(sp)");
  4703.     L00321160(__v1);
  4704.     asm("daddu s6,v0,zero");
  4705.     _t19 =  *__s0;
  4706.     _t29 =  *__s0 & 255;
  4707.     if( *__s0 == 0) {
  4708. L8:
  4709.         if(__s6 != 0) {
  4710.             L003211A8(_t19);
  4711.             asm("ld ra,144(sp)");
  4712.         }
  4713.         asm("ld s6,128(sp)");
  4714.         asm("ld s5,112(sp)");
  4715.         asm("ld s4,96(sp)");
  4716.         asm("ld s3,80(sp)");
  4717.         asm("ld s2,64(sp)");
  4718.         asm("ld s1,48(sp)");
  4719.         asm("ld s0,32(sp)");
  4720.         return;
  4721.     } else {
  4722.         do {
  4723.             asm("daddu s4,zero,zero");
  4724.             if(_t29 << 24 >> 24 != 37) {
  4725.                  *((intOrPtr*)( *((intOrPtr*)("ScreenCapture" + -13188))))();
  4726.                 goto L7;
  4727.             } else {
  4728.                 asm("daddu s0,s2,zero");
  4729.                 if(( *__s0 & 255) + -48 << 24 >> 24 < 73) {
  4730.                     asm("daddu s0,s2,zero");
  4731.                     goto L7;
  4732.                 } else {
  4733.                     goto ( *__a0);
  4734.                 }
  4735.             }
  4736.             goto L11;
  4737. L7:
  4738.             _t19 =  *__s0;
  4739.             _t29 =  *__s0 & 255;
  4740.         } while( *__s0 != 0);
  4741.         goto L8;
  4742.     }
  4743. L11:
  4744. }
  4745.  
  4746. L0031D958(
  4747.     _unknown_ __v0                         // r2
  4748. )
  4749. {
  4750.     _unknown_ _v56;                        // _cfa_ffffffc8
  4751.  
  4752.     __v0 = __v0;
  4753.     asm("sd a1,88(sp)");
  4754.     asm("sd ra,0(sp)");
  4755.     asm("sd a2,96(sp)");
  4756.     asm("sd a3,104(sp)");
  4757.     asm("sd t0,112(sp)");
  4758.     asm("sd t1,120(sp)");
  4759.     asm("sd t2,128(sp)");
  4760.     L0031D368(__v1);
  4761.     asm("ld ra,0(sp)");
  4762.     return __v0;
  4763. }
  4764.  
  4765. L0031D990()
  4766. {
  4767.     _unknown_ _v56;                        // _cfa_ffffffc8
  4768.  
  4769.     asm("sd s0,0(sp)");
  4770.     __s0 = "ScreenCapture";
  4771.     asm("sd s1,16(sp)");
  4772.     asm("sd a1,120(sp)");
  4773.      *((intOrPtr*)(__s0 + -13188)) = 3276800;
  4774.     asm("sd ra,32(sp)");
  4775.     asm("sd a2,128(sp)");
  4776.     asm("sd a3,136(sp)");
  4777.     asm("sd t0,144(sp)");
  4778.     asm("sd t1,152(sp)");
  4779.     asm("sd t2,160(sp)");
  4780.     L0031D368(__v1);
  4781.      *((intOrPtr*)(__s0 + -13188)) =  *((intOrPtr*)(__s0 + -13188));
  4782.     asm("ld ra,32(sp)");
  4783.     asm("ld s1,16(sp)");
  4784.     asm("ld s0,0(sp)");
  4785.     return 0x31d088;
  4786. }
  4787.  
  4788. L0031DA20(
  4789.     signed int __a0                        // r4
  4790. )
  4791. {
  4792.     return  *((intOrPtr*)((__a0 << 2) + 0x3dde80));
  4793. }
  4794.  
  4795. L0031DA48(
  4796.     _unknown_ __v1,                        // r3
  4797.     _unknown_ __a0,                        // r4
  4798.     _unknown_ __s0,                        // r16
  4799.     _unknown_ __flags                      // r33
  4800. )
  4801. {
  4802.     _unknown_ _t38;                        // _t38
  4803.     intOrPtr* _t41;                        // _t41
  4804.     signed int _t47;                       // _t47
  4805.     _unknown_ _t54;                        // _t54
  4806.     _unknown_ _t57;                        // _t57
  4807.     intOrPtr* _t59;                        // _t59
  4808.     _unknown_ _t67;                        // _t67
  4809.     _unknown_ _t71;                        // _t71
  4810.     _unknown_ _t81;                        // _t81
  4811.     intOrPtr _t86;                         // _t86
  4812.     _unknown_ _t93;                        // _t93
  4813.     _unknown_ _t94;                        // _t94
  4814.  
  4815.     __sp = __sp + -96;
  4816.     asm("sd ra,80(sp)");
  4817.     asm("sd s4,64(sp)");
  4818.     asm("sd s3,48(sp)");
  4819.     asm("sd s2,32(sp)");
  4820.     asm("sd s1,16(sp)");
  4821.     L00321160(__v1);
  4822.     __t2 = "ScreenCapture";
  4823.     __s3 = 4063232;
  4824.     if( *((intOrPtr*)(__t2 + -13184)) == 0) {
  4825.         __s2 = 4063232;
  4826.         _t59 = 1;
  4827.         __t1 = 4063232;
  4828.         _t38 = 0x3ddd58;
  4829.          *((intOrPtr*)(__t2 + -13184)) = 1;
  4830.          *((intOrPtr*)(0x3ddd58)) = 0x203ddc80;
  4831.          *((intOrPtr*)(_t38 + 28)) = 0x3dde80;
  4832.          *((intOrPtr*)(_t38 + 4)) = 0x203ddd00;
  4833.         asm("daddu v1,t0,zero");
  4834.          *((intOrPtr*)(_t38 + 16)) = 32;
  4835.         __s4 = 4063232;
  4836.          *((intOrPtr*)(_t38 + 8)) = 0;
  4837.         _t93 = 31;
  4838.          *((intOrPtr*)(_t38 + 12)) = 0x3ddd80;
  4839.          *((intOrPtr*)(_t38 + 20)) = 0;
  4840.          *((intOrPtr*)(_t38 + 24)) = 0;
  4841.         do {
  4842.              *_t59 = 0;
  4843.             _t93 = _t93 + -1;
  4844.              *((intOrPtr*)(_t59 + 4)) = 0;
  4845.             _t59 = _t59 + 8;
  4846.         } while(_t93 >= 0);
  4847.         _t94 = 31;
  4848.         _t41 = 0x3ddefc;
  4849.         do {
  4850.              *_t41 = 0;
  4851.             _t94 = _t94 + -1;
  4852.             _t41 = _t41 + -4;
  4853.         } while(_t94 >= 0);
  4854.         _t71 = __t1 + -8832;
  4855.         __s1 = __s2 + -8872;
  4856.          *((intOrPtr*)(__t1 + -8832)) = 3276800;
  4857.          *((intOrPtr*)(_t71 + 8)) = 0x31d9f0;
  4858.          *((intOrPtr*)(_t71 + 12)) = __s1;
  4859.          *((intOrPtr*)(_t71 + 4)) = __s1;
  4860.         L16();
  4861.         L0031C0A0(0x31da10);
  4862.         _t47 = 268435456;
  4863.         if(( *0x1000E010 & 32) != 0) {
  4864.              *0x1000E010 = 32;
  4865.             _t47 = 268435456;
  4866.         }
  4867.         _t48 = _t47 | 49152;
  4868.         _t26 =  *(_t47 | 49152) & 256;
  4869.         _t86 = 3276800;
  4870.         _t108 = _t26;
  4871.         if(_t26 == 0) {
  4872.             _t48 = L0031C200(_t48);
  4873.             _t86 = 3276800;
  4874.         }
  4875.         _t87 = _t86 + -8432;
  4876.          *((intOrPtr*)(0x3ddd54)) = L0031BB30(_t48);
  4877.         _t51 = L0031C230(L0031C838(5, 32, _t108));
  4878.          *(__s1 + 8) = _t51;
  4879.         if(_t51 == 0) {
  4880.             do {
  4881.                 _t51 = L0031C230(_t51) & 131072;
  4882.                 _t112 = _t51 == 0;
  4883.             } while(_t51 == 0);
  4884.             _t97 = __s2 + -8872;
  4885.              *((intOrPtr*)(__s2 + 0xffffffffffffdd60)) = L0031C230(_t51);
  4886.             _t54 = L0031C220(_t53);
  4887.             asm("daddu a1,s0,zero");
  4888.             L0031C220(_t54);
  4889.             _t67 = __s4 + -8896;
  4890.             asm("ld ra,80(sp)");
  4891.             asm("ld s4,64(sp)");
  4892.             asm("daddu a1,v1,zero");
  4893.             asm("ld s3,48(sp)");
  4894.             _t81 = 0xffffffff80000002;
  4895.             asm("ld s2,32(sp)");
  4896.             asm("ld s1,16(sp)");
  4897.             asm("daddu a3,zero,zero");
  4898.             asm("ld s0,0(sp)");
  4899.             asm("daddu t0,zero,zero");
  4900.              *((intOrPtr*)(_t67 + 16)) = __s3 + -9088;
  4901.             asm("daddu t1,zero,zero");
  4902.              *((intOrPtr*)(_t67 + 12)) = 0;
  4903.             __sp = __sp + 96;
  4904.         } else {
  4905.             _t87 = __s4 + -8896;
  4906.             _t51 = __s3 + -9088;
  4907.             asm("ld ra,80(sp)");
  4908.             asm("ld s4,64(sp)");
  4909.             asm("ld s3,48(sp)");
  4910.             asm("daddu a3,zero,zero");
  4911.             asm("ld s2,32(sp)");
  4912.             asm("daddu t0,zero,zero");
  4913.             asm("ld s1,16(sp)");
  4914.             asm("daddu t1,zero,zero");
  4915.             asm("ld s0,0(sp)");
  4916.              *(__s4 + 0xffffffffffffdd50) = __s3 + -9088;
  4917.             __sp = __sp + 96;
  4918.         }
  4919.         asm("daddu v0,a2,zero");
  4920.         asm("daddu v1,a3,zero");
  4921.         asm("daddu t3,t0,zero");
  4922.         __sp = __sp + -16;
  4923.         asm("daddu t2,t1,zero");
  4924.         asm("daddu a2,a1,zero");
  4925.         asm("sd ra,0(sp)");
  4926.         asm("daddu a3,v0,zero");
  4927.         asm("daddu t0,v1,zero");
  4928.         asm("daddu t1,t3,zero");
  4929.         _t57 = L0031DD58(_t81, _t87, __t1, _t97, __s1, __s3, __s4, _t112);
  4930.         asm("ld ra,0(sp)");
  4931.         __sp = __sp + 16;
  4932.         return _t57;
  4933.     } else {
  4934.         asm("ld ra,80(sp)");
  4935.         asm("ld s4,64(sp)");
  4936.         asm("ld s3,48(sp)");
  4937.         asm("ld s2,32(sp)");
  4938.         asm("ld s1,16(sp)");
  4939.         asm("ld s0,0(sp)");
  4940.         __sp = __sp + 96;
  4941.         asm(".long 0x40026000");
  4942.         __v1 = 65536;
  4943.         __v0 = __v0 & 65536;
  4944.         asm(".long 0x42000038");
  4945.         return __v0;
  4946.     }
  4947. }
  4948.  
  4949. L0031DD00(
  4950.     signed int __a0,                       // r4
  4951.     intOrPtr __a1,                         // r5
  4952.     intOrPtr __a2                          // r6
  4953. )
  4954. {
  4955.     signed int _t7;                        // _t7
  4956.     intOrPtr* _t8;                         // _t8
  4957.     intOrPtr _t10;                         // _t10
  4958.  
  4959.     __a2 = __a2;
  4960.     __a1 = __a1;
  4961.     _t7 = __a0 << 3;
  4962.     if(__a0 >= 0) {
  4963.         __v0 = 4063232;
  4964.         _t10 =  *((intOrPtr*)(0x3ddd6c));
  4965.     } else {
  4966.         __v0 = 4063232;
  4967.         _t10 =  *((intOrPtr*)(0x3ddd64));
  4968.     }
  4969.     _t8 = _t7 + _t10;
  4970.      *((intOrPtr*)(_t8 + 4)) = __a2;
  4971.      *_t8 = __a1;
  4972.     return __v0;
  4973. }
  4974.  
  4975. L0031DD58(
  4976.     intOrPtr __a0,                         // r4
  4977.     signed int __a1,                       // r5
  4978.     signed int __t1,                       // r9
  4979.     signed int* __s0,                      // r16
  4980.     signed int __s1,                       // r17
  4981.     signed int __s3,                       // r19
  4982.     signed int __s4,                       // r20
  4983.     _unknown_ __flags                      // r33
  4984. )
  4985. {
  4986.     char _v116;                            // _cfa_ffffff8c
  4987.     char _v120;                            // _cfa_ffffff88
  4988.     char _v124;                            // _cfa_ffffff84
  4989.     intOrPtr _v128;                        // _cfa_ffffff80
  4990.     _unknown_ _t25;                        // _t25
  4991.     signed int _t46;                       // _t46
  4992.  
  4993.     __s4 = __s4;
  4994.     __s3 = __s3;
  4995.     __s1 = __s1;
  4996.     __s0 = __s0;
  4997.     __t1 = __t1;
  4998.     asm("sd s1,48(sp)");
  4999.     asm("sd s4,96(sp)");
  5000.     asm("daddu s1,a3,zero");
  5001.     asm("sd s3,80(sp)");
  5002.     asm("daddu s4,a0,zero");
  5003.     asm("sd s0,32(sp)");
  5004.     asm("daddu s3,a1,zero");
  5005.     asm("sd ra,112(sp)");
  5006.     asm("sd s2,64(sp)");
  5007.     asm("daddu s0,a2,zero");
  5008.     asm("daddu a0,t0,zero");
  5009.     _t25 = __s1 + -16 < 97;
  5010.     if(_t25 != 0) {
  5011.         if(__a1 <= 0) {
  5012.             __s0[1] = 0;
  5013.              *__s0 =  *__s0 & 255;
  5014.             goto L6;
  5015.         } else {
  5016.             __s0[1] = __t1;
  5017.             _t34 =  *__s0 & 255 | __a1 << 8;
  5018.             _v128 = __a0;
  5019.              *__s0 =  *__s0 & 255 | __a1 << 8;
  5020.             _v124 = __t1;
  5021.             _v120 = __a1;
  5022.             _v116 = 0;
  5023.             if((__s3 & 4) == 0) {
  5024. L6:
  5025.                 _t46 = 1 << 4;
  5026.             } else {
  5027.                 L0031E038(_t34, __a0, __a1);
  5028.                 _t46 = 1 << 4;
  5029.             }
  5030.         }
  5031.          *(__sp + _t46) = __s0;
  5032.          *((intOrPtr*)( &_v124 + _t46)) =  *((intOrPtr*)(0x3ddd60));
  5033.          *((intOrPtr*)( &_v120 + _t46)) = __s1;
  5034.         __s0[2] = __s4;
  5035.          *__s0 = __s1;
  5036.          *((intOrPtr*)( &_v116 + _t46)) = 68;
  5037.         asm("daddu a1,s1,zero");
  5038.         asm("daddu a0,s0,zero");
  5039.         L0031E038(68,  &_v116 + _t46, _t46);
  5040.         _t32 = __s3 & 1;
  5041.         if((__s3 & 1) == 0) {
  5042.             _t25 = L0031C1E0(_t32);
  5043.             goto L10;
  5044.         } else {
  5045.             _t25 = L0031C1F0(_t32);
  5046.         }
  5047.     } else {
  5048. L10:
  5049.         asm("ld ra,112(sp)");
  5050.     }
  5051.     asm("ld s4,96(sp)");
  5052.     asm("ld s3,80(sp)");
  5053.     asm("ld s2,64(sp)");
  5054.     asm("ld s1,48(sp)");
  5055.     asm("ld s0,32(sp)");
  5056.     return _t25;
  5057. }
  5058.  
  5059. L0031DE90()
  5060. {
  5061.     asm("daddu v0,a2,zero");
  5062.     asm("daddu v1,a3,zero");
  5063.     asm("daddu t3,t0,zero");
  5064.     __sp = __sp + -16;
  5065.     asm("daddu t2,t1,zero");
  5066.     asm("daddu a2,a1,zero");
  5067.     asm("sd ra,0(sp)");
  5068.     asm("daddu a3,v0,zero");
  5069.     asm("daddu t0,v1,zero");
  5070.     asm("daddu t1,t3,zero");
  5071.     __v0 = L0031DD58(__a0, __a1, __t1, __s0, __s1, __s3, __s4, __flags);
  5072.     asm("ld ra,0(sp)");
  5073.     __sp = __sp + 16;
  5074.     return __v0;
  5075. }
  5076.  
  5077. L0031E038(
  5078.     _unknown_ __v0,                        // r2
  5079.     signed int __a0,                       // r4
  5080.     _unknown_ __a1                         // r5
  5081. )
  5082. {
  5083.     signed int _t4;                        // _t4
  5084.     _unknown_ _t5;                         // _t5
  5085.     unsigned int _t8;                      // _t8
  5086.     _unknown_ _t9;                         // _t9
  5087.     unsigned int _t11;                     // _t11
  5088.     signed int _t13;                       // _t13
  5089.  
  5090.     __a1 = __a1;
  5091.     __a0 = __a0;
  5092.     __v0 = __v0;
  5093.     _t13 = 0xffffffffffffffc0;
  5094.     _t5 = __a0 + __a1;
  5095.     if(_t5 > 0) {
  5096.         __t0 = __a0 & -65536;
  5097.         _t11 = ((_t5 + -1 & _t13) - __t0 >> 6) + 1;
  5098.         _t4 = _t11 & 7;
  5099.         _t8 = _t11 >> 3;
  5100.         if(_t4 != 0) {
  5101.             do {
  5102.                 asm("sync");
  5103.                 asm("lwu t8,0(t0)");
  5104.                 asm("sync");
  5105.                 _t4 = _t4 + -1;
  5106.                 __t0 = __t0 + 64;
  5107.             } while(__t0 > 0);
  5108.         }
  5109.         _t9 = _t8 + -1;
  5110.         if (_t8 == 0) goto L6;
  5111.         while(1) {
  5112.             _t9 = _t9 + -1;
  5113.             asm("sync");
  5114.             asm("lwu t8,0(t0)");
  5115.             asm("sync");
  5116.             asm("lwu t8,64(t0)");
  5117.             asm("sync");
  5118.             asm("lwu t8,128(t0)");
  5119.             asm("sync");
  5120.             asm("lwu t8,192(t0)");
  5121.             asm("sync");
  5122.             asm("lwu t8,256(t0)");
  5123.             asm("sync");
  5124.             asm("lwu t8,320(t0)");
  5125.             asm("sync");
  5126.             asm("lwu t8,384(t0)");
  5127.             asm("sync");
  5128.             asm("lwu t8,448(t0)");
  5129.             asm("sync");
  5130.             __t0 = __t0 + 512;
  5131.             if(__t0 > 0) {
  5132.                 continue;
  5133.             }
  5134.             goto L6;
  5135.         }
  5136.     }
  5137. L6:
  5138.     return __v0;
  5139. }
  5140.  
  5141. L0031E0E8(
  5142.     _unknown_ __v1,                        // r3
  5143.     _unknown_ __a0,                        // r4
  5144.     _unknown_ __a1,                        // r5
  5145.     _unknown_ __a2,                        // r6
  5146.     _unknown_ __s0,                        // r16
  5147.     _unknown_ __s3,                        // r19
  5148.     _unknown_ __flags                      // r33
  5149. )
  5150. {
  5151.     intOrPtr _t19;                         // _t19
  5152.     _unknown_ _t27;                        // _t27
  5153.     char* _t31;                            // _t31
  5154.     _unknown_ _t35;                        // _t35
  5155.     signed int _t47;                       // _t47
  5156.     _unknown_ _t70;                        // _t70
  5157.  
  5158.     __s3 = __s3;
  5159.     _t35 = __a0;
  5160.     __sp = __sp + -64;
  5161.     asm("sd ra,48(sp)");
  5162.     asm("sd s2,32(sp)");
  5163.     asm("sd s1,16(sp)");
  5164.     L00321160(__v1);
  5165.     _t31 = "ScreenCapture";
  5166.     _t19 =  *((intOrPtr*)(_t31 + -13180));
  5167.     __s1 = 1;
  5168.     if(_t19 == 0) {
  5169.          *((intOrPtr*)(_t31 + -13180)) = 1;
  5170.         L8();
  5171.         L0031DA48(_t31, _t35, __s0, __flags);
  5172.         L00321160(_t31);
  5173.         __s2 = 0x3ddf00;
  5174.         _t70 = 0x3df700;
  5175.         _t64 = 0x203de700;
  5176.          *((intOrPtr*)(_t70 + 32)) = 32;
  5177.          *((intOrPtr*)(0x3df700)) = __s1;
  5178.          *((intOrPtr*)(_t70 + 20)) = 4063232;
  5179.          *(_t70 + 4) = __s2 | 536870912;
  5180.          *((intOrPtr*)(_t70 + 28)) = 0x203def00;
  5181.         asm("daddu a2,s0,zero");
  5182.          *((intOrPtr*)(_t70 + 8)) = 32;
  5183.          *((intOrPtr*)(_t70 + 12)) = 0;
  5184.          *((intOrPtr*)(_t70 + 16)) = 0;
  5185.          *((intOrPtr*)(_t70 + 24)) = 32;
  5186.          *((intOrPtr*)(_t70 + 36)) = 0;
  5187.         L0031DD00(0xffffffff80000008, 0x31e3e8, 0x203de700);
  5188.         L0031DD00(0xffffffff80000009, 0x31e620, 0x203de700);
  5189.         L0031DD00(0xffffffff8000000a, 0x31e810, 0x203de700);
  5190.         asm("daddu a2,s0,zero");
  5191.         _t27 = L0031DD00(0xffffffff8000000c, 0x31e500, 0x203de700);
  5192.         L8();
  5193.         _t28 = L0031C230(_t27);
  5194.         _t15 = _t28;
  5195.         _t15 = _t15;
  5196.         if(_t15 != 0) {
  5197.             asm("ld s2,32(sp)");
  5198.             asm("ld s1,16(sp)");
  5199.             asm("ld s0,0(sp)");
  5200.             __sp = __sp + 64;
  5201.             return _t28;
  5202.         } else {
  5203.              *((intOrPtr*)(__s2 + 0x4c)) = __s1;
  5204.             _t47 = 0xffffffff80000002;
  5205.             __flags = 16;
  5206.             asm("daddu a3,zero,zero");
  5207.             asm("daddu t0,zero,zero");
  5208.             L0031DE90();
  5209.             do {
  5210.                 _t17 = L0031DA20(_t47);
  5211.                 _t17 = _t17;
  5212.             } while(_t17 == 0);
  5213.             asm("ld s2,32(sp)");
  5214.             asm("ld s1,16(sp)");
  5215.             asm("ld s0,0(sp)");
  5216.             __sp = __sp + 64;
  5217.             asm("syscall");
  5218.             return _t19;
  5219.         }
  5220.     } else {
  5221.         asm("ld ra,48(sp)");
  5222.         asm("ld s2,32(sp)");
  5223.         asm("ld s1,16(sp)");
  5224.         asm("ld s0,0(sp)");
  5225.         __sp = __sp + 64;
  5226.         asm(".long 0x40026000");
  5227.         __v1 = 65536;
  5228.         __v0 = __v0 & 65536;
  5229.         asm(".long 0x42000038");
  5230.         return __v0;
  5231.     }
  5232. }
  5233.  
  5234. L0031E2B0(
  5235.     _unknown_ __v1,                        // r3
  5236.     _unknown_ __a0,                        // r4
  5237.     _unknown_ __s1                         // r17
  5238. )
  5239. {
  5240.     _unknown_ _t15;                        // _t15
  5241.     _unknown_ _t16;                        // _t16
  5242.     intOrPtr _t21;                         // _t21
  5243.     intOrPtr _t24;                         // _t24
  5244.  
  5245.     __s1 = __s1;
  5246.     asm("sd s1,16(sp)");
  5247.     asm("sd s0,0(sp)");
  5248.     asm("sd ra,32(sp)");
  5249.     _t15 = L00321160(__v1);
  5250.     asm("daddu v1,zero,zero");
  5251.     __s0 =  *((intOrPtr*)(__s1 + 4));
  5252.     if( *((intOrPtr*)(__s1 + 8)) <= 0) {
  5253.         _t16 = L003211A8(_t15);
  5254.         asm("daddu v0,zero,zero");
  5255.     } else {
  5256.         asm("bnel v0,zero,0x44");
  5257.          *(__s0 + 16) = __v1 + 1 << 16 | 5;
  5258.         _t21 =  *((intOrPtr*)(__s1));
  5259.         _t24 = _t21 + 1;
  5260.          *((intOrPtr*)(__s1)) = _t24;
  5261.         if(_t24 == 1) {
  5262.             _t21 = _t21 + 2;
  5263.             _t24 = 1;
  5264.              *((intOrPtr*)(__s1)) = _t21;
  5265.         }
  5266.          *((intOrPtr*)(__s0 + 20)) = __s0;
  5267.          *((intOrPtr*)(__s0 + 24)) = _t24;
  5268.         _t16 = L003211A8(_t21);
  5269.     }
  5270.     asm("ld ra,32(sp)");
  5271.     asm("ld s1,16(sp)");
  5272.     asm("ld s0,0(sp)");
  5273.     return _t16;
  5274. }
  5275.  
  5276. L0031E358(
  5277.     _unknown_ __a0                         // r4
  5278. )
  5279. {
  5280.     __a0 = __a0;
  5281.      *((intOrPtr*)(__a0 + 24)) = 0;
  5282.      *(__a0 + 16) =  *(__a0 + 16) & -65536;
  5283.     return 0xfffffffffffffffe;
  5284. }
  5285.  
  5286. L0031E6D0(
  5287.     _unknown_ __v1,                        // r3
  5288.     _unknown_ __a0,                        // r4
  5289.     intOrPtr __s0,                         // r16
  5290.     intOrPtr __s1,                         // r17
  5291.     signed int __s2,                       // r18
  5292.     intOrPtr __s3,                         // r19
  5293.     _unknown_ __flags                      // r33
  5294. )
  5295. {
  5296.     intOrPtr _v104;                        // _cfa_ffffff98
  5297.     intOrPtr _v108;                        // _cfa_ffffff94
  5298.     intOrPtr _t30;                         // _t30
  5299.     _unknown_ _t42;                        // _t42
  5300.     _unknown_ _t44;                        // _t44
  5301.  
  5302.     __s3 = __s3;
  5303.     __s2 = __s2;
  5304.     __s1 = __s1;
  5305.     __s0 = __s0;
  5306.     asm("sd s1,48(sp)");
  5307.     asm("sd s3,80(sp)");
  5308.     asm("daddu s1,a0,zero");
  5309.     asm("sd s2,64(sp)");
  5310.     asm("sd s0,32(sp)");
  5311.     asm("daddu s3,a1,zero");
  5312.     asm("sd ra,96(sp)");
  5313.     asm("daddu s2,a2,zero");
  5314.      *((intOrPtr*)(__s1 + 16)) = 0;
  5315.     _t40 = 0x3df700;
  5316.      *((intOrPtr*)(__s1 + 36)) = 0;
  5317.     L0031E2B0(__v1, 0x3df700, __s1);
  5318.     asm("daddu s0,v0,zero");
  5319.     _t25 = -1;
  5320.     if(__s0 != 0) {
  5321.          *((intOrPtr*)(__s1)) = __s0;
  5322.          *((intOrPtr*)(__s1 + 4)) =  *((intOrPtr*)(__s0 + 24));
  5323.          *((intOrPtr*)(__s0 + 32)) = __s3;
  5324.          *((intOrPtr*)(__s0 + 20)) = __s0;
  5325.          *((intOrPtr*)(__s0 + 28)) = __s1;
  5326.         if((__s2 & 1) != 0) {
  5327.              *((intOrPtr*)(__s1 + 8)) = -1;
  5328.             _t42 = 0xffffffff80000009;
  5329.             asm("daddu a1,s0,zero");
  5330.             asm("daddu a3,zero,zero");
  5331.             asm("daddu t0,zero,zero");
  5332.             _t25 = L0031DE90();
  5333.             if(0xffffffffffffffff == 0) {
  5334.                 L0031E358(_t42);
  5335.                 _t25 = -2;
  5336.             }
  5337.         } else {
  5338.             _v104 = 0;
  5339.             _v108 = 1;
  5340.             _t30 = L0031BE20(1);
  5341.              *((intOrPtr*)(__s1 + 8)) = _t30;
  5342.             if(_t30 >= 0) {
  5343.                 asm("daddu a1,s0,zero");
  5344.                 _t44 = 0xffffffff80000009;
  5345.                 asm("daddu a3,zero,zero");
  5346.                 asm("daddu t0,zero,zero");
  5347.                 if(L0031DE90() != 0) {
  5348.                     -2 = L0031BE30(L0031BE60(_t31));
  5349.                 } else {
  5350.                     L0031BE30(L0031E358(_t44));
  5351.                     _t25 = -2;
  5352.                 }
  5353.             } else {
  5354.                 L0031E358(0x3df700);
  5355.                 _t25 = -3;
  5356.             }
  5357.         }
  5358.     }
  5359.     asm("ld ra,96(sp)");
  5360.     asm("ld s3,80(sp)");
  5361.     asm("ld s2,64(sp)");
  5362.     asm("ld s1,48(sp)");
  5363.     asm("ld s0,32(sp)");
  5364.     return _t25;
  5365. }
  5366.  
  5367. L0031E8A0(
  5368.     _unknown_ __v1,                        // r3
  5369.     _unknown_ __a0,                        // r4
  5370.     signed int __a1,                       // r5
  5371.     intOrPtr __s0,                         // r16
  5372.     intOrPtr __s1,                         // r17
  5373.     signed int __s2,                       // r18
  5374.     intOrPtr __s3,                         // r19
  5375.     intOrPtr __s4,                         // r20
  5376.     _unknown_ __s5,                        // r21
  5377.     intOrPtr __s6,                         // r22
  5378.     intOrPtr __s7,                         // r23
  5379.     signed int __s8                        // r30
  5380. )
  5381. {
  5382.     intOrPtr _v0;                          // _cfa_0
  5383.     intOrPtr _t33;                         // _t33
  5384.     _unknown_ _t40;                        // _t40
  5385.     _unknown_ _t51;                        // _t51
  5386.     signed int _t52;                       // _t52
  5387.     intOrPtr _t54;                         // _t54
  5388.  
  5389.     __s8 = __s8;
  5390.     __s7 = __s7;
  5391.     __s6 = __s6;
  5392.     __s5 = __s5;
  5393.     __s4 = __s4;
  5394.     _t54 = __s3;
  5395.     __s2 = __s2;
  5396.     __s1 = __s1;
  5397.     __s0 = __s0;
  5398.     _t52 = __a1;
  5399.     asm("sd s1,48(sp)");
  5400.     asm("daddu s1,a0,zero");
  5401.     asm("sd s8,160(sp)");
  5402.     asm("sd s7,144(sp)");
  5403.     asm("sd s6,128(sp)");
  5404.     asm("daddu s8,a2,zero");
  5405.     asm("sd s5,112(sp)");
  5406.     asm("daddu s6,a1,zero");
  5407.     asm("sd s4,96(sp)");
  5408.     asm("daddu s5,a3,zero");
  5409.     asm("sd s3,80(sp)");
  5410.     asm("daddu s4,t1,zero");
  5411.     asm("sd s2,64(sp)");
  5412.     asm("daddu s3,t2,zero");
  5413.     asm("sd s0,32(sp)");
  5414.     asm("daddu s2,t0,zero");
  5415.     asm("sd ra,176(sp)");
  5416.     asm("daddu s7,t3,zero");
  5417.     L0031E2B0(__v1, 0x3df700, __s1);
  5418.     asm("daddu s0,v0,zero");
  5419.     _t33 = -1;
  5420.     if(__s0 == 0) {
  5421. L15:
  5422.         asm("ld ra,176(sp)");
  5423.         asm("ld s8,160(sp)");
  5424.         asm("ld s7,144(sp)");
  5425.         asm("ld s6,128(sp)");
  5426.         asm("ld s5,112(sp)");
  5427.         asm("ld s4,96(sp)");
  5428.         asm("ld s3,80(sp)");
  5429.         asm("ld s2,64(sp)");
  5430.         asm("ld s1,48(sp)");
  5431.         asm("ld s0,32(sp)");
  5432.         return _t33;
  5433.     }
  5434.     _t49 = __s8 & 2;
  5435.      *((intOrPtr*)(__s1 + 32)) = _v0;
  5436.      *((intOrPtr*)(__s1)) = __s0;
  5437.      *((intOrPtr*)(__s1 + 4)) =  *((intOrPtr*)(__s0 + 24));
  5438.      *((intOrPtr*)(__s1 + 28)) = __s7;
  5439.      *((intOrPtr*)(__s0 + 32)) = __s6;
  5440.      *((intOrPtr*)(__s0 + 36)) = __s2;
  5441.      *((intOrPtr*)(__s0 + 40)) = __s4;
  5442.      *((intOrPtr*)(__s0 + 44)) = __s3;
  5443.      *((intOrPtr*)(__s0 + 20)) = __s0;
  5444.      *((intOrPtr*)(__s0 + 28)) = __s1;
  5445.      *((intOrPtr*)(__s0 + 52)) =  *((intOrPtr*)(__s1 + 36));
  5446.     if((__s8 & 2) != 0) {
  5447. L8:
  5448. L9:
  5449.         asm("beql v0,zero,0x54");
  5450.         if(__s7 != 0) {
  5451.              *((intOrPtr*)(__s0 + 48)) = 1;
  5452.         } else {
  5453.              *((intOrPtr*)(__s0 + 48)) = 0;
  5454.         }
  5455.         asm("daddu a3,s5,zero");
  5456.          *((intOrPtr*)(__s1 + 8)) = -1;
  5457.         asm("daddu t1,s2,zero");
  5458.         _t51 = 0xffffffff8000000a;
  5459.         asm("daddu a1,s0,zero");
  5460.         _t33 = L0031DE90();
  5461.         if(_t33 == 0) {
  5462.             L0031E358(_t51);
  5463.             _t33 = -2;
  5464.         }
  5465.         goto L15;
  5466.     }
  5467.     _t40 = __s3 < __s2;
  5468.     if(__s5 != __s4) {
  5469.         if(__s2 > 0) {
  5470.             _t40 = L0031E038(_t40, _t49, _t52);
  5471.         }
  5472.         if(_t54 > 0) {
  5473.             L0031E038(_t40, _t49, _t52);
  5474.         }
  5475.         goto L8;
  5476.     }
  5477.     asm("daddu a1,s3,zero");
  5478.     asm("daddu a0,s5,zero");
  5479.     L0031E038(_t40, _t49, __s2 * (_t40 == 0) | _t52 * (_t40 != 0));
  5480.     goto L9;
  5481. }
  5482.  
  5483. L0031EAE8(
  5484.     _unknown_ __flags                      // r33
  5485. )
  5486. {
  5487.     intOrPtr _v44;                         // _cfa_ffffffd4
  5488.     intOrPtr _v56;                         // _cfa_ffffffc8
  5489.     intOrPtr _v60;                         // _cfa_ffffffc4
  5490.     intOrPtr _t9;                          // _t9
  5491.  
  5492.     asm("sd s0,32(sp)");
  5493.     __s0 = "ScreenCapture";
  5494.     asm("sd ra,48(sp)");
  5495.     _t9 =  *((intOrPtr*)(__s0 + -13032));
  5496.     if(_t9 == -1) {
  5497.         _v44 = 0;
  5498.         _v60 = 1;
  5499.         asm("daddu a0,sp,zero");
  5500.         _v56 = 1;
  5501.          *((intOrPtr*)(__s0 + -13032)) = L0031BE20(1);
  5502.         _t9 = L0031BE20(_t11);
  5503.          *((intOrPtr*)("ScreenCapture" + -13028)) = _t9;
  5504.         asm("ld ra,48(sp)");
  5505.     }
  5506.     asm("ld s0,32(sp)");
  5507.     return _t9;
  5508. }
  5509.  
  5510. L0031EB48(
  5511.     _unknown_ __flags                      // r33
  5512. )
  5513. {
  5514.     _unknown_ _t13;                        // _t13
  5515.     _unknown_ _t20;                        // _t20
  5516.  
  5517.     asm("sd s1,16(sp)");
  5518.     asm("sd s0,0(sp)");
  5519.     asm("sd ra,32(sp)");
  5520.     L0031BE60(L0031EAE8(__flags));
  5521.     _t20 = 0x3e0c80;
  5522.     _t12 = _t20 + 512 < _t20;
  5523.     if(_t20 + 512 < _t20) {
  5524.         _t13 = L0031BE40(_t12);
  5525.         asm("daddu v0,zero,zero");
  5526.     } else {
  5527.         asm("bnel v0,zero,0x1c");
  5528.          *((intOrPtr*)(_t20 + 0x14)) = 268435456;
  5529.         _t13 = L0031BE40( *((intOrPtr*)(_t20 + 4)));
  5530.     }
  5531.     asm("ld ra,32(sp)");
  5532.     asm("ld s1,16(sp)");
  5533.     asm("ld s0,0(sp)");
  5534.     return _t13;
  5535. }
  5536.  
  5537. L0031EBD0(
  5538.     _unknown_ __s0,                        // r16
  5539.     _unknown_ __flags                      // r33
  5540. )
  5541. {
  5542.     _unknown_ _t11;                        // _t11
  5543.     _unknown_ _t15;                        // _t15
  5544.  
  5545.     _t15 = __s0;
  5546.     asm("sd s0,0(sp)");
  5547.     asm("sd s1,16(sp)");
  5548.     asm("daddu s0,a0,zero");
  5549.     asm("sd ra,32(sp)");
  5550.     L0031BE60(L0031EAE8(__flags));
  5551.     if(_t15 < 32) {
  5552.         _t11 = L0031BE40(0x3e0c80);
  5553.         asm("daddu v0,s0,zero");
  5554.     } else {
  5555.         _t11 = L0031BE40(4063232);
  5556.     }
  5557.     asm("ld ra,32(sp)");
  5558.     asm("ld s1,16(sp)");
  5559.     asm("ld s0,0(sp)");
  5560.     return _t11;
  5561. }
  5562.  
  5563. L0031EFE8(
  5564.     _unknown_ __flags                      // r33
  5565. )
  5566. {
  5567.     intOrPtr _v44;                         // _cfa_ffffffd4
  5568.     intOrPtr _v56;                         // _cfa_ffffffc8
  5569.     intOrPtr _v60;                         // _cfa_ffffffc4
  5570.     intOrPtr _t8;                          // _t8
  5571.  
  5572.     asm("sd s0,32(sp)");
  5573.     __s0 = "ScreenCapture";
  5574.     asm("sd ra,48(sp)");
  5575.     _t8 =  *((intOrPtr*)(__s0 + -13036));
  5576.     if(_t8 == -1) {
  5577.         _v44 = 0;
  5578.         _v60 = 1;
  5579.         asm("daddu a0,sp,zero");
  5580.         _v56 = 1;
  5581.         _t8 = L0031BE20(1);
  5582.          *((intOrPtr*)(__s0 + -13036)) = _t8;
  5583.         asm("ld ra,48(sp)");
  5584.     }
  5585.     asm("ld s0,32(sp)");
  5586.     return _t8;
  5587. }
  5588.  
  5589. L0031F038()
  5590. {
  5591.     _unknown_ _t4;                         // _t4
  5592.  
  5593.     asm("sd ra,0(sp)");
  5594.     L0031EFE8(__flags);
  5595.     _t4 = L0031BE60("ScreenCapture");
  5596.     asm("ld ra,0(sp)");
  5597.     asm("daddu v0,zero,zero");
  5598.     return _t4;
  5599. }
  5600.  
  5601. L0031F068()
  5602. {
  5603.     asm("syscall");
  5604.     return "ScreenCapture";
  5605. }
  5606.  
  5607. L0031F0A8(
  5608.     signed int __v1,                       // r3
  5609.     _unknown_ __a0,                        // r4
  5610.     _unknown_ __a1,                        // r5
  5611.     _unknown_ __a2,                        // r6
  5612.     _unknown_ __s0,                        // r16
  5613.     _unknown_ __s1,                        // r17
  5614.     _unknown_ __s2,                        // r18
  5615.     _unknown_ __s3,                        // r19
  5616.     _unknown_ __s4,                        // r20
  5617.     _unknown_ __s5,                        // r21
  5618.     _unknown_ __s6,                        // r22
  5619.     _unknown_ __s7,                        // r23
  5620.     _unknown_ __s8,                        // r30
  5621.     _unknown_ __flags                      // r33
  5622. )
  5623. {
  5624.     signed int _v112;                      // _cfa_ffffff90
  5625.     intOrPtr _v128;                        // _cfa_ffffff80
  5626.     _unknown_ _t27;                        // _t27
  5627.     signed int _t29;                       // _t29
  5628.     _unknown_ _t31;                        // _t31
  5629.     _unknown_ _t42;                        // _t42
  5630.     intOrPtr _t43;                         // _t43
  5631.     signed int _t47;                       // _t47
  5632.     _unknown_ _t55;                        // _t55
  5633.     signed int _t79;                       // _t79
  5634.     _unknown_ _t80;                        // _t80
  5635.     _unknown_ _t81;                        // _t81
  5636.     _unknown_ _t84;                        // _t84
  5637.     _unknown_ _t85;                        // _t85
  5638.     char* _t90;                            // _t90
  5639.  
  5640.     __s8 = __s8;
  5641.     __s7 = __s7;
  5642.     __s6 = __s6;
  5643.     __s5 = __s5;
  5644.     _t85 = __s2;
  5645.     _t40 = __v1;
  5646.     asm("daddu a0,zero,zero");
  5647.     asm("sd s0,32(sp)");
  5648.     asm("sd s1,48(sp)");
  5649.     asm("sd ra,112(sp)");
  5650.     _t83 = 0x3e0f00;
  5651.     asm("sd s4,96(sp)");
  5652.     asm("sd s3,80(sp)");
  5653.     L0031E0E8(__v1, __a0, __a1, __a2, 4063232, __s3, __flags);
  5654.      *((intOrPtr*)(0x3e0f00)) = 0;
  5655.      *((intOrPtr*)(0x3e0f04)) = 0;
  5656.     L00321160(__v1);
  5657.     asm("daddu s0,v0,zero");
  5658.     L0031DD00(0xffffffff80000011, 0x31ec40, 0x3e0ec0);
  5659.     asm("daddu a2,s1,zero");
  5660.     _t53 = 0xffffffff80000013;
  5661.     _t27 = L0031DD00(0xffffffff80000013, 0x31f078, 0x3e0ec0);
  5662.     _t3 = 0x3e0000;
  5663.     _t93 = 0x3e0000;
  5664.     if(_t3 == 0) {
  5665. L4:
  5666.         _t79 = 0x3e0e80;
  5667.         __flags = _t79;
  5668. L5:
  5669.         asm("daddu a0,s0,zero");
  5670.         L0031E6D0(_t40, 0xffffffff80000013, _t79, 0x3e0f00, _t85, 4063232, 0x3e0000);
  5671.         _t29 = -1;
  5672.         if(-1 < 0) {
  5673. L15:
  5674.             asm("ld ra,112(sp)");
  5675.             asm("ld s4,96(sp)");
  5676.             asm("ld s3,80(sp)");
  5677.             asm("ld s2,64(sp)");
  5678.             asm("ld s1,48(sp)");
  5679.             asm("ld s0,32(sp)");
  5680.             return _t29;
  5681.         }
  5682.         _t7 =  *((intOrPtr*)(_t79 + 36));
  5683.         _t31 = 1048576;
  5684.         _t97 = _t7;
  5685.         if(_t7 == 0) {
  5686.             _t40 = -1;
  5687.             __flags = -1;
  5688.             do {
  5689.                 _t31 = _t31 + -1;
  5690.                 _t4 = _t31 - _t40;
  5691.                 __flags = _t4;
  5692.                 __flags = _t4;
  5693.             } while(_t4 != 0);
  5694.             goto L4;
  5695.         }
  5696.         _t90 = "ScreenCapture";
  5697.         L0031BE60(L0031EAE8(_t97));
  5698.         _t42 = 0x3e0c80;
  5699.         _t55 = 0x3e0200;
  5700.         _t34 = _t55 < 4063232;
  5701.         if(_t55 < 4063232) {
  5702.             _t84 = 4063232;
  5703.             _t80 = 4063232;
  5704. L12:
  5705.             _t81 = _t80 + 960;
  5706.             L0031BE40(_t34);
  5707.             _t43 = _t84 + 1024;
  5708.              *((intOrPtr*)(0x3df740)) = _t43;
  5709.              *((intOrPtr*)(0x3df744)) = _t43 + 1088;
  5710.             asm("daddu a2,zero,zero");
  5711.             _v128 = 0;
  5712.             asm("daddu t1,s0,zero");
  5713.             if(L0031E8A0(_t43 + 1088, 0x3e0e80, 255, _t81, _t84, 4063232, 4063232, _t90, __s5, __s6, __s7, __s8) >= 0) {
  5714.                 _t29 = _t81 + 4 | 536870912;
  5715.                 asm("lwl a0,3(v1)");
  5716.                 asm("lwr a0,0(v1)");
  5717.                 asm("swl a0,3(t0)");
  5718.                 asm("swr a0,0(t0)");
  5719.                 asm("lwl v1,3(v0)");
  5720.                 asm("lwr v1,0(v0)");
  5721.                 asm("swl v1,19(sp)");
  5722.                 asm("swr v1,16(sp)");
  5723.                  *((intOrPtr*)("ScreenCapture" + -13044)) = 1;
  5724.                 asm("daddu v0,zero,zero");
  5725.                 _t47 = _v112 ^ 2;
  5726.                 __flags = _t47;
  5727.                  *((intOrPtr*)("ScreenCapture" + -13040)) = _t47 < 1;
  5728.             } else {
  5729.                 _t29 = 0xfffffffffffeffff;
  5730.             }
  5731.             goto L15;
  5732.         }
  5733.         _t84 = 4063232;
  5734.         _t80 = 4063232;
  5735.         do {
  5736.              *((intOrPtr*)(_t42 + 4)) = 0;
  5737.             _t42 = _t42 + 16;
  5738.             _t34 = _t55 < _t42;
  5739.         } while(_t55 < _t42);
  5740.         goto L12;
  5741.     }
  5742.     _t79 = 0x3e0e80;
  5743.     L003211A8(_t27);
  5744.     goto L5;
  5745. }
  5746.  
  5747. L0031F2B0(
  5748.     signed int __a1,                       // r5
  5749.     _unknown_ __a2                         // r6
  5750. )
  5751. {
  5752.     _unknown_ _t7;                         // _t7
  5753.     signed int _t10;                       // _t10
  5754.  
  5755.     asm("sd s3,48(sp)");
  5756.     asm("sd s1,16(sp)");
  5757.     asm("sd s2,32(sp)");
  5758.     asm("sd ra,64(sp)");
  5759.     asm("daddu s2,zero,zero");
  5760.     asm("sd s0,0(sp)");
  5761.     asm("daddu a0,s1,zero");
  5762.     asm("daddu a1,s3,zero");
  5763.     _t7 = L00311B08(__a0, __a1, 4, __t0, __t2);
  5764.     __s0 = "ScreenCapture";
  5765.     if(_t7 != 0) {
  5766.         asm("daddu a0,s1,zero");
  5767.         _t7 = L00311B08(__a0,  *((intOrPtr*)(__s0 + -13024)), 4, __t0, __t2);
  5768.         _t10 =  *((intOrPtr*)(__s0 + -13024));
  5769.         if(_t7 != 0) {
  5770.             asm("daddu a0,s3,zero");
  5771.             _t7 = L00311B08(__a0, _t10, 4, __t0, __t2);
  5772.         }
  5773.     }
  5774.     asm("daddu v0,s2,zero");
  5775.     asm("ld ra,64(sp)");
  5776.     asm("ld s3,48(sp)");
  5777.     asm("ld s2,32(sp)");
  5778.     asm("ld s1,16(sp)");
  5779.     asm("ld s0,0(sp)");
  5780.     return _t7;
  5781. }
  5782.  
  5783. L0031F378(
  5784.     _unknown_ __v1,                        // r3
  5785.     _unknown_ __a0,                        // r4
  5786.     _unknown_ __a2,                        // r6
  5787.     _unknown_ __t0,                        // r8
  5788.     _unknown_ __s0,                        // r16
  5789.     _unknown_ __s1,                        // r17
  5790.     _unknown_ __s2,                        // r18
  5791.     _unknown_ __s3,                        // r19
  5792.     _unknown_ __s4,                        // r20
  5793.     _unknown_ __s5,                        // r21
  5794.     _unknown_ __s6,                        // r22
  5795.     _unknown_ __s7,                        // r23
  5796.     _unknown_ __flags                      // r33
  5797. )
  5798. {
  5799.     _unknown_ _t12;                        // _t12
  5800.     _unknown_ _t20;                        // _t20
  5801.  
  5802.     __s7 = __s7;
  5803.     __s6 = __s6;
  5804.     __s5 = __s5;
  5805.     __s4 = __s4;
  5806.     __s3 = __s3;
  5807.     __s2 = __s2;
  5808.     __s0 = __s0;
  5809.     __t0 = __t0;
  5810.     __a2 = __a2;
  5811.     __a0 = __a0;
  5812.     asm("sd s0,64(sp)");
  5813.     asm("sd s7,176(sp)");
  5814.     asm("daddu s0,a0,zero");
  5815.     asm("sd s8,192(sp)");
  5816.     asm("daddu s7,a1,zero");
  5817.     asm("sd s1,80(sp)");
  5818.     asm("daddu a0,zero,zero");
  5819.     asm("sd ra,208(sp)");
  5820.     __s8 = 4063232;
  5821.     asm("sd s6,160(sp)");
  5822.     _t20 = 0x3df780;
  5823.     asm("sd s5,144(sp)");
  5824.     asm("sd s4,128(sp)");
  5825.     asm("sd s3,112(sp)");
  5826.     asm("sd s2,96(sp)");
  5827.     asm("sd a2,288(sp)");
  5828.     asm("sd a3,296(sp)");
  5829.     asm("sd t0,304(sp)");
  5830.     asm("sd t1,312(sp)");
  5831.     asm("sd t2,320(sp)");
  5832.     L0031F038();
  5833.     _t3 =  *((intOrPtr*)( ?_? ("ScreenCapture") + -13044));
  5834.     _t23 = _t3;
  5835.     if(_t3 == 0) {
  5836.         L0031F0A8("ScreenCapture", __a0, __a1, __a2, __s0, _t20, __s2, __s3, __s4, __s5, __s6, __s7, 4063232, _t23);
  5837.     }
  5838.     if(L0031F2B0(__a1, __a2) == 0) {
  5839.         L0031EB48(__flags);
  5840.         asm("daddu s3,v0,zero");
  5841.         asm("bnel s3,zero,0x18");
  5842.         L0031F068();
  5843.         _t12 = -19;
  5844.     } else {
  5845.         L0031F068();
  5846.         _t12 = 0xfffffffffffefffc;
  5847.     }
  5848.     asm("ld ra,208(sp)");
  5849.     asm("ld s8,192(sp)");
  5850.     asm("ld s7,176(sp)");
  5851.     asm("ld s6,160(sp)");
  5852.     asm("ld s5,144(sp)");
  5853.     asm("ld s4,128(sp)");
  5854.     asm("ld s3,112(sp)");
  5855.     asm("ld s2,96(sp)");
  5856.     asm("ld s1,80(sp)");
  5857.     asm("ld s0,64(sp)");
  5858.     return _t12;
  5859. }
  5860.  
  5861. L0031F600(
  5862.     _unknown_ __s0,                        // r16
  5863.     _unknown_ __flags                      // r33
  5864. )
  5865. {
  5866.     _unknown_ _t12;                        // _t12
  5867.  
  5868.     __s0 = __s0;
  5869.     asm("sd s4,128(sp)");
  5870.     asm("sd s2,96(sp)");
  5871.     asm("sd s0,64(sp)");
  5872.     asm("sd ra,144(sp)");
  5873.     asm("sd s3,112(sp)");
  5874.     L0031EBD0(__s0, __flags);
  5875.     asm("daddu s0,v0,zero");
  5876.     L0031F038();
  5877.     if( *((intOrPtr*)("ScreenCapture" + -13044)) != 0) {
  5878.         _t4 = __s0;
  5879.         _t4 = _t4;
  5880.         if(_t4 != 0) {
  5881.             asm("bnel v0,zero,0x18");
  5882.         }
  5883.         L0031F068();
  5884.         _t12 = -9;
  5885.     } else {
  5886.         L0031F068();
  5887.         _t12 = -1;
  5888.     }
  5889.     asm("ld ra,144(sp)");
  5890.     asm("ld s4,128(sp)");
  5891.     asm("ld s3,112(sp)");
  5892.     asm("ld s2,96(sp)");
  5893.     asm("ld s1,80(sp)");
  5894.     asm("ld s0,64(sp)");
  5895.     return _t12;
  5896. }
  5897.  
  5898. L0031F9B8(
  5899.     _unknown_ __s0,                        // r16
  5900.     _unknown_ __flags                      // r33
  5901. )
  5902. {
  5903.     _unknown_ _t12;                        // _t12
  5904.  
  5905.     __s0 = __s0;
  5906.     asm("sd s7,176(sp)");
  5907.     asm("sd s6,160(sp)");
  5908.     asm("daddu s7,a2,zero");
  5909.     asm("sd s4,128(sp)");
  5910.     asm("daddu s6,a1,zero");
  5911.     asm("sd s1,80(sp)");
  5912.     asm("sd s0,64(sp)");
  5913.     asm("sd ra,208(sp)");
  5914.     asm("sd s8,192(sp)");
  5915.     asm("sd s5,144(sp)");
  5916.     asm("sd s3,112(sp)");
  5917.     L0031EBD0(__s0, __flags);
  5918.     asm("daddu s0,v0,zero");
  5919.     L0031F038();
  5920.     if( *((intOrPtr*)("ScreenCapture" + -13044)) != 0) {
  5921.         _t4 = __s0;
  5922.         _t4 = _t4;
  5923.         if(_t4 != 0) {
  5924.             asm("bnel s3,zero,0x18");
  5925.         }
  5926.         L0031F068();
  5927.         _t12 = -9;
  5928.     } else {
  5929.         L0031F068();
  5930.         _t12 = -1;
  5931.     }
  5932.     asm("ld ra,208(sp)");
  5933.     asm("ld s8,192(sp)");
  5934.     asm("ld s7,176(sp)");
  5935.     asm("ld s6,160(sp)");
  5936.     asm("ld s5,144(sp)");
  5937.     asm("ld s4,128(sp)");
  5938.     asm("ld s3,112(sp)");
  5939.     asm("ld s2,96(sp)");
  5940.     asm("ld s1,80(sp)");
  5941.     asm("ld s0,64(sp)");
  5942.     return _t12;
  5943. }
  5944.  
  5945. L00320448(
  5946.     _unknown_ __s0,                        // r16
  5947.     _unknown_ __s1,                        // r17
  5948.     _unknown_ __s2,                        // r18
  5949.     _unknown_ __flags                      // r33
  5950. )
  5951. {
  5952.     intOrPtr _t4;                          // _t4
  5953.  
  5954.     asm("sd s2,48(sp)");
  5955.     asm("sd ra,64(sp)");
  5956.     _t4 =  *((intOrPtr*)( ?_? ("ScreenCapture") + -13016));
  5957.     asm("sd s1,32(sp)");
  5958.     _t16 = _t4;
  5959.     if(_t4 >= 0) {
  5960.         asm("daddu v0,zero,zero");
  5961.     } else {
  5962.         asm("daddu a0,s0,zero");
  5963.         L0031E6D0(__v1, __a0, 0x3e1300, 4063232, "ScreenCapture", __s3, _t16);
  5964.         asm("bgezl v0,0x10");
  5965.         _t4 = -1;
  5966.     }
  5967.     asm("ld ra,64(sp)");
  5968.     asm("ld s2,48(sp)");
  5969.     asm("ld s1,32(sp)");
  5970.     asm("ld s0,16(sp)");
  5971.     return _t4;
  5972. }
  5973.  
  5974. L00320548(
  5975.     signed int __a1,                       // r5
  5976.     _unknown_ __a2                         // r6
  5977. )
  5978. {
  5979.     _unknown_ _t7;                         // _t7
  5980.     signed int _t10;                       // _t10
  5981.  
  5982.     asm("sd s3,48(sp)");
  5983.     asm("sd s1,16(sp)");
  5984.     asm("sd s2,32(sp)");
  5985.     asm("sd ra,64(sp)");
  5986.     asm("daddu s2,zero,zero");
  5987.     asm("sd s0,0(sp)");
  5988.     asm("daddu a0,s1,zero");
  5989.     asm("daddu a1,s3,zero");
  5990.     _t7 = L00311B08(__a0, __a1, 4, __t0, __t2);
  5991.     __s0 = "ScreenCapture";
  5992.     if(_t7 != 0) {
  5993.         asm("daddu a0,s1,zero");
  5994.         _t7 = L00311B08(__a0,  *((intOrPtr*)(__s0 + -13012)), 4, __t0, __t2);
  5995.         _t10 =  *((intOrPtr*)(__s0 + -13012));
  5996.         if(_t7 != 0) {
  5997.             asm("daddu a0,s3,zero");
  5998.             _t7 = L00311B08(__a0, _t10, 4, __t0, __t2);
  5999.         }
  6000.     }
  6001.     asm("daddu v0,s2,zero");
  6002.     asm("ld ra,64(sp)");
  6003.     asm("ld s3,48(sp)");
  6004.     asm("ld s2,32(sp)");
  6005.     asm("ld s1,16(sp)");
  6006.     asm("ld s0,0(sp)");
  6007.     return _t7;
  6008. }
  6009.  
  6010. L003205E8(
  6011.     _unknown_ __a2,                        // r6
  6012.     _unknown_ __flags                      // r33
  6013. )
  6014. {
  6015.     _unknown_ _t1;                         // _t1
  6016.     _unknown_ _t2;                         // _t2
  6017.  
  6018.     __a2 = __a2;
  6019.     asm("sd s4,80(sp)");
  6020.     asm("sd s3,64(sp)");
  6021.     asm("daddu s4,a3,zero");
  6022.     asm("sd s2,48(sp)");
  6023.     asm("daddu s3,t0,zero");
  6024.     asm("sd s1,32(sp)");
  6025.     asm("daddu s2,a1,zero");
  6026.     asm("sd s0,16(sp)");
  6027.     asm("daddu s1,a0,zero");
  6028.     asm("sd ra,112(sp)");
  6029.     asm("daddu s0,a2,zero");
  6030.     _t1 = L00320448(__s0, __s1, __s2, __flags);
  6031.     _t2 = -65536;
  6032.     if(_t1 >= 0) {
  6033.         L00320548(__a1, __a2);
  6034.         asm("beql v0,zero,0x14");
  6035.         _t2 = 0xfffffffffffefffc;
  6036.     }
  6037.     asm("ld ra,112(sp)");
  6038.     asm("ld s5,96(sp)");
  6039.     asm("ld s4,80(sp)");
  6040.     asm("ld s3,64(sp)");
  6041.     asm("ld s2,48(sp)");
  6042.     asm("ld s1,32(sp)");
  6043.     asm("ld s0,16(sp)");
  6044.     return _t2;
  6045. }
  6046.  
  6047. L00320810()
  6048. {
  6049.     asm("daddu t0,zero,zero");
  6050.     asm("sd ra,16(sp)");
  6051.     __v0 = L003205E8(__a2, __flags);
  6052.     asm("ld ra,16(sp)");
  6053.     return __v0;
  6054. }
  6055.  
  6056. L00320B68(
  6057.     _unknown_ __v0                         // r2
  6058. )
  6059. {
  6060.     __v0 = __v0;
  6061.     asm("syscall");
  6062.     return __v0;
  6063. }
  6064.  
  6065. L00320BB0(
  6066.     _unknown_ __v0                         // r2
  6067. )
  6068. {
  6069.     __v0 = __v0;
  6070.     asm("syscall");
  6071.     return __v0;
  6072. }
  6073.  
  6074. L00320BC0(
  6075.     _unknown_ __v0                         // r2
  6076. )
  6077. {
  6078.     __v0 = __v0;
  6079.     asm("syscall");
  6080.     return __v0;
  6081. }
  6082.  
  6083. L00320C98(
  6084.     _unknown_ __v0                         // r2
  6085. )
  6086. {
  6087.     __v0 = __v0;
  6088.     asm("syscall");
  6089.     return __v0;
  6090. }
  6091.  
  6092. L00320CE8(
  6093.     signed int __t9,                       // r25
  6094.     _unknown_ __flags                      // r33
  6095. )
  6096. {
  6097.     _unknown_ _t58;                        // _t58
  6098.     _unknown_ _t63;                        // _t63
  6099.     _unknown_ _t66;                        // _t66
  6100.     _unknown_ _t67;                        // _t67
  6101.     _unknown_ _t120;                       // _t120
  6102.     intOrPtr _t121;                        // _t121
  6103.     intOrPtr _t124;                        // _t124
  6104.     _unknown_ _t125;                       // _t125
  6105.     _unknown_ _t126;                       // _t126
  6106.     _unknown_ _t127;                       // _t127
  6107.     signed int _t128;                      // _t128
  6108.     signed int _t129;                      // _t129
  6109.  
  6110.     _t128 = __t9;
  6111.     asm("sd s2,32(sp)");
  6112.     asm("sd s1,16(sp)");
  6113.     __s2 = "ScreenCapture";
  6114.     asm("sd s0,0(sp)");
  6115.     asm("sd ra,48(sp)");
  6116.     asm("daddu a2,a1,zero");
  6117.     asm("daddu t0,a3,zero");
  6118.     L0031D958(_t58);
  6119.     asm(".long 0x40803000");
  6120.     asm(".long 0x40f");
  6121.     _t124 =  *((intOrPtr*)(__s2 + -11424));
  6122.     _t60 = _t124 >= 49;
  6123.     if(_t124 >= 49) {
  6124.         L0031D958(_t60);
  6125.         L00321720(1);
  6126.     }
  6127.     _t61 = _t124 >= _t128;
  6128.     if(_t124 >= _t128) {
  6129.         asm("daddu a0,t9,zero");
  6130.         L00320C98(_t61);
  6131.         _t128 = _t128 + 1;
  6132.         asm("bnel v0,zero,0xffffffe0");
  6133.     }
  6134.     _t125 = _t128 +  *((intOrPtr*)(__s2 + 0xffffffffffffd364));
  6135.     _t63 = _t125 < _t128;
  6136.     if(_t125 >= 49) {
  6137.         L0031D958(_t63);
  6138.         L00321720(1);
  6139.         _t63 = _t125 < _t128;
  6140.     }
  6141.     if(_t63 != 0) {
  6142.         asm("daddu a0,t9,zero");
  6143.         L00320C98(_t63);
  6144.         _t128 = _t128 + 1;
  6145.         asm("bnel v0,zero,0xffffffe0");
  6146.     }
  6147.     _t120 = __s2 + -11424;
  6148.      *(_t120 + 12) = _t128;
  6149.     asm(".long 0x40993000");
  6150.     asm(".long 0x40f");
  6151.     asm("blezl v0,0x68");
  6152.     asm("daddu s0,t9,zero");
  6153.     _t126 = _t128 +  *((intOrPtr*)(_t120 + 8));
  6154.     _t66 = _t126 < _t128;
  6155.     if(_t126 >= 49) {
  6156.         L0031D958(_t66);
  6157.         L00321720(1);
  6158.         _t66 = _t126 < _t128;
  6159.     }
  6160.     _t121 =  *((intOrPtr*)(_t120 + 24));
  6161.     if(_t66 != 0) {
  6162.         asm("daddu a0,t9,zero");
  6163.         _t121 = _t121 + 16;
  6164.         L00320C98(_t66);
  6165.         _t128 = _t128 + 1;
  6166.         asm("bnel v0,zero,0xffffffe0");
  6167.     }
  6168.     asm("daddu s0,t9,zero");
  6169.     _t67 = _t121 < 48;
  6170.     _t129 = _t128 << 13;
  6171.     if(_t67 != 0) {
  6172.         _t68 = -536870912;
  6173.         _t127 = _t129 + -536870912;
  6174.         do {
  6175.             asm("daddu a0,s0,zero");
  6176.             asm("daddu a2,s1,zero");
  6177.             asm("daddu a1,zero,zero");
  6178.             asm("daddu a3,zero,zero");
  6179.             asm("daddu t0,zero,zero");
  6180.             _t121 = _t121 + 1;
  6181.             L00320C98(_t68);
  6182.             _t68 = _t121 < 48;
  6183.             _t127 = _t127 + 8192;
  6184.         } while(_t121 < 48);
  6185.     }
  6186.     asm("ld ra,48(sp)");
  6187.     asm("daddu v0,t9,zero");
  6188.     asm("ld s2,32(sp)");
  6189.     asm("ld s1,16(sp)");
  6190.     asm("ld s0,0(sp)");
  6191.     return _t67;
  6192. }
  6193.  
  6194. L00321160(
  6195.     signed int __v1                        // r3
  6196. )
  6197. {
  6198.     asm(".long 0x40036000");
  6199.     __v0 = 65536;
  6200.     if((__v1 & 65536) == 0) {
  6201.         asm("daddu a0,zero,zero");
  6202.         return 65536;
  6203.     } else {
  6204.         do {
  6205.             asm(".long 0x42000039");
  6206.             asm(".long 0x40f");
  6207.             asm(".long 0x40026000");
  6208.             __v0 = __v0 & 65536;
  6209.         } while(__v0 != 0);
  6210.         return __v0;
  6211.     }
  6212. }
  6213.  
  6214. L003211A8(
  6215.     signed int __v0                        // r2
  6216. )
  6217. {
  6218.     asm(".long 0x40026000");
  6219.     asm(".long 0x42000038");
  6220.     return (__v0 & 65536) < 0;
  6221. }
  6222.  
  6223. L003211C0(
  6224.     _unknown_ __flags                      // r33
  6225. )
  6226. {
  6227.     intOrPtr _v40;                         // _cfa_ffffffd8
  6228.     intOrPtr _v44;                         // _cfa_ffffffd4
  6229.     _unknown_ _v48;                        // _cfa_ffffffd0
  6230.     intOrPtr _v72;                         // _cfa_ffffffb8
  6231.     intOrPtr _v76;                         // _cfa_ffffffb4
  6232.     intOrPtr _t9;                          // _t9
  6233.  
  6234.     asm("sd ra,64(sp)");
  6235.     asm("daddu a0,sp,zero");
  6236.     _v40 = 1;
  6237.     _v76 = 1;
  6238.     _v72 = 1;
  6239.     _v44 = 1;
  6240.      *((intOrPtr*)("ScreenCapture" + -11368)) = L0031BE20(1);
  6241.     _t9 = L0031BE20(_t8);
  6242.     asm("ld ra,64(sp)");
  6243.      *((intOrPtr*)("ScreenCapture" + -11364)) = _t9;
  6244.     return _t9;
  6245. }
  6246.  
  6247. L00321280(
  6248.     _unknown_ __v0                         // r2
  6249. )
  6250. {
  6251.     __v0 = __v0;
  6252.     asm("syscall");
  6253.     return __v0;
  6254. }
  6255.  
  6256. L00321298(
  6257.     _unknown_ __s2,                        // r18
  6258.     _unknown_ __s3,                        // r19
  6259.     _unknown_ __flags                      // r33
  6260. )
  6261. {
  6262.     _unknown_ _t17;                        // _t17
  6263.     _unknown_ _t18;                        // _t18
  6264.     _unknown_ _t19;                        // _t19
  6265.     _unknown_ _t39;                        // _t39
  6266.  
  6267.     __s3 = __s3;
  6268.     __s2 = __s2;
  6269.     asm("sd s5,80(sp)");
  6270.     asm("sd s4,64(sp)");
  6271.     asm("sd s3,48(sp)");
  6272.     asm("sd s2,32(sp)");
  6273.     asm("sd s1,16(sp)");
  6274.     asm("sd s0,0(sp)");
  6275.     asm("sd ra,112(sp)");
  6276.     asm("sd s6,96(sp)");
  6277.     _t17 = L00321280(L00321398(L00321398("ScreenCapture")));
  6278.     asm("daddu s3,v0,zero");
  6279.     _t18 = L00321280(_t17);
  6280.     __s1 = __s3 + -524;
  6281.     asm("daddu s2,v0,zero");
  6282.     _t39 = __s2 + -360;
  6283.     __s6 =  ?_? ("ScreenCapture");
  6284.     if(__s1 == _t39) {
  6285.          *((intOrPtr*)("ScreenCapture" + -11392)) = __s1;
  6286.     } else {
  6287.         _t19 = _t39 < __s1;
  6288.         do {
  6289.             if(_t19 == 0) {
  6290.                 L00321280(_t19);
  6291.                 asm("daddu s2,v0,zero");
  6292.                 _t39 = __s2 + -360;
  6293.             } else {
  6294.                 L00321280(_t19);
  6295.                 asm("daddu s3,v0,zero");
  6296.                 __s1 = __s3 + -524;
  6297.             }
  6298.             _t19 = _t39 < __s1;
  6299.         } while(__s1 != _t39);
  6300.          *((intOrPtr*)(__s6 + -11392)) = __s1;
  6301.     }
  6302.     asm("ld ra,112(sp)");
  6303.     asm("ld s6,96(sp)");
  6304.     asm("ld s5,80(sp)");
  6305.     asm("ld s4,64(sp)");
  6306.     asm("ld s3,48(sp)");
  6307.     asm("ld s2,32(sp)");
  6308.     asm("ld s1,16(sp)");
  6309.     asm("ld s0,0(sp)");
  6310.     return _t18;
  6311. }
  6312.  
  6313. L00321398(
  6314.     _unknown_ __v0                         // r2
  6315. )
  6316. {
  6317.     __v0 = __v0;
  6318.     asm("syscall");
  6319.     return __v0;
  6320. }
  6321.  
  6322. L003213A8(
  6323.     _unknown_ __a0,                        // r4
  6324.     _unknown_ __s2,                        // r18
  6325.     _unknown_ __s3,                        // r19
  6326.     _unknown_ __flags                      // r33
  6327. )
  6328. {
  6329.     _unknown_ _t32;                        // _t32
  6330.     intOrPtr _t35;                         // _t35
  6331.  
  6332.     _t57 = __flags;
  6333.     __s3 = __s3;
  6334.     __sp = __sp + -16;
  6335.     asm("sd ra,0(sp)");
  6336.     L003211C0(__flags);
  6337.     L00321298(__s2, __s3, _t57);
  6338.     L003217B8(_t57);
  6339.     L0031C9B8(_t57);
  6340.     L003214B8(_t57);
  6341.     asm("ld ra,0(sp)");
  6342.     __sp = __sp + 16;
  6343.     __sp = __sp + -64;
  6344.     asm("sd s2,32(sp)");
  6345.     asm("sd s1,16(sp)");
  6346.     asm("sd s0,0(sp)");
  6347.     asm("sd ra,48(sp)");
  6348.     _t32 = L00320BB0(L00320BC0(L00320BC0(L0031C0A0(L0031C0A0(L00320B68(L00320BC0("ScreenCapture")))))));
  6349.     asm("daddu a1,v0,zero");
  6350.     L00320BC0(_t32);
  6351.     asm("bnel v0,zero,0xffffffe4");
  6352.     _t35 = L00320BB0(4 < 8);
  6353.     asm("ld ra,48(sp)");
  6354.     asm("ld s2,32(sp)");
  6355.     asm("ld s1,16(sp)");
  6356.     asm("ld s0,0(sp)");
  6357.      *((intOrPtr*)("ScreenCapture" + -12120)) = _t35;
  6358.     __sp = __sp + 64;
  6359.     return _t35;
  6360. }
  6361.  
  6362. L003213E8(
  6363.     _unknown_ __v0                         // r2
  6364. )
  6365. {
  6366.     __v0 = __v0;
  6367.     asm("syscall");
  6368.     return __v0;
  6369. }
  6370.  
  6371. L003213F8(
  6372.     _unknown_ __v0                         // r2
  6373. )
  6374. {
  6375.     __v0 = __v0;
  6376.     asm("syscall");
  6377.     return __v0;
  6378. }
  6379.  
  6380. L00321440(
  6381.     _unknown_ __v0                         // r2
  6382. )
  6383. {
  6384.     __v0 = __v0;
  6385.     asm("syscall");
  6386.     return __v0;
  6387. }
  6388.  
  6389. L00321450(
  6390.     _unknown_ __flags                      // r33
  6391. )
  6392. {
  6393.     unsigned int _v44;                     // _cfa_ffffffd4
  6394.     signed int _v48;                       // _cfa_ffffffd0
  6395.     _unknown_ _t5;                         // _t5
  6396.  
  6397.     asm("sd s0,16(sp)");
  6398.     asm("sd ra,32(sp)");
  6399.     L0031BED0(_t5);
  6400.     asm("daddu a0,s0,zero");
  6401.     _v44 = _v48 & -65536 | 8192;
  6402.     L0031BEC0(L0031BED0(L0031BEC0(0xffffffffffff1fff)));
  6403.     asm("ld ra,32(sp)");
  6404.     asm("ld s0,16(sp)");
  6405.     return (_v44 >> 13 & 7) < 1;
  6406. }
  6407.  
  6408. L003214B8(
  6409.     _unknown_ __flags                      // r33
  6410. )
  6411. {
  6412.     _unknown_ _t15;                        // _t15
  6413.     _unknown_ _t22;                        // _t22
  6414.  
  6415.     asm("sd ra,48(sp)");
  6416.     asm("sd s2,32(sp)");
  6417.     asm("sd s1,16(sp)");
  6418.     _t15 = L00321450(__flags);
  6419.     _t16 =  ?_? ("ScreenCapture");
  6420.     if(_t15 != 0) {
  6421.         _t22 = L00321440(L003213E8(L0031C0A0(L0031C0A0(L003213F8(L003213E8("ScreenCapture"))))));
  6422.         asm("daddu a1,v0,zero");
  6423.         L003213E8(_t22);
  6424.         _t16 = 3 < 3;
  6425.         asm("bnel v0,zero,0xffffffe4");
  6426.     }
  6427.     asm("ld ra,48(sp)");
  6428.     asm("ld s2,32(sp)");
  6429.     asm("ld s1,16(sp)");
  6430.     asm("ld s0,0(sp)");
  6431.     return _t16;
  6432. }
  6433.  
  6434. L003216D0(
  6435.     signed int __t9,                       // r25
  6436.     _unknown_ __flags                      // r33
  6437. )
  6438. {
  6439.     _unknown_ _t2;                         // _t2
  6440.     _unknown_ _t4;                         // _t4
  6441.  
  6442.     __t9 = __t9;
  6443.     __sp = __sp + -16;
  6444.     asm("sd ra,0(sp)");
  6445.     _t1 = L0031C280(_t2) - 33554432;
  6446.     _t7 = _t1;
  6447.     if(_t1 != 0) {
  6448.         _t4 = L0031C290(_t3);
  6449.         asm("ld ra,0(sp)");
  6450.     } else {
  6451.         _t4 = L00320CE8(__t9, _t7);
  6452.     }
  6453.     __sp = __sp + 16;
  6454.     return _t4;
  6455. }
  6456.  
  6457. L00321720(
  6458.     _unknown_ __flags                      // r33
  6459. )
  6460. {
  6461.     __sp = __sp + -32;
  6462.     asm("sd s0,0(sp)");
  6463.     asm("sd ra,16(sp)");
  6464.     __v0 = L003216D0(__t9, __flags);
  6465.     asm("daddu a0,s0,zero");
  6466.     asm("ld ra,16(sp)");
  6467.     asm("ld s0,0(sp)");
  6468.     __sp = __sp + 32;
  6469.     asm("syscall");
  6470.     return __v0;
  6471. }
  6472.  
  6473. L00321750(
  6474.     _unknown_ __v0                         // r2
  6475. )
  6476. {
  6477.     __v0 = __v0;
  6478.     asm("syscall");
  6479.     return __v0;
  6480. }
  6481.  
  6482. L00321760(
  6483.     _unknown_ __v0                         // r2
  6484. )
  6485. {
  6486.     __v0 = __v0;
  6487.     asm("syscall");
  6488.     return __v0;
  6489. }
  6490.  
  6491. L003217A8(
  6492.     _unknown_ __v0                         // r2
  6493. )
  6494. {
  6495.     __v0 = __v0;
  6496.     asm("syscall");
  6497.     return __v0;
  6498. }
  6499.  
  6500. L003217B8(
  6501.     _unknown_ __flags                      // r33
  6502. )
  6503. {
  6504.     _unknown_ _t18;                        // _t18
  6505.     _unknown_ _t26;                        // _t26
  6506.  
  6507.     asm("sd ra,48(sp)");
  6508.     _t18 = 0x10001810;
  6509.     asm("sd s2,32(sp)");
  6510.     asm("sd s1,16(sp)");
  6511.     asm("sd s0,0(sp)");
  6512.     if(( *0x10000000 & 256) == 0) {
  6513.         _t26 = L003217A8(L00321750(L0031C0A0(L0031C0A0(L00321760(L00321760(L00321750("ScreenCapture")))))));
  6514.         asm("daddu a1,v0,zero");
  6515.         L00321750(_t26);
  6516.         _t18 = 3 < 8;
  6517.         asm("bnel v0,zero,0xffffffe4");
  6518.         asm("ld ra,48(sp)");
  6519.     }
  6520.     asm("ld s2,32(sp)");
  6521.     asm("ld s1,16(sp)");
  6522.     asm("ld s0,0(sp)");
  6523.     return _t18;
  6524. }
  6525.  
  6526. L00321890(
  6527.     signed int __a0,                       // r4
  6528.     intOrPtr __a1,                         // r5
  6529.     intOrPtr __a2,                         // r6
  6530.     _unknown_ __flags                      // r33
  6531. )
  6532. {
  6533.     intOrPtr _v20;                         // _cfa_ffffffec
  6534.     intOrPtr _v24;                         // _cfa_ffffffe8
  6535.     intOrPtr _v28;                         // _cfa_ffffffe4
  6536.     signed int _v32;                       // _cfa_ffffffe0
  6537.     _unknown_ _t8;                         // _t8
  6538.  
  6539.     __a2 = __a2;
  6540.     __a1 = __a1;
  6541.     __sp = __sp + -32;
  6542.     _v28 = __a1;
  6543.     _v32 = __a0 & -1;
  6544.     asm("daddu a1,sp,zero");
  6545.     asm("sd ra,16(sp)");
  6546.     _v24 = __a2;
  6547.     _v20 = 4063232;
  6548.     _t8 = L0031C250(0x203e25f0);
  6549.     asm("ld ra,16(sp)");
  6550.     __sp = __sp + 32;
  6551.     return _t8;
  6552. }
  6553.  
  6554. L003218E0(
  6555.     intOrPtr __a0,                         // r4
  6556.     signed int __a1,                       // r5
  6557.     _unknown_ __flags                      // r33
  6558. )
  6559. {
  6560.     signed int _v28;                       // _cfa_ffffffe4
  6561.     intOrPtr _v32;                         // _cfa_ffffffe0
  6562.     _unknown_ _t3;                         // _t3
  6563.     _unknown_ _t4;                         // _t4
  6564.  
  6565.     __sp = __sp + -32;
  6566.     _v32 = __a0;
  6567.     _v28 = __a1 << 24 >> 24;
  6568.     asm("sd ra,16(sp)");
  6569.     _t4 = L0031C250(_t3);
  6570.     asm("ld ra,16(sp)");
  6571.     __sp = __sp + 32;
  6572.     return _t4;
  6573. }
  6574.  
  6575. L00321910(
  6576.     intOrPtr __a0,                         // r4
  6577.     _unknown_ __flags                      // r33
  6578. )
  6579. {
  6580.     intOrPtr _v32;                         // _cfa_ffffffe0
  6581.     _unknown_ _t2;                         // _t2
  6582.     _unknown_ _t3;                         // _t3
  6583.  
  6584.     _v32 = __a0;
  6585.     asm("daddu a1,sp,zero");
  6586.     asm("sd ra,16(sp)");
  6587.     _t3 = L0031C250(_t2);
  6588.     asm("ld ra,16(sp)");
  6589.     return _t3;
  6590. }
  6591.  
  6592. L00321A98(
  6593.     signed int __s1                        // r17
  6594. )
  6595. {
  6596.     _unknown_ _t28;                        // _t28
  6597.     signed int _t33;                       // _t33
  6598.  
  6599.     _t33 = __s1;
  6600.     if( *((intOrPtr*)(0x3e2614)) != 0) {
  6601.         return;
  6602.     } else {
  6603.          *((intOrPtr*)(__v1 + 9748)) = __v0;
  6604.         __a3 = "ScreenCapture";
  6605.         __sp = __sp + -48;
  6606.         asm("sd ra,32(sp)");
  6607.         _t28 = __a3 + -7404;
  6608.         asm("sd s1,16(sp)");
  6609.         if( *((intOrPtr*)(__a3 + -7404)) == -1 &&  *((intOrPtr*)(_t28 + 4)) != 0) {
  6610.             asm("daddu a1,a2,zero");
  6611.             asm("daddiu v1,a1,#0x1");
  6612.             asm("daddu a2,v1,zero");
  6613.             asm("dsll32 v0,a2,#0");
  6614.             asm("dsra32 v0,v0,#0");
  6615.             asm("bnel v1,zero,0xffffffe4");
  6616.             asm("daddu a1,a2,zero");
  6617.         }
  6618.         asm("dsll32 s1,a1,#0");
  6619.         asm("dsra32 s1,s1,#0");
  6620.         if(_t33 != 0) {
  6621.              *((intOrPtr*)( *((intOrPtr*)((_t33 << 2) + "ScreenCapture" + -7404))))();
  6622.             asm("bnel s1,zero,0xfffffff4");
  6623.         }
  6624.         asm("ld ra,32(sp)");
  6625.         asm("ld s1,16(sp)");
  6626.         asm("ld s0,0(sp)");
  6627.         __sp = __sp + 48;
  6628.         return;
  6629.     }
  6630. }
  6631.  
  6632. L003229F8(
  6633.     _unknown_ __t0,                        // r8
  6634.     unsigned int __t1,                     // r9
  6635.     unsigned int __t3,                     // r11
  6636.     signed int __t4,                       // r12
  6637.     signed int __t6,                       // r14
  6638.     signed int __hi                        // r36
  6639. )
  6640. {
  6641.     signed int _t53;                       // _t53
  6642.     _unknown_ _t63;                        // _t63
  6643.     _unknown_ _t64;                        // _t64
  6644.     signed int _t70;                       // _t70
  6645.     _unknown_ _t110;                       // _t110
  6646.     signed int _t113;                      // _t113
  6647.     _unknown_ _t117;                       // _t117
  6648.     signed int _t120;                      // _t120
  6649.     _unknown_ _t121;                       // _t121
  6650.     _unknown_ _t130;                       // _t130
  6651.     signed int _t133;                      // _t133
  6652.     _unknown_ _t134;                       // _t134
  6653.     signed int _t155;                      // _t155
  6654.     signed int _t159;                      // _t159
  6655.     unsigned int _t160;                    // _t160
  6656.     signed int _t164;                      // _t164
  6657.     signed int _t165;                      // _t165
  6658.     signed int _t169;                      // _t169
  6659.     _unknown_ _t176;                       // _t176
  6660.     unsigned int _t182;                    // _t182
  6661.     signed int _t183;                      // _t183
  6662.  
  6663.     __hi = __hi;
  6664.     __t6 = __t6;
  6665.     __t4 = __t4;
  6666.     _t182 = __t3;
  6667.     __t1 = __t1;
  6668.     _t176 = __t0;
  6669.     asm("dsra32 t0,a1,#0");
  6670.     asm("dsra32 t3,a0,#0");
  6671.     asm("dsll32 t1,a1,#0");
  6672.     asm("dsra32 t1,t1,#0");
  6673.     asm("dsll32 t4,a0,#0");
  6674.     asm("dsra32 t4,t4,#0");
  6675.     __sp = __sp + -16;
  6676.     if(__t0 != 0) {
  6677.         _t53 = 0xffff;
  6678.         if(__t0 < __t3) {
  6679.             if(__t0 < _t53) {
  6680.             }
  6681.             asm("bnel a2,zero,0x28");
  6682.             _t53 = _t182 < _t176;
  6683.             if(_t53 == 0) {
  6684.                 _t53 = __t1 < __t4;
  6685.                 if(_t53 == 0) {
  6686.                 }
  6687.             }
  6688.         }
  6689. L42:
  6690.         asm("daddu t5,zero,zero");
  6691. L43:
  6692.         asm("dsll32 v1,a1,#0");
  6693.         asm("dsll32 v0,t5,#0");
  6694.         asm("dsrl32 t6,v1,#0");
  6695.         __sp = __sp + 16;
  6696.         return __t6 | _t53;
  6697.     }
  6698.     _t63 = 0xffff;
  6699.     if(__t1 < __t3) {
  6700.         _t64 = __t1 < _t63;
  6701.         if(__t1 == 0) {
  6702.             asm("beql t1,zero,0x8");
  6703.             asm("break");
  6704.             asm("divu v0,t0");
  6705.             asm("daddu t1,v0,zero");
  6706.             _t64 = __t1 < 0xffff;
  6707.         }
  6708.         if(_t64 != 0) {
  6709.             _t155 = 16 * (16711680 == 0) | 24 * (__t1 < 0xffffff);
  6710.         } else {
  6711.             _t155 = __t1 < 256 ? 0 : 8;
  6712.         }
  6713.         _t164 = 32 - ( *((__t1 >> _t155) + 0x38c5b8) & 255) + _t155;
  6714.         _t169 = 32 - _t164;
  6715.         if(_t164 != 0) {
  6716.             _t70 = __t4 >> 32;
  6717.             __t1 = __t1 << _t164;
  6718.             __t4 = __t4 << _t164;
  6719.             _t183 = _t182 << _t164 | _t70;
  6720.             asm("divu a3,t0");
  6721.             asm("daddu a1,t0,zero");
  6722.             asm("beql a1,zero,0x8");
  6723.             asm("break");
  6724.             asm("daddu t5,t2,zero");
  6725.             asm("daddu a3,v0,zero");
  6726.             asm("dsll32 v1,v1,#0");
  6727.             asm("dsll v1,v1,#16");
  6728.             asm("dsra32 v1,v1,#0");
  6729.             asm(".long 0xea3018");
  6730.             asm("beql v0,zero,0x34");
  6731.             _t110 = (__hi | _t183 >> 16) - _t164 + __t1;
  6732.             _t169 = (_t182 >> _t169) + -1;
  6733.             if(__t1 >= _t110) {
  6734.                 asm("beql v0,zero,0x18");
  6735.                 _t169 = _t169 + -1;
  6736.                 _t110 = _t110 - _t164 + __t1;
  6737.             }
  6738.             asm("beql a1,zero,0x8");
  6739.             asm("break");
  6740.             asm("divu v1,a1");
  6741.             asm("daddu a1,v0,zero");
  6742.             asm("dsll32 v1,v1,#0");
  6743.             asm("dsll v1,v1,#16");
  6744.             asm("dsra32 v1,v1,#0");
  6745.             asm(".long 0xad3018");
  6746.             _t113 = __hi | _t183 & -1;
  6747.             if(_t164 < _t113) {
  6748. L27:
  6749.                 asm("dsll v0,v0,#16");
  6750.                 asm("dsra32 v0,v0,#0");
  6751.                 goto L28;
  6752.             } else {
  6753.                 _t113 = _t113 + __t1;
  6754.                 _t155 = _t155 + -1;
  6755.                 if(__t1 < _t113) {
  6756. L26:
  6757.                     asm("dsll32 v0,a3,#0");
  6758.                     goto L27;
  6759.                 }
  6760.                 if(_t164 < _t113) {
  6761.                     goto L27;
  6762.                 }
  6763.                 _t155 = _t155 + -1;
  6764.                 _t113 = _t113 + __t1;
  6765.                 goto L26;
  6766.             }
  6767.         } else {
  6768. L28:
  6769.             asm("daddu a1,t0,zero");
  6770.             asm("divu t3,a1");
  6771.             asm("daddu t0,t2,zero");
  6772.             asm("beql a1,zero,0x8");
  6773.             asm("break");
  6774.             asm("daddu a3,v0,zero");
  6775.             asm("dsll32 v1,v1,#0");
  6776.             asm("dsll v1,v1,#16");
  6777.             asm("dsra32 v1,v1,#0");
  6778.             asm(".long 0xe83018");
  6779.             asm("beql v0,zero,0x30");
  6780.             _t117 = (__hi | __t4 >> 16) - _t164 + __t1;
  6781.             if(__t1 >= _t117) {
  6782.                 asm("beql v0,zero,0x14");
  6783.                 _t117 = _t117 - _t164 + __t1;
  6784.             }
  6785.             asm("beql a1,zero,0x8");
  6786.             asm("break");
  6787.             asm("divu v1,a1");
  6788.             asm("daddu a1,v0,zero");
  6789.             asm("dsll32 v1,v1,#0");
  6790.             asm("dsll v1,v1,#16");
  6791.             asm("dsra32 v1,v1,#0");
  6792.             asm(".long 0xa83018");
  6793.             _t120 = __hi | __t4 & -1;
  6794.             _t53 = _t164 < _t120;
  6795.             _t121 = _t120 + __t1;
  6796.             if(_t53 != 0) {
  6797.                 _t53 = __t1 < _t121;
  6798.                 _t155 = _t155 + -1;
  6799.                 if(_t53 == 0) {
  6800.                     _t53 = _t164 < _t121;
  6801.                     asm("bnel v0,zero,0x8");
  6802.                     _t155 = _t155 + -1;
  6803.                 }
  6804.             }
  6805.             asm("dsll32 v0,a3,#0");
  6806.             asm("dsll v0,v0,#16");
  6807.             asm("dsra32 v0,v0,#0");
  6808.             goto L43;
  6809.         }
  6810.     } else {
  6811.         if(__t1 < _t63) {
  6812.             _t159 = 16 * (16711680 == 0) | 24 * (__t1 < 0xffffff);
  6813.         } else {
  6814.             _t159 = __t1 < 256 ? 0 : 8;
  6815.         }
  6816.         _t165 = 32 - ( *((__t1 >> _t159) + 0x38c5b8) & 255) + _t159;
  6817.         if(_t165 != 0) {
  6818.             __t1 = __t1 << _t165;
  6819.             __t4 = __t4 << _t165;
  6820.         }
  6821.         _t160 = __t1 >> 16;
  6822.         asm("divu t3,a1");
  6823.         asm("beql a1,zero,0x8");
  6824.         asm("break");
  6825.         asm("daddu a3,v0,zero");
  6826.         asm("dsll32 v1,v1,#0");
  6827.         asm("dsll v1,v1,#16");
  6828.         asm("dsra32 v1,v1,#0");
  6829.         asm(".long 0xe83018");
  6830.         asm("beql v0,zero,0x34");
  6831.         _t130 = (__hi | __t4 >> 16) - _t165 + __t1;
  6832.         if(__t1 >= _t130) {
  6833.             asm("beql v0,zero,0x18");
  6834.             _t130 = _t130 - _t165 + __t1;
  6835.         }
  6836.         asm("beql a1,zero,0x8");
  6837.         asm("break");
  6838.         asm("divu v1,a1");
  6839.         asm("daddu a1,v0,zero");
  6840.         asm("dsll32 v1,v1,#0");
  6841.         asm("dsll v1,v1,#16");
  6842.         asm("dsra32 v1,v1,#0");
  6843.         asm(".long 0xa83018");
  6844.         _t133 = __hi | __t4 & -1;
  6845.         _t53 = _t165 < _t133;
  6846.         _t134 = _t133 + __t1;
  6847.         if(_t53 != 0) {
  6848.             _t53 = __t1 < _t134;
  6849.             _t160 = _t160 + -1;
  6850.             if(_t53 == 0) {
  6851.                 _t53 = _t165 < _t134;
  6852.                 asm("bnel v0,zero,0x8");
  6853.                 _t160 = _t160 + -1;
  6854.             }
  6855.         }
  6856.         asm("dsll32 v0,a3,#0");
  6857.         asm("dsll v0,v0,#16");
  6858.         asm("dsra32 v0,v0,#0");
  6859.         goto L42;
  6860.     }
  6861. }
  6862.  
  6863. L003229F8(
  6864.     _unknown_ __t0,                        // r8
  6865.     unsigned int __t1,                     // r9
  6866.     unsigned int __t3,                     // r11
  6867.     signed int __t4,                       // r12
  6868.     signed int __t6,                       // r14
  6869.     signed int __hi                        // r36
  6870. )
  6871. {
  6872.     signed int _t53;                       // _t53
  6873.     _unknown_ _t63;                        // _t63
  6874.     _unknown_ _t64;                        // _t64
  6875.     signed int _t70;                       // _t70
  6876.     _unknown_ _t110;                       // _t110
  6877.     signed int _t113;                      // _t113
  6878.     _unknown_ _t117;                       // _t117
  6879.     signed int _t120;                      // _t120
  6880.     _unknown_ _t121;                       // _t121
  6881.     _unknown_ _t130;                       // _t130
  6882.     signed int _t133;                      // _t133
  6883.     _unknown_ _t134;                       // _t134
  6884.     signed int _t155;                      // _t155
  6885.     signed int _t159;                      // _t159
  6886.     unsigned int _t160;                    // _t160
  6887.     signed int _t164;                      // _t164
  6888.     signed int _t165;                      // _t165
  6889.     signed int _t169;                      // _t169
  6890.     _unknown_ _t176;                       // _t176
  6891.     unsigned int _t182;                    // _t182
  6892.     signed int _t183;                      // _t183
  6893.  
  6894.     __hi = __hi;
  6895.     __t6 = __t6;
  6896.     __t4 = __t4;
  6897.     _t182 = __t3;
  6898.     __t1 = __t1;
  6899.     _t176 = __t0;
  6900.     asm("dsra32 t0,a1,#0");
  6901.     asm("dsra32 t3,a0,#0");
  6902.     asm("dsll32 t1,a1,#0");
  6903.     asm("dsra32 t1,t1,#0");
  6904.     asm("dsll32 t4,a0,#0");
  6905.     asm("dsra32 t4,t4,#0");
  6906.     __sp = __sp + -16;
  6907.     if(__t0 != 0) {
  6908.         _t53 = 0xffff;
  6909.         if(__t0 < __t3) {
  6910.             if(__t0 < _t53) {
  6911.             }
  6912.             asm("bnel a2,zero,0x28");
  6913.             _t53 = _t182 < _t176;
  6914.             if(_t53 == 0) {
  6915.                 _t53 = __t1 < __t4;
  6916.                 if(_t53 == 0) {
  6917.                 }
  6918.             }
  6919.         }
  6920. L42:
  6921.         asm("daddu t5,zero,zero");
  6922. L43:
  6923.         asm("dsll32 v1,a1,#0");
  6924.         asm("dsll32 v0,t5,#0");
  6925.         asm("dsrl32 t6,v1,#0");
  6926.         __sp = __sp + 16;
  6927.         return __t6 | _t53;
  6928.     }
  6929.     _t63 = 0xffff;
  6930.     if(__t1 < __t3) {
  6931.         _t64 = __t1 < _t63;
  6932.         if(__t1 == 0) {
  6933.             asm("beql t1,zero,0x8");
  6934.             asm("break");
  6935.             asm("divu v0,t0");
  6936.             asm("daddu t1,v0,zero");
  6937.             _t64 = __t1 < 0xffff;
  6938.         }
  6939.         if(_t64 != 0) {
  6940.             _t155 = 16 * (16711680 == 0) | 24 * (__t1 < 0xffffff);
  6941.         } else {
  6942.             _t155 = __t1 < 256 ? 0 : 8;
  6943.         }
  6944.         _t164 = 32 - ( *((__t1 >> _t155) + 0x38c5b8) & 255) + _t155;
  6945.         _t169 = 32 - _t164;
  6946.         if(_t164 != 0) {
  6947.             _t70 = __t4 >> 32;
  6948.             __t1 = __t1 << _t164;
  6949.             __t4 = __t4 << _t164;
  6950.             _t183 = _t182 << _t164 | _t70;
  6951.             asm("divu a3,t0");
  6952.             asm("daddu a1,t0,zero");
  6953.             asm("beql a1,zero,0x8");
  6954.             asm("break");
  6955.             asm("daddu t5,t2,zero");
  6956.             asm("daddu a3,v0,zero");
  6957.             asm("dsll32 v1,v1,#0");
  6958.             asm("dsll v1,v1,#16");
  6959.             asm("dsra32 v1,v1,#0");
  6960.             asm(".long 0xea3018");
  6961.             asm("beql v0,zero,0x34");
  6962.             _t110 = (__hi | _t183 >> 16) - _t164 + __t1;
  6963.             _t169 = (_t182 >> _t169) + -1;
  6964.             if(__t1 >= _t110) {
  6965.                 asm("beql v0,zero,0x18");
  6966.                 _t169 = _t169 + -1;
  6967.                 _t110 = _t110 - _t164 + __t1;
  6968.             }
  6969.             asm("beql a1,zero,0x8");
  6970.             asm("break");
  6971.             asm("divu v1,a1");
  6972.             asm("daddu a1,v0,zero");
  6973.             asm("dsll32 v1,v1,#0");
  6974.             asm("dsll v1,v1,#16");
  6975.             asm("dsra32 v1,v1,#0");
  6976.             asm(".long 0xad3018");
  6977.             _t113 = __hi | _t183 & -1;
  6978.             if(_t164 < _t113) {
  6979. L27:
  6980.                 asm("dsll v0,v0,#16");
  6981.                 asm("dsra32 v0,v0,#0");
  6982.                 goto L28;
  6983.             } else {
  6984.                 _t113 = _t113 + __t1;
  6985.                 _t155 = _t155 + -1;
  6986.                 if(__t1 < _t113) {
  6987. L26:
  6988.                     asm("dsll32 v0,a3,#0");
  6989.                     goto L27;
  6990.                 }
  6991.                 if(_t164 < _t113) {
  6992.                     goto L27;
  6993.                 }
  6994.                 _t155 = _t155 + -1;
  6995.                 _t113 = _t113 + __t1;
  6996.                 goto L26;
  6997.             }
  6998.         } else {
  6999. L28:
  7000.             asm("daddu a1,t0,zero");
  7001.             asm("divu t3,a1");
  7002.             asm("daddu t0,t2,zero");
  7003.             asm("beql a1,zero,0x8");
  7004.             asm("break");
  7005.             asm("daddu a3,v0,zero");
  7006.             asm("dsll32 v1,v1,#0");
  7007.             asm("dsll v1,v1,#16");
  7008.             asm("dsra32 v1,v1,#0");
  7009.             asm(".long 0xe83018");
  7010.             asm("beql v0,zero,0x30");
  7011.             _t117 = (__hi | __t4 >> 16) - _t164 + __t1;
  7012.             if(__t1 >= _t117) {
  7013.                 asm("beql v0,zero,0x14");
  7014.                 _t117 = _t117 - _t164 + __t1;
  7015.             }
  7016.             asm("beql a1,zero,0x8");
  7017.             asm("break");
  7018.             asm("divu v1,a1");
  7019.             asm("daddu a1,v0,zero");
  7020.             asm("dsll32 v1,v1,#0");
  7021.             asm("dsll v1,v1,#16");
  7022.             asm("dsra32 v1,v1,#0");
  7023.             asm(".long 0xa83018");
  7024.             _t120 = __hi | __t4 & -1;
  7025.             _t53 = _t164 < _t120;
  7026.             _t121 = _t120 + __t1;
  7027.             if(_t53 != 0) {
  7028.                 _t53 = __t1 < _t121;
  7029.                 _t155 = _t155 + -1;
  7030.                 if(_t53 == 0) {
  7031.                     _t53 = _t164 < _t121;
  7032.                     asm("bnel v0,zero,0x8");
  7033.                     _t155 = _t155 + -1;
  7034.                 }
  7035.             }
  7036.             asm("dsll32 v0,a3,#0");
  7037.             asm("dsll v0,v0,#16");
  7038.             asm("dsra32 v0,v0,#0");
  7039.             goto L43;
  7040.         }
  7041.     } else {
  7042.         if(__t1 < _t63) {
  7043.             _t159 = 16 * (16711680 == 0) | 24 * (__t1 < 0xffffff);
  7044.         } else {
  7045.             _t159 = __t1 < 256 ? 0 : 8;
  7046.         }
  7047.         _t165 = 32 - ( *((__t1 >> _t159) + 0x38c5b8) & 255) + _t159;
  7048.         if(_t165 != 0) {
  7049.             __t1 = __t1 << _t165;
  7050.             __t4 = __t4 << _t165;
  7051.         }
  7052.         _t160 = __t1 >> 16;
  7053.         asm("divu t3,a1");
  7054.         asm("beql a1,zero,0x8");
  7055.         asm("break");
  7056.         asm("daddu a3,v0,zero");
  7057.         asm("dsll32 v1,v1,#0");
  7058.         asm("dsll v1,v1,#16");
  7059.         asm("dsra32 v1,v1,#0");
  7060.         asm(".long 0xe83018");
  7061.         asm("beql v0,zero,0x34");
  7062.         _t130 = (__hi | __t4 >> 16) - _t165 + __t1;
  7063.         if(__t1 >= _t130) {
  7064.             asm("beql v0,zero,0x18");
  7065.             _t130 = _t130 - _t165 + __t1;
  7066.         }
  7067.         asm("beql a1,zero,0x8");
  7068.         asm("break");
  7069.         asm("divu v1,a1");
  7070.         asm("daddu a1,v0,zero");
  7071.         asm("dsll32 v1,v1,#0");
  7072.         asm("dsll v1,v1,#16");
  7073.         asm("dsra32 v1,v1,#0");
  7074.         asm(".long 0xa83018");
  7075.         _t133 = __hi | __t4 & -1;
  7076.         _t53 = _t165 < _t133;
  7077.         _t134 = _t133 + __t1;
  7078.         if(_t53 != 0) {
  7079.             _t53 = __t1 < _t134;
  7080.             _t160 = _t160 + -1;
  7081.             if(_t53 == 0) {
  7082.                 _t53 = _t165 < _t134;
  7083.                 asm("bnel v0,zero,0x8");
  7084.                 _t160 = _t160 + -1;
  7085.             }
  7086.         }
  7087.         asm("dsll32 v0,a3,#0");
  7088.         asm("dsll v0,v0,#16");
  7089.         asm("dsra32 v0,v0,#0");
  7090.         goto L42;
  7091.     }
  7092. }
  7093.  
  7094. // Statistics:
  7095. //    2377 Register nodes
  7096. //    2546 Temporaries nodes
  7097. //     419 Casts
  7098. //    3912 Statements
  7099. //     140 Labels
  7100. //      84 Gotos
  7101. //     154 Blocks
  7102. //   15747 Nodes
  7103. //    1584 Assembly nodes
  7104. //     630 Unknown Types
  7105.  
  7106.  
  7107. Total time: 1 seconds.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement