Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement