Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* WARNING: Could not reconcile some variable overlaps */
- long gamedc(undefined8 param_1,ulong param_2,undefined8 *param_3,ulong *param_4)
- {
- uint uVar1;
- uint uVar2;
- uint uVar3;
- long lVar4;
- uint *puVar5;
- undefined8 *puVar6;
- uint uVar7;
- ulong uVar8;
- uint uVar9;
- long lVar10;
- ulong uVar11;
- uint uVar12;
- ulong uVar13;
- undefined8 uStack96;
- undefined8 uStack88;
- long lStack72;
- lVar4 = cRead_8(tpidr_el0);
- lStack72 = *(long *)(lVar4 + 0x28);
- uStack88 = param_3[1];
- uStack96 = *param_3;
- if ((char)uStack96 == '\0') {
- uVar8 = 0;
- LAB_00e83010:
- memset((long)&uStack96 + uVar8 + 1,0,uVar8 ^ 0xf);
- }
- else {
- uStack96._1_1_ = (char)((ulong)uStack96 >> 8);
- if (uStack96._1_1_ == '\0') {
- uVar8 = 1;
- goto LAB_00e83010;
- }
- uStack96._2_1_ = (char)((ulong)uStack96 >> 0x10);
- if (uStack96._2_1_ == '\0') {
- uVar8 = 2;
- goto LAB_00e83010;
- }
- uStack96._3_1_ = (char)((ulong)uStack96 >> 0x18);
- if (uStack96._3_1_ == '\0') {
- uVar8 = 3;
- goto LAB_00e83010;
- }
- uStack96._4_1_ = (char)((ulong)uStack96 >> 0x20);
- if (uStack96._4_1_ == '\0') {
- uVar8 = 4;
- goto LAB_00e83010;
- }
- uStack96._5_1_ = (char)((ulong)uStack96 >> 0x28);
- if (uStack96._5_1_ == '\0') {
- uVar8 = 5;
- goto LAB_00e83010;
- }
- uStack96._6_1_ = (char)((ulong)uStack96 >> 0x30);
- if (uStack96._6_1_ == '\0') {
- uVar8 = 6;
- goto LAB_00e83010;
- }
- uStack96._7_1_ = (char)((ulong)uStack96 >> 0x38);
- if (uStack96._7_1_ == '\0') {
- uVar8 = 7;
- goto LAB_00e83010;
- }
- if ((char)uStack88 == '\0') {
- uVar8 = 8;
- goto LAB_00e83010;
- }
- uStack88._1_1_ = (char)((ulong)uStack88 >> 8);
- if (uStack88._1_1_ == '\0') {
- uVar8 = 9;
- goto LAB_00e83010;
- }
- uStack88._2_1_ = (char)((ulong)uStack88 >> 0x10);
- if (uStack88._2_1_ == '\0') {
- uVar8 = 10;
- goto LAB_00e83010;
- }
- uStack88._3_1_ = (char)((ulong)uStack88 >> 0x18);
- if (uStack88._3_1_ == '\0') {
- uVar8 = 0xb;
- goto LAB_00e83010;
- }
- uStack88._4_1_ = (char)((ulong)uStack88 >> 0x20);
- if (uStack88._4_1_ == '\0') {
- uVar8 = 0xc;
- goto LAB_00e83010;
- }
- uStack88._5_1_ = (char)((ulong)uStack88 >> 0x28);
- if (uStack88._5_1_ == '\0') {
- uVar8 = 0xd;
- goto LAB_00e83010;
- }
- uStack88._6_1_ = (char)((ulong)uStack88 >> 0x30);
- if (uStack88._6_1_ == '\0') {
- uVar8 = 0xe;
- goto LAB_00e83010;
- }
- }
- if (param_2 != 0) {
- uVar8 = param_2 >> 2;
- if ((param_2 & 3) != 0) {
- uVar8 = uVar8 + 1;
- }
- puVar5 = (uint *)calloc(uVar8,4);
- if (puVar5 != (uint *)0x0) {
- memcpy(puVar5,param_1,param_2);
- puVar6 = (undefined8 *)calloc(4,4);
- if (puVar6 != (undefined8 *)0x0) {
- uVar12 = (uint)uVar8;
- uVar2 = uVar12 - 1;
- puVar6[1] = uStack88;
- *puVar6 = uStack96;
- if (uVar2 != 0) {
- uVar7 = 0;
- if (uVar12 != 0) {
- uVar7 = 0x34 / uVar12;
- }
- uVar7 = uVar7 * -0x61c88647 + 0xb54cda56;
- if (uVar7 != 0) {
- uVar9 = *puVar5;
- do {
- uVar3 = uVar7 >> 2 & 3;
- lVar10 = (ulong)(uVar12 - 2) << 2;
- uVar13 = (ulong)uVar2;
- do {
- uVar1 = *(uint *)((long)puVar5 + lVar10);
- uVar11 = uVar13 - 1;
- uVar9 = puVar5[uVar13] -
- ((uVar1 >> 5 ^ uVar9 << 2) + (uVar1 << 4 ^ uVar9 >> 3) ^
- (*(uint *)((long)puVar6 + (ulong)((uint)uVar13 & 3 ^ uVar3) * 4) ^ uVar1) +
- (uVar9 ^ uVar7));
- lVar10 = lVar10 + -4;
- puVar5[uVar13] = uVar9;
- uVar13 = uVar11;
- } while ((int)uVar11 != 0);
- uVar1 = puVar5[uVar2];
- uVar9 = *puVar5 - ((uVar1 >> 5 ^ uVar9 * 4) + (uVar1 << 4 ^ uVar9 >> 3) ^
- (*(uint *)((long)puVar6 + (ulong)uVar3 * 4) ^ uVar1) +
- (uVar9 ^ uVar7));
- uVar7 = uVar7 + 0x61c88647;
- *puVar5 = uVar9;
- } while (uVar7 != 0);
- }
- }
- uVar13 = (ulong)puVar5[uVar8 - 1];
- lVar10 = 0;
- if ((uVar8 * 4 - 7 <= uVar13) && (uVar13 <= uVar8 * 4 - 4)) {
- lVar10 = malloc(uVar13 + 1);
- memcpy(lVar10,puVar5,uVar13);
- *(undefined *)(lVar10 + uVar13) = 0;
- *param_4 = uVar13;
- }
- free(puVar5);
- free(puVar6);
- goto LAB_00e831b8;
- }
- free(puVar5);
- }
- }
- lVar10 = 0;
- LAB_00e831b8:
- if (*(long *)(lVar4 + 0x28) == lStack72) {
- return lVar10;
- }
- /* WARNING: Subroutine does not return */
- __stack_chk_fail();
- }
Advertisement
Add Comment
Please, Sign In to add comment