Gamebuster icon

Untitled

Gamebuster | PRO | 01/19/22 01:59:46 AM UTC | 0 ⭐ | 1653 👁️ | Never ⏰ | []
C |

5.71 KB

|

None

|

0 👍

/

0 👎

 
void zz_80024d90_(undefined4 param_1,undefined4 param_2,int *param_3)
 
{
  char cVar1;
  int *piVar2;
  char *pcVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  undefined4 uVar7;
  char *pcVar8;
  char *pcVar9;
  int *piVar10;
  int *piVar11;
  int *piVar12;
  int *piVar13;
  char *pcVar14;
  int iVar15;
  undefined8 uVar16;
  int local_58;
  int local_54;
  char local_50 [40];
  undefined4 local_28;
  undefined4 local_24;
  
  uVar16 = zz_80033960_();
  uVar5 = (undefined4)((ulonglong)uVar16 >> 0x20);
  pcVar8 = (char *)uVar16;
  zz_803f89c0_(uVar5,&local_54);
  iVar6 = zz_803f8e30_(local_50,local_54);
  if (iVar6 == 0) {
    printf(s_ghstchal:_couldn't_get_friend_in_80479255);
    uVar7 = 0;
  }
  else {
    uVar4 = countLeadingZeros(local_54 + 2);
    printf(s_ghstchal:_replay_from_%s_8047930e,local_50);
    uVar7 = 0;
    iVar6 = zz_803f8880_(uVar5,DAT_805a1ac4,0x10b04);
    if (iVar6 == 0) {
      printf(s_ghstchal:_can't_get_attachment_804792c1);
    }
    else {
      local_58 = 0x10af4;
      iVar6 = zz_80178210_(DAT_805a1ac0,&local_58,DAT_805a1ac4,0x10b04);
      if (iVar6 == 0) {
        printf(s_ghstchal:_can't_uncompress_804792a6);
      }
      else {
        if (((local_58 == 0x10af4) && (*DAT_805a1ac0 == 0x5265706c)) && (DAT_805a1ac0[1] == 0xd)) {
          iVar15 = DAT_805a1ac0[0x7e];
          iVar6 = zz_800193b0_();
          piVar2 = DAT_805a1ac0;
          if (iVar15 < iVar6) {
            if (pcVar8 != (char *)0x0) {
              pcVar9 = local_50;
              iVar6 = 0x18;
              pcVar3 = pcVar8;
              do {
                pcVar14 = pcVar3;
                cVar1 = *pcVar9;
                pcVar9 = pcVar9 + 1;
                *pcVar14 = cVar1;
                if (cVar1 == '\0') goto LAB_80024f0c;
                iVar6 = iVar6 + -1;
                pcVar3 = pcVar14 + 1;
              } while (0 < iVar6);
              *pcVar14 = '\0';
LAB_80024f0c:
              *(undefined4 *)(pcVar8 + 0x1c) = local_24;
              *(undefined4 *)(pcVar8 + 0x18) = local_28;
              *(int *)(pcVar8 + 100) = piVar2[0x7c];
              if ((uVar4 >> 5 != 0) && (iVar6 = zz_800176b0_(), -1 < iVar6)) {
                uVar7 = zz_800174d0_();
                zz_80176e60_(pcVar8,0x18,s_\ALT%s\ALT_804790d0,uVar7);
              }
              *(int *)(pcVar8 + 0x70) = piVar2[0x7e];
              *(int *)(pcVar8 + 0x74) = piVar2[0x7f];
              *(int *)(pcVar8 + 0x68) = piVar2[0x307];
              *(int *)(pcVar8 + 0x6c) = piVar2[0x309];
              *(int *)(pcVar8 + 0x78) = piVar2[0x42bc];
              FUN_80170e50(pcVar8 + 0x20,0x44,piVar2 + 2);
              zz_803f8b40_(uVar5,pcVar8 + 0x7c);
            }
            piVar2 = DAT_805a1ac0;
            if (param_3 != (int *)0x0) {
              piVar11 = DAT_805a1ac0 + 1;
              *param_3 = *DAT_805a1ac0;
              param_3[1] = piVar2[1];
              iVar6 = 8;
              piVar13 = param_3 + 1;
              do {
                piVar12 = piVar13;
                piVar10 = piVar11;
                iVar15 = piVar10[2];
                piVar12[1] = piVar10[1];
                piVar12[2] = iVar15;
                iVar6 = iVar6 + -1;
                piVar11 = piVar10 + 2;
                piVar13 = piVar12 + 2;
              } while (iVar6 != 0);
              piVar12[3] = piVar10[3];
              piVar13 = param_3 + 0x12;
              piVar11 = piVar2 + 0x12;
              iVar6 = 0x37;
              do {
                piVar10 = piVar11 + 1;
                piVar11 = piVar11 + 2;
                iVar15 = *piVar11;
                piVar13[1] = *piVar10;
                piVar13 = piVar13 + 2;
                *piVar13 = iVar15;
                iVar6 = iVar6 + -1;
              } while (iVar6 != 0);
              piVar13 = param_3 + 0x80;
              piVar11 = piVar2 + 0x80;
              iVar6 = 0x143;
              do {
                piVar10 = piVar11 + 1;
                piVar11 = piVar11 + 2;
                iVar15 = *piVar11;
                piVar13[1] = *piVar10;
                piVar13 = piVar13 + 2;
                *piVar13 = iVar15;
                iVar6 = iVar6 + -1;
              } while (iVar6 != 0);
              iVar6 = piVar2[0x307];
              param_3[0x308] = piVar2[0x308];
              param_3[0x307] = iVar6;
              param_3[0x309] = piVar2[0x309];
              iVar6 = 0x34;
              piVar11 = piVar2 + 0x309;
              piVar13 = param_3 + 0x309;
              do {
                piVar12 = piVar13;
                piVar10 = piVar11;
                iVar15 = piVar10[2];
                piVar12[1] = piVar10[1];
                piVar12[2] = iVar15;
                iVar6 = iVar6 + -1;
                piVar11 = piVar10 + 2;
                piVar13 = piVar12 + 2;
              } while (iVar6 != 0);
              piVar12[3] = piVar10[3];
              piVar13 = param_3 + 0x373;
              piVar11 = piVar2 + 0x373;
              param_3[0x373] = piVar2[0x373];
              iVar6 = 0x1fa4;
              do {
                piVar10 = piVar11 + 1;
                piVar11 = piVar11 + 2;
                iVar15 = *piVar11;
                piVar13[1] = *piVar10;
                piVar13 = piVar13 + 2;
                *piVar13 = iVar15;
                iVar6 = iVar6 + -1;
              } while (iVar6 != 0);
              param_3[0x42bc] = piVar2[0x42bc];
            }
            uVar7 = 1;
          }
          else {
            printf(s_ghstchal:_out_of_range_response_c_804792e0,iVar15);
          }
        }
        else {
          printf(s_ghstchal:_bad_version_80479290);
        }
      }
    }
  }
  zz_800339ac_(uVar7);
  return;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎