
/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

void __regparm3 chacha20_round(chacha20 *ctx)

{
  int iVar1;
  uint uVar2;
  uint32 uVar3;
  uint uVar4;
  uint32 uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint32 uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint32 uVar14;
  uint uVar15;
  uint32 uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint32 uVar21;
  int in_GS_OFFSET;
  uint32 local_b8;
  uint32 local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a8;
  uint local_a4;
  uint local_a0;
  uint32 local_9c;
  uint local_98;
  uint local_94;
  int local_78;
  uint32 copy [16];
  
  local_94 = ctx->state[2];
  uVar10 = ctx->state[0xc];
  uVar5 = ctx->state[4];
  uVar14 = ctx->state[9];
  local_ac = ctx->state[6];
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  local_9c = ctx->state[0];
  local_b0 = ctx->state[0xe];
  uVar3 = ctx->state[8];
  local_b8 = ctx->state[1];
  local_98 = ctx->state[5];
  uVar21 = ctx->state[0xd];
  local_b4 = ctx->state[10];
  uVar16 = ctx->state[3];
  local_a0 = ctx->state[7];
  local_a4 = ctx->state[0xf];
  local_78 = 10;
  local_a8 = ctx->state[0xb];
  do {
    uVar6 = uVar10 ^ local_9c + uVar5;
    uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;
    uVar2 = uVar3 + uVar7;
    uVar6 = uVar5 ^ uVar2;
    uVar6 = uVar6 << 0xc | uVar6 >> 0x14;
    uVar17 = local_9c + uVar5 + uVar6;
    uVar7 = uVar7 ^ uVar17;
    uVar8 = uVar7 << 8 | uVar7 >> 0x18;
    uVar2 = uVar2 + uVar8;
    uVar6 = uVar6 ^ uVar2;
    uVar4 = uVar6 << 7 | uVar6 >> 0x19;
    uVar6 = uVar21 ^ local_b8 + local_98;
    uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;
    uVar11 = uVar14 + uVar20;
    uVar6 = local_98 ^ uVar11;
    uVar7 = uVar6 << 0xc | uVar6 >> 0x14;
    uVar6 = local_b8 + local_98 + uVar7;
    uVar20 = uVar20 ^ uVar6;
    uVar20 = uVar20 << 8 | uVar20 >> 0x18;
    uVar11 = uVar11 + uVar20;
    uVar7 = uVar7 ^ uVar11;
    uVar9 = uVar7 << 7 | uVar7 >> 0x19;
    uVar7 = local_b0 ^ local_94 + local_ac;
    uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;
    uVar12 = local_b4 + uVar18;
    uVar7 = local_ac ^ uVar12;
    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;
    local_94 = local_94 + local_ac + uVar7;
    uVar18 = uVar18 ^ local_94;
    uVar19 = uVar18 << 8 | uVar18 >> 0x18;
    uVar12 = uVar19 + uVar12;
    uVar7 = uVar7 ^ uVar12;
    uVar18 = local_a4 ^ uVar16 + local_a0;
    uVar7 = uVar7 << 7 | uVar7 >> 0x19;
    uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;
    local_a8 = local_a8 + uVar13;
    uVar18 = local_a0 ^ local_a8;
    uVar18 = uVar18 << 0xc | uVar18 >> 0x14;
    uVar15 = uVar16 + local_a0 + uVar18;
    uVar13 = uVar13 ^ uVar15;
    uVar13 = uVar13 << 8 | uVar13 >> 0x18;
    local_a8 = local_a8 + uVar13;
    uVar18 = uVar18 ^ local_a8;
    uVar18 = uVar18 << 7 | uVar18 >> 0x19;
    uVar17 = uVar17 + uVar9;
    uVar13 = uVar13 ^ uVar17;
    uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;
    uVar12 = uVar12 + uVar13;
    uVar9 = uVar9 ^ uVar12;
    uVar9 = uVar9 << 0xc | uVar9 >> 0x14;
    local_9c = uVar17 + uVar9;
    uVar13 = uVar13 ^ local_9c;
    local_a4 = uVar13 << 8 | uVar13 >> 0x18;
    local_b4 = uVar12 + local_a4;
    uVar6 = uVar6 + uVar7;
    uVar9 = uVar9 ^ local_b4;
    local_98 = uVar9 << 7 | uVar9 >> 0x19;
    uVar8 = uVar8 ^ uVar6;
    uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;
    local_a8 = local_a8 + uVar9;
    uVar7 = uVar7 ^ local_a8;
    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;
    local_b8 = uVar6 + uVar7;
    uVar9 = uVar9 ^ local_b8;
    uVar10 = uVar9 << 8 | uVar9 >> 0x18;
    local_a8 = local_a8 + uVar10;
    uVar7 = uVar7 ^ local_a8;
    local_94 = local_94 + uVar18;
    local_ac = uVar7 << 7 | uVar7 >> 0x19;
    uVar20 = uVar20 ^ local_94;
    uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;
    uVar2 = uVar2 + uVar7;
    uVar18 = uVar18 ^ uVar2;
    uVar6 = uVar18 << 0xc | uVar18 >> 0x14;
    local_94 = local_94 + uVar6;
    uVar7 = uVar7 ^ local_94;
    uVar21 = uVar7 << 8 | uVar7 >> 0x18;
    uVar3 = uVar2 + uVar21;
    uVar6 = uVar6 ^ uVar3;
    local_a0 = uVar6 << 7 | uVar6 >> 0x19;
    uVar15 = uVar15 + uVar4;
    uVar19 = uVar19 ^ uVar15;
    uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;
    uVar11 = uVar11 + uVar7;
    uVar4 = uVar4 ^ uVar11;
    uVar6 = uVar4 << 0xc | uVar4 >> 0x14;
    uVar16 = uVar15 + uVar6;
    uVar7 = uVar7 ^ uVar16;
    local_b0 = uVar7 << 8 | uVar7 >> 0x18;
    uVar14 = uVar11 + local_b0;
    uVar6 = uVar6 ^ uVar14;
    uVar5 = uVar6 << 7 | uVar6 >> 0x19;
    local_78 = local_78 + -1;
  } while (local_78 != 0);
  copy[1] = local_b8 + ctx->state[1];
  copy[3] = uVar16 + ctx->state[3];
  copy[0] = local_9c + ctx->state[0];
  copy[2] = local_94 + ctx->state[2];
  copy[4] = uVar5 + ctx->state[4];
  copy[5] = local_98 + ctx->state[5];
  copy[6] = local_ac + ctx->state[6];
  copy[7] = local_a0 + ctx->state[7];
  copy[8] = uVar3 + ctx->state[8];
  copy[9] = uVar14 + ctx->state[9];
  copy[0xb] = local_a8 + ctx->state[0xb];
  copy[10] = local_b4 + ctx->state[10];
  copy[0xc] = uVar10 + ctx->state[0xc];
  copy[0xd] = uVar21 + ctx->state[0xd];
  copy[0xe] = local_b0 + ctx->state[0xe];
  copy[0xf] = local_a4 + ctx->state[0xf];
  *(uint32 *)ctx->current = copy[0];
  *(uint32 *)(ctx->current + 4) = copy[1];
  *(uint32 *)(ctx->current + 8) = copy[2];
  *(uint32 *)(ctx->current + 0xc) = copy[3];
  *(uint32 *)(ctx->current + 0x10) = copy[4];
  *(uint32 *)(ctx->current + 0x14) = copy[5];
  *(uint32 *)(ctx->current + 0x18) = copy[6];
  *(uint32 *)(ctx->current + 0x1c) = copy[7];
  *(uint32 *)(ctx->current + 0x20) = copy[8];
  *(uint32 *)(ctx->current + 0x24) = copy[9];
  *(uint32 *)(ctx->current + 0x28) = copy[10];
  *(uint32 *)(ctx->current + 0x2c) = copy[0xb];
  ctx->currentIndex = 0;
  *(uint32 *)(ctx->current + 0x30) = copy[0xc];
  *(uint32 *)(ctx->current + 0x34) = copy[0xd];
  *(uint32 *)(ctx->current + 0x38) = copy[0xe];
  *(uint32 *)(ctx->current + 0x3c) = copy[0xf];
  smemclr(copy,0x40);
  uVar10 = ctx->state[0xc] + 1;
  ctx->state[0xc] = uVar10;
  if (uVar10 == 0) {
    ctx->state[0xd] = ctx->state[0xd] + 1;
  }
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

void __regparm3 FUN_000653e0(uint *param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  int in_GS_OFFSET;
  uint local_b8;
  uint local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a8;
  uint local_a4;
  uint local_a0;
  uint local_9c;
  uint local_98;
  uint local_94;
  int local_78;
  uint local_60;
  uint local_5c;
  uint local_58;
  uint local_54;
  uint local_50;
  uint local_4c;
  uint local_48;
  uint local_44;
  uint local_40;
  uint local_3c;
  uint local_38;
  uint local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  uint local_24;
  int local_20;
  
  local_94 = param_1[2];
  local_30 = param_1[0xc];
  local_50 = param_1[4];
  local_3c = param_1[9];
  local_ac = param_1[6];
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_9c = *param_1;
  local_b0 = param_1[0xe];
  local_40 = param_1[8];
  local_b8 = param_1[1];
  local_98 = param_1[5];
  local_2c = param_1[0xd];
  local_b4 = param_1[10];
  local_54 = param_1[3];
  local_a0 = param_1[7];
  local_a4 = param_1[0xf];
  local_78 = 10;
  local_a8 = param_1[0xb];
  do {
    local_30 = local_30 ^ local_9c + local_50;
    uVar3 = local_30 << 0x10 | local_30 >> 0x10;
    local_40 = local_40 + uVar3;
    uVar1 = local_50 ^ local_40;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_9c = local_9c + local_50 + uVar1;
    uVar3 = uVar3 ^ local_9c;
    uVar4 = uVar3 << 8 | uVar3 >> 0x18;
    local_40 = local_40 + uVar4;
    uVar1 = uVar1 ^ local_40;
    uVar2 = uVar1 << 7 | uVar1 >> 0x19;
    local_2c = local_2c ^ local_b8 + local_98;
    uVar3 = local_2c << 0x10 | local_2c >> 0x10;
    local_3c = local_3c + uVar3;
    uVar1 = local_98 ^ local_3c;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_b8 = local_b8 + local_98 + uVar1;
    uVar3 = uVar3 ^ local_b8;
    uVar3 = uVar3 << 8 | uVar3 >> 0x18;
    local_3c = local_3c + uVar3;
    uVar1 = uVar1 ^ local_3c;
    uVar5 = uVar1 << 7 | uVar1 >> 0x19;
    local_b0 = local_b0 ^ local_94 + local_ac;
    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;
    local_b4 = local_b4 + uVar7;
    uVar1 = local_ac ^ local_b4;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_94 = local_94 + local_ac + uVar1;
    uVar7 = uVar7 ^ local_94;
    uVar8 = uVar7 << 8 | uVar7 >> 0x18;
    local_b4 = uVar8 + local_b4;
    uVar1 = uVar1 ^ local_b4;
    local_a4 = local_a4 ^ local_54 + local_a0;
    uVar1 = uVar1 << 7 | uVar1 >> 0x19;
    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;
    local_a8 = local_a8 + uVar6;
    uVar7 = local_a0 ^ local_a8;
    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;
    local_54 = local_54 + local_a0 + uVar7;
    uVar6 = uVar6 ^ local_54;
    uVar6 = uVar6 << 8 | uVar6 >> 0x18;
    local_a8 = local_a8 + uVar6;
    uVar7 = uVar7 ^ local_a8;
    uVar7 = uVar7 << 7 | uVar7 >> 0x19;
    local_9c = local_9c + uVar5;
    uVar6 = uVar6 ^ local_9c;
    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;
    local_b4 = local_b4 + uVar6;
    uVar5 = uVar5 ^ local_b4;
    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;
    local_9c = local_9c + uVar5;
    uVar6 = uVar6 ^ local_9c;
    local_a4 = uVar6 << 8 | uVar6 >> 0x18;
    local_b4 = local_b4 + local_a4;
    local_b8 = local_b8 + uVar1;
    uVar5 = uVar5 ^ local_b4;
    local_98 = uVar5 << 7 | uVar5 >> 0x19;
    uVar4 = uVar4 ^ local_b8;
    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;
    local_a8 = local_a8 + uVar5;
    uVar1 = uVar1 ^ local_a8;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_b8 = local_b8 + uVar1;
    uVar5 = uVar5 ^ local_b8;
    local_30 = uVar5 << 8 | uVar5 >> 0x18;
    local_a8 = local_a8 + local_30;
    uVar1 = uVar1 ^ local_a8;
    local_94 = local_94 + uVar7;
    local_ac = uVar1 << 7 | uVar1 >> 0x19;
    uVar3 = uVar3 ^ local_94;
    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;
    local_40 = local_40 + uVar3;
    uVar7 = uVar7 ^ local_40;
    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;
    local_94 = local_94 + uVar1;
    uVar3 = uVar3 ^ local_94;
    local_2c = uVar3 << 8 | uVar3 >> 0x18;
    local_40 = local_40 + local_2c;
    uVar1 = uVar1 ^ local_40;
    local_a0 = uVar1 << 7 | uVar1 >> 0x19;
    local_54 = local_54 + uVar2;
    uVar8 = uVar8 ^ local_54;
    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;
    local_3c = local_3c + uVar3;
    uVar2 = uVar2 ^ local_3c;
    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;
    local_54 = local_54 + uVar1;
    uVar3 = uVar3 ^ local_54;
    local_b0 = uVar3 << 8 | uVar3 >> 0x18;
    local_3c = local_3c + local_b0;
    uVar1 = uVar1 ^ local_3c;
    local_50 = uVar1 << 7 | uVar1 >> 0x19;
    local_78 = local_78 + -1;
  } while (local_78 != 0);
  local_5c = local_b8 + param_1[1];
  local_54 = local_54 + param_1[3];
  local_60 = local_9c + *param_1;
  local_58 = local_94 + param_1[2];
  local_50 = local_50 + param_1[4];
  local_4c = local_98 + param_1[5];
  local_48 = local_ac + param_1[6];
  local_44 = local_a0 + param_1[7];
  local_40 = local_40 + param_1[8];
  local_3c = local_3c + param_1[9];
  local_34 = local_a8 + param_1[0xb];
  local_38 = local_b4 + param_1[10];
  local_30 = local_30 + param_1[0xc];
  local_2c = local_2c + param_1[0xd];
  local_28 = local_b0 + param_1[0xe];
  local_24 = local_a4 + param_1[0xf];
  param_1[0x10] = local_60;
  param_1[0x11] = local_5c;
  param_1[0x12] = local_58;
  param_1[0x13] = local_54;
  param_1[0x14] = local_50;
  param_1[0x15] = local_4c;
  param_1[0x16] = local_48;
  param_1[0x17] = local_44;
  param_1[0x18] = local_40;
  param_1[0x19] = local_3c;
  param_1[0x1a] = local_38;
  param_1[0x1b] = local_34;
  param_1[0x20] = 0;
  param_1[0x1c] = local_30;
  param_1[0x1d] = local_2c;
  param_1[0x1e] = local_28;
  param_1[0x1f] = local_24;
  FUN_00032c20(&local_60,0x40);
  uVar1 = param_1[0xc];
  param_1[0xc] = uVar1 + 1;
  if (uVar1 + 1 == 0) {
    param_1[0xd] = param_1[0xd] + 1;
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000c60b0();
}


CALL 0x0001c655
ADD EDX,0xd536b
PUSH EBP
MOV EBP,EAX
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xac
MOV EDI,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + 0x30]
MOV ECX,dword ptr [EBP + 0x10]
MOV EBX,dword ptr [EBP + 0x24]
MOV dword ptr [ESP + 0x4c],EDX
MOV dword ptr [ESP + 0x48],EAX
MOV EDX,dword ptr [EBP + 0x18]
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x9c],EAX
XOR EAX,EAX
MOV EAX,dword ptr [EBP]
MOV dword ptr [ESP + 0x10],EDX
MOV EDX,dword ptr [EBP + 0x38]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [EBP + 0x20]
MOV dword ptr [ESP + 0xc],EDX
MOV EDX,EBP
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [EBP + 0x34]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EBP + 0x28]
MOV EBP,dword ptr [EBP + 0xc]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EDX + 0x1c]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EDX + 0x3c]
MOV dword ptr [ESP + 0x44],0xa
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EDX + 0x2c]
MOV EDX,ESI
MOV dword ptr [ESP + 0x28],EDI
MOV EDI,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x2c]
LEA ESI,[ESI]
MOV ESI,dword ptr [ESP + 0x20]
ADD ESI,ECX
XOR EDX,ESI
ROL EDX,0x10
ADD EAX,EDX
XOR ECX,EAX
ROL ECX,0xc
ADD ESI,ECX
XOR EDX,ESI
MOV dword ptr [ESP + 0x20],ESI
MOV ESI,dword ptr [ESP + 0x24]
ROL EDX,0x8
ADD EAX,EDX
MOV dword ptr [ESP + 0x2c],EDX
XOR ECX,EAX
MOV dword ptr [ESP + 0x30],EAX
ROL ECX,0x7
MOV dword ptr [ESP + 0x34],ECX
MOV ECX,dword ptr [ESP + 0x4]
ADD ECX,ESI
XOR EDI,ECX
ROL EDI,0x10
ADD EBX,EDI
XOR ESI,EBX
MOV EDX,ESI
MOV ESI,dword ptr [ESP + 0x28]
ROL EDX,0xc
LEA ECX,[ECX + EDX*0x1]
XOR EDI,ECX
MOV dword ptr [ESP + 0x4],ECX
MOV EAX,EDI
MOV EDI,dword ptr [ESP + 0x10]
ROL EAX,0x8
ADD ESI,EDI
ADD EBX,EAX
MOV dword ptr [ESP + 0x38],EAX
MOV ECX,ESI
MOV ESI,dword ptr [ESP + 0xc]
XOR EDX,EBX
MOV dword ptr [ESP + 0x3c],EBX
MOV EBX,dword ptr [ESP + 0x8]
ROL EDX,0x7
XOR ESI,ECX
ROL ESI,0x10
ADD EBX,ESI
XOR EDI,EBX
MOV EAX,EDI
ROL EAX,0xc
LEA EDI,[ECX + EAX*0x1]
MOV ECX,dword ptr [ESP + 0x1c]
XOR ESI,EDI
MOV dword ptr [ESP + 0xc],EDI
MOV EDI,dword ptr [ESP + 0x14]
ROL ESI,0x8
MOV dword ptr [ESP + 0x40],ESI
ADD ESI,EBX
MOV EBX,dword ptr [ESP + 0x18]
XOR EAX,ESI
ADD EBP,ECX
XOR EBX,EBP
ROL EAX,0x7
ROL EBX,0x10
ADD EDI,EBX
XOR ECX,EDI
ROL ECX,0xc
ADD EBP,ECX
XOR EBX,EBP
ROL EBX,0x8
ADD EDI,EBX
MOV dword ptr [ESP + 0x10],EDI
XOR ECX,EDI
MOV EDI,dword ptr [ESP + 0x20]
ROL ECX,0x7
ADD EDI,EDX
XOR EBX,EDI
ROL EBX,0x10
ADD ESI,EBX
XOR EDX,ESI
ROL EDX,0xc
ADD EDI,EDX
XOR EBX,EDI
MOV dword ptr [ESP + 0x20],EDI
MOV EDI,dword ptr [ESP + 0x4]
ROL EBX,0x8
ADD ESI,EBX
MOV dword ptr [ESP + 0x18],EBX
LEA EBX,[EDI + EAX*0x1]
MOV EDI,dword ptr [ESP + 0x10]
XOR EDX,ESI
MOV dword ptr [ESP + 0x8],ESI
ROL EDX,0x7
MOV dword ptr [ESP + 0x24],EDX
MOV EDX,dword ptr [ESP + 0x2c]
XOR EDX,EBX
ROL EDX,0x10
ADD EDI,EDX
XOR EAX,EDI
ROL EAX,0xc
ADD EBX,EAX
XOR EDX,EBX
MOV dword ptr [ESP + 0x4],EBX
ROL EDX,0x8
LEA EBX,[EDI + EDX*0x1]
MOV EDI,dword ptr [ESP + 0xc]
XOR EAX,EBX
MOV dword ptr [ESP + 0x14],EBX
MOV ESI,EAX
LEA EBX,[EDI + ECX*0x1]
ROL ESI,0x7
MOV dword ptr [ESP + 0x10],ESI
MOV EAX,dword ptr [ESP + 0x38]
XOR EAX,EBX
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x30]
ROL EDI,0x10
ADD EAX,EDI
XOR ECX,EAX
ROL ECX,0xc
LEA ESI,[EBX + ECX*0x1]
MOV EBX,dword ptr [ESP + 0x3c]
XOR EDI,ESI
MOV dword ptr [ESP + 0x28],ESI
MOV ESI,dword ptr [ESP + 0x40]
ROL EDI,0x8
ADD EAX,EDI
XOR ECX,EAX
ROL ECX,0x7
MOV dword ptr [ESP + 0x1c],ECX
MOV ECX,dword ptr [ESP + 0x34]
ADD EBP,ECX
XOR ESI,EBP
ROL ESI,0x10
ADD EBX,ESI
XOR ECX,EBX
ROL ECX,0xc
ADD EBP,ECX
XOR ESI,EBP
ROL ESI,0x8
ADD EBX,ESI
MOV dword ptr [ESP + 0xc],ESI
XOR ECX,EBX
ROL ECX,0x7
SUB dword ptr [ESP + 0x44],0x1
JNZ 0x00065488
MOV ESI,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x34],EDX
ADD EAX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x30],EDI
ADD EBP,dword ptr [ESI + 0xc]
MOV EDI,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x20],EAX
ADD EDX,dword ptr [ESI]
ADD EDI,dword ptr [ESI + 0x8]
MOV dword ptr [ESP + 0x60],EAX
MOV EAX,ESI
ADD ECX,dword ptr [EAX + 0x10]
MOV ESI,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x28],EBP
MOV dword ptr [ESP + 0x68],EBP
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,dword ptr [EBP + 0x14]
ADD ESI,dword ptr [EBP + 0x18]
MOV dword ptr [ESP + 0x38],ECX
MOV dword ptr [ESP + 0x6c],ECX
MOV ECX,EAX
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,EBP
MOV dword ptr [ESP + 0x10],ESI
MOV dword ptr [ESP + 0x74],ESI
MOV ESI,dword ptr [ESP + 0x1c]
ADD ESI,dword ptr [EBP + 0x1c]
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x5c],EDX
MOV dword ptr [ESP + 0x64],EDI
MOV dword ptr [ESP + 0x1c],ESI
MOV dword ptr [ESP + 0x78],ESI
ADD EAX,dword ptr [EBP + 0x20]
MOV ESI,dword ptr [ESP + 0x14]
ADD EBX,dword ptr [EBP + 0x24]
MOV dword ptr [ESP + 0x24],EAX
MOV dword ptr [ESP + 0x7c],EAX
MOV EAX,EBP
MOV EBP,dword ptr [ESP + 0x8]
ADD ESI,dword ptr [EAX + 0x2c]
ADD EBP,dword ptr [EAX + 0x28]
MOV dword ptr [ESP + 0x80],EBX
MOV dword ptr [ESP + 0x8],EBP
MOV dword ptr [ESP + 0x84],EBP
MOV EBP,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x14],ESI
ADD EBP,dword ptr [EAX + 0x30]
MOV dword ptr [ESP + 0x88],ESI
MOV ESI,dword ptr [ESP + 0x30]
ADD ESI,dword ptr [EAX + 0x34]
MOV dword ptr [ESP + 0x2c],EBP
MOV dword ptr [ESP + 0x8c],EBP
MOV EBP,EAX
MOV dword ptr [ESP + 0x30],ESI
MOV dword ptr [ESP + 0x90],ESI
MOV ESI,dword ptr [ESP + 0xc]
ADD ESI,dword ptr [EAX + 0x38]
MOV dword ptr [ESP + 0xc],ESI
MOV dword ptr [ESP + 0x94],ESI
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x18]
ADD EAX,dword ptr [EBP + 0x3c]
MOV EBP,EDX
MOV dword ptr [ESP + 0x4],EAX
AND EBP,0xff0000
MOV dword ptr [ESP + 0x98],EAX
XOR EAX,EAX
MOV AL,DL
MOV AH,DH
AND EDX,0xff000000
MOVZX EAX,AX
OR EAX,EBP
MOV EBP,dword ptr [ESP + 0x20]
OR EDX,EAX
MOV dword ptr [ESI + 0x40],EDX
MOV EAX,EBP
XOR EDX,EDX
MOV ESI,EBP
MOV DL,AL
MOV EAX,EBP
AND EBP,0xff0000
AND ESI,0xff000000
MOV DH,AH
XOR EAX,EAX
MOVZX EDX,DX
OR EDX,EBP
MOV EBP,dword ptr [ESP + 0x48]
OR ESI,EDX
MOV EDX,EDI
MOV AL,DL
MOV EDX,EDI
AND EDI,0xff000000
MOV dword ptr [EBP + 0x44],ESI
MOV AH,DH
AND EDX,0xff0000
MOV ESI,EBP
MOVZX EAX,AX
OR EAX,EDX
OR EDI,EAX
XOR EAX,EAX
MOV dword ptr [EBP + 0x48],EDI
MOV EDI,dword ptr [ESP + 0x28]
MOV EDX,EDI
MOV EBP,EDI
MOV byte ptr [ESP + 0x18],DL
MOV AL,DL
MOV EDX,EDI
AND EDI,0xff0000
MOV AH,DH
AND EBP,0xff000000
MOV EDX,dword ptr [ESP + 0x38]
MOVZX EAX,AX
OR EAX,EDI
MOV EDI,ESI
OR EBP,EAX
XOR EAX,EAX
MOV AL,DL
MOV dword ptr [ESI + 0x4c],EBP
MOV EBP,EDX
MOV AH,DH
AND EDX,0xff0000
AND EBP,0xff000000
MOVZX EAX,AX
OR EAX,EDX
MOV EDX,ECX
OR EAX,EBP
AND EDX,0xff0000
MOV dword ptr [EDI + 0x50],EAX
XOR EAX,EAX
MOV AL,CL
MOV AH,CH
AND ECX,0xff000000
MOVZX EAX,AX
OR EAX,EDX
OR EAX,ECX
MOV ECX,dword ptr [ESP + 0x10]
MOV dword ptr [EDI + 0x54],EAX
XOR EAX,EAX
MOV AL,CL
MOV EDX,ECX
MOV AH,CH
AND EDX,0xff0000
AND ECX,0xff000000
MOVZX EAX,AX
OR EAX,EDX
OR EAX,ECX
MOV ECX,dword ptr [ESP + 0x1c]
MOV dword ptr [EDI + 0x58],EAX
XOR EAX,EAX
MOV AL,CL
MOV EDX,ECX
MOV AH,CH
AND EDX,0xff0000
AND ECX,0xff000000
MOVZX EAX,AX
OR EAX,EDX
MOV EDX,dword ptr [ESP + 0x24]
OR EAX,ECX
XOR ECX,ECX
MOV dword ptr [EDI + 0x5c],EAX
MOV CL,DL
MOV EAX,EDX
AND EAX,0xff0000
MOV CH,DH
AND EDX,0xff000000
MOV ESI,EAX
MOVZX ECX,CX
XOR EAX,EAX
OR ECX,ESI
MOV AL,BL
MOV ESI,EDI
OR ECX,EDX
MOV AH,BH
MOV EDX,EBX
AND EBX,0xff000000
AND EDX,0xff0000
MOVZX EAX,AX
MOV dword ptr [EDI + 0x60],ECX
OR EAX,EDX
XOR EDX,EDX
OR EBX,EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EDI + 0x64],EBX
MOV EBX,dword ptr [ESP + 0x4]
MOV DL,AL
MOV ECX,EAX
MOV EDI,EAX
MOV DH,AH
AND ECX,0xff0000
AND EDI,0xff000000
XOR EAX,EAX
MOVZX EDX,DX
OR EDX,ECX
MOV ECX,dword ptr [ESP + 0x14]
OR EDX,EDI
MOV EDI,ESI
MOV AL,CL
MOV dword ptr [ESI + 0x68],EDX
MOV EDX,ECX
MOV AH,CH
AND EDX,0xff0000
AND ECX,0xff000000
MOVZX EAX,AX
OR EAX,EDX
MOV EDX,dword ptr [ESP + 0x2c]
OR EAX,ECX
MOV dword ptr [ESI + 0x6c],EAX
XOR EAX,EAX
MOV ECX,EDX
MOV AL,DL
AND ECX,0xff0000
MOV dword ptr [EDI + 0x80],0x0
MOV AH,DH
AND EDX,0xff000000
MOVZX EAX,AX
MOV ESI,EDX
XOR EDX,EDX
OR EAX,ECX
OR ESI,EAX
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [EDI + 0x70],ESI
MOV DL,AL
MOV ECX,EAX
MOV EBP,EAX
MOV DH,AH
AND ECX,0xff0000
AND EBP,0xff000000
MOVZX EDX,DX
MOV EAX,EBP
OR EDX,ECX
MOV ECX,dword ptr [ESP + 0xc]
OR EAX,EDX
MOV dword ptr [EDI + 0x74],EAX
XOR EAX,EAX
MOV EDX,ECX
MOV AL,CL
AND EDX,0xff0000
MOV AH,CH
AND ECX,0xff000000
MOVZX EAX,AX
OR EAX,EDX
MOV EDX,EAX
XOR EAX,EAX
OR EDX,ECX
MOV AL,BL
MOV dword ptr [EDI + 0x78],EDX
MOV AH,BH
MOV EDX,EBX
AND EBX,0xff000000
AND EDX,0xff0000
MOVZX EAX,AX
MOV ESI,EBX
OR EAX,EDX
OR ESI,EAX
SUB ESP,0x8
MOV dword ptr [EDI + 0x7c],ESI
PUSH 0x40
LEA EAX,[ESP + 0x68]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x5c]
CALL 0x00032c20
MOV EAX,dword ptr [EDI + 0x30]
MOV dword ptr [ESP + 0x14],EAX
ADD EAX,0x1
ADD ESP,0x10
MOV dword ptr [EDI + 0x30],EAX
TEST EAX,EAX
JNZ 0x00065999
ADD dword ptr [EDI + 0x34],0x1
MOV EAX,dword ptr [ESP + 0x9c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x000659b4
ADD ESP,0xac
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x000c60b0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nvoid __regparm3 FUN_000653e0(uint *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000c60b0();\n}\n\n" comment (function_definition "void __regparm3 FUN_000653e0(uint *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000c60b0();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000653e0(uint *param_1)" identifier (parameter_list "(uint *param_1)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000c60b0();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "local_94 = param_1[2];" (assignment_expression "local_94 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "local_30 = param_1[0xc];" (assignment_expression "local_30 = param_1[0xc]" identifier = (subscript_expression "param_1[0xc]" identifier [ number_literal ])) ;) (expression_statement "local_50 = param_1[4];" (assignment_expression "local_50 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_3c = param_1[9];" (assignment_expression "local_3c = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "local_ac = param_1[6];" (assignment_expression "local_ac = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_9c = *param_1;" (assignment_expression "local_9c = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_b0 = param_1[0xe];" (assignment_expression "local_b0 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "local_40 = param_1[8];" (assignment_expression "local_40 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = param_1[1];" (assignment_expression "local_b8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_98 = param_1[5];" (assignment_expression "local_98 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_2c = param_1[0xd];" (assignment_expression "local_2c = param_1[0xd]" identifier = (subscript_expression "param_1[0xd]" identifier [ number_literal ])) ;) (expression_statement "local_b4 = param_1[10];" (assignment_expression "local_b4 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "local_54 = param_1[3];" (assignment_expression "local_54 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_a0 = param_1[7];" (assignment_expression "local_a0 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = param_1[0xf];" (assignment_expression "local_a4 = param_1[0xf]" identifier = (subscript_expression "param_1[0xf]" identifier [ number_literal ])) ;) (expression_statement "local_78 = 10;" (assignment_expression "local_78 = 10" identifier = number_literal) ;) (expression_statement "local_a8 = param_1[0xb];" (assignment_expression "local_a8 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (do_statement "do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);" do (compound_statement "{\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  }" { (expression_statement "local_30 = local_30 ^ local_9c + local_50;" (assignment_expression "local_30 = local_30 ^ local_9c + local_50" identifier = (binary_expression "local_30 ^ local_9c + local_50" identifier ^ (binary_expression "local_9c + local_50" identifier + identifier))) ;) (expression_statement "uVar3 = local_30 << 0x10 | local_30 >> 0x10;" (assignment_expression "uVar3 = local_30 << 0x10 | local_30 >> 0x10" identifier = (binary_expression "local_30 << 0x10 | local_30 >> 0x10" (binary_expression "local_30 << 0x10" identifier << number_literal) | (binary_expression "local_30 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + uVar3;" (assignment_expression "local_40 = local_40 + uVar3" identifier = (binary_expression "local_40 + uVar3" identifier + identifier)) ;) (expression_statement "uVar1 = local_50 ^ local_40;" (assignment_expression "uVar1 = local_50 ^ local_40" identifier = (binary_expression "local_50 ^ local_40" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_9c = local_9c + local_50 + uVar1;" (assignment_expression "local_9c = local_9c + local_50 + uVar1" identifier = (binary_expression "local_9c + local_50 + uVar1" (binary_expression "local_9c + local_50" identifier + identifier) + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_9c;" (assignment_expression "uVar3 = uVar3 ^ local_9c" identifier = (binary_expression "uVar3 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "uVar4 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "uVar4 = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + uVar4;" (assignment_expression "local_40 = local_40 + uVar4" identifier = (binary_expression "local_40 + uVar4" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_40;" (assignment_expression "uVar1 = uVar1 ^ local_40" identifier = (binary_expression "uVar1 ^ local_40" identifier ^ identifier)) ;) (expression_statement "uVar2 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar2 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_2c = local_2c ^ local_b8 + local_98;" (assignment_expression "local_2c = local_2c ^ local_b8 + local_98" identifier = (binary_expression "local_2c ^ local_b8 + local_98" identifier ^ (binary_expression "local_b8 + local_98" identifier + identifier))) ;) (expression_statement "uVar3 = local_2c << 0x10 | local_2c >> 0x10;" (assignment_expression "uVar3 = local_2c << 0x10 | local_2c >> 0x10" identifier = (binary_expression "local_2c << 0x10 | local_2c >> 0x10" (binary_expression "local_2c << 0x10" identifier << number_literal) | (binary_expression "local_2c >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" identifier = (binary_expression "local_3c + uVar3" identifier + identifier)) ;) (expression_statement "uVar1 = local_98 ^ local_3c;" (assignment_expression "uVar1 = local_98 ^ local_3c" identifier = (binary_expression "local_98 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_b8 = local_b8 + local_98 + uVar1;" (assignment_expression "local_b8 = local_b8 + local_98 + uVar1" identifier = (binary_expression "local_b8 + local_98 + uVar1" (binary_expression "local_b8 + local_98" identifier + identifier) + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_b8;" (assignment_expression "uVar3 = uVar3 ^ local_b8" identifier = (binary_expression "uVar3 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "uVar3 = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" identifier = (binary_expression "local_3c + uVar3" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_3c;" (assignment_expression "uVar1 = uVar1 ^ local_3c" identifier = (binary_expression "uVar1 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar5 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_b0 = local_b0 ^ local_94 + local_ac;" (assignment_expression "local_b0 = local_b0 ^ local_94 + local_ac" identifier = (binary_expression "local_b0 ^ local_94 + local_ac" identifier ^ (binary_expression "local_94 + local_ac" identifier + identifier))) ;) (expression_statement "uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;" (assignment_expression "uVar7 = local_b0 << 0x10 | local_b0 >> 0x10" identifier = (binary_expression "local_b0 << 0x10 | local_b0 >> 0x10" (binary_expression "local_b0 << 0x10" identifier << number_literal) | (binary_expression "local_b0 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_b4 = local_b4 + uVar7;" (assignment_expression "local_b4 = local_b4 + uVar7" identifier = (binary_expression "local_b4 + uVar7" identifier + identifier)) ;) (expression_statement "uVar1 = local_ac ^ local_b4;" (assignment_expression "uVar1 = local_ac ^ local_b4" identifier = (binary_expression "local_ac ^ local_b4" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_94 = local_94 + local_ac + uVar1;" (assignment_expression "local_94 = local_94 + local_ac + uVar1" identifier = (binary_expression "local_94 + local_ac + uVar1" (binary_expression "local_94 + local_ac" identifier + identifier) + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_94;" (assignment_expression "uVar7 = uVar7 ^ local_94" identifier = (binary_expression "uVar7 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar8 = uVar7 << 8 | uVar7 >> 0x18;" (assignment_expression "uVar8 = uVar7 << 8 | uVar7 >> 0x18" identifier = (binary_expression "uVar7 << 8 | uVar7 >> 0x18" (binary_expression "uVar7 << 8" identifier << number_literal) | (binary_expression "uVar7 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_b4 = uVar8 + local_b4;" (assignment_expression "local_b4 = uVar8 + local_b4" identifier = (binary_expression "uVar8 + local_b4" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_b4;" (assignment_expression "uVar1 = uVar1 ^ local_b4" identifier = (binary_expression "uVar1 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "local_a4 = local_a4 ^ local_54 + local_a0;" (assignment_expression "local_a4 = local_a4 ^ local_54 + local_a0" identifier = (binary_expression "local_a4 ^ local_54 + local_a0" identifier ^ (binary_expression "local_54 + local_a0" identifier + identifier))) ;) (expression_statement "uVar1 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar1 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;" (assignment_expression "uVar6 = local_a4 << 0x10 | local_a4 >> 0x10" identifier = (binary_expression "local_a4 << 0x10 | local_a4 >> 0x10" (binary_expression "local_a4 << 0x10" identifier << number_literal) | (binary_expression "local_a4 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar6;" (assignment_expression "local_a8 = local_a8 + uVar6" identifier = (binary_expression "local_a8 + uVar6" identifier + identifier)) ;) (expression_statement "uVar7 = local_a0 ^ local_a8;" (assignment_expression "uVar7 = local_a0 ^ local_a8" identifier = (binary_expression "local_a0 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar7 = uVar7 << 0xc | uVar7 >> 0x14" identifier = (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" identifier << number_literal) | (binary_expression "uVar7 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_54 = local_54 + local_a0 + uVar7;" (assignment_expression "local_54 = local_54 + local_a0 + uVar7" identifier = (binary_expression "local_54 + local_a0 + uVar7" (binary_expression "local_54 + local_a0" identifier + identifier) + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ local_54;" (assignment_expression "uVar6 = uVar6 ^ local_54" identifier = (binary_expression "uVar6 ^ local_54" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar6 << 8 | uVar6 >> 0x18;" (assignment_expression "uVar6 = uVar6 << 8 | uVar6 >> 0x18" identifier = (binary_expression "uVar6 << 8 | uVar6 >> 0x18" (binary_expression "uVar6 << 8" identifier << number_literal) | (binary_expression "uVar6 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar6;" (assignment_expression "local_a8 = local_a8 + uVar6" identifier = (binary_expression "local_a8 + uVar6" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_a8;" (assignment_expression "uVar7 = uVar7 ^ local_a8" identifier = (binary_expression "uVar7 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar7 << 7 | uVar7 >> 0x19;" (assignment_expression "uVar7 = uVar7 << 7 | uVar7 >> 0x19" identifier = (binary_expression "uVar7 << 7 | uVar7 >> 0x19" (binary_expression "uVar7 << 7" identifier << number_literal) | (binary_expression "uVar7 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_9c = local_9c + uVar5;" (assignment_expression "local_9c = local_9c + uVar5" identifier = (binary_expression "local_9c + uVar5" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ local_9c;" (assignment_expression "uVar6 = uVar6 ^ local_9c" identifier = (binary_expression "uVar6 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;" (assignment_expression "uVar6 = uVar6 << 0x10 | uVar6 >> 0x10" identifier = (binary_expression "uVar6 << 0x10 | uVar6 >> 0x10" (binary_expression "uVar6 << 0x10" identifier << number_literal) | (binary_expression "uVar6 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_b4 = local_b4 + uVar6;" (assignment_expression "local_b4 = local_b4 + uVar6" identifier = (binary_expression "local_b4 + uVar6" identifier + identifier)) ;) (expression_statement "uVar5 = uVar5 ^ local_b4;" (assignment_expression "uVar5 = uVar5 ^ local_b4" identifier = (binary_expression "uVar5 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar5 << 0xc | uVar5 >> 0x14;" (assignment_expression "uVar5 = uVar5 << 0xc | uVar5 >> 0x14" identifier = (binary_expression "uVar5 << 0xc | uVar5 >> 0x14" (binary_expression "uVar5 << 0xc" identifier << number_literal) | (binary_expression "uVar5 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_9c = local_9c + uVar5;" (assignment_expression "local_9c = local_9c + uVar5" identifier = (binary_expression "local_9c + uVar5" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ local_9c;" (assignment_expression "uVar6 = uVar6 ^ local_9c" identifier = (binary_expression "uVar6 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "local_a4 = uVar6 << 8 | uVar6 >> 0x18;" (assignment_expression "local_a4 = uVar6 << 8 | uVar6 >> 0x18" identifier = (binary_expression "uVar6 << 8 | uVar6 >> 0x18" (binary_expression "uVar6 << 8" identifier << number_literal) | (binary_expression "uVar6 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_b4 = local_b4 + local_a4;" (assignment_expression "local_b4 = local_b4 + local_a4" identifier = (binary_expression "local_b4 + local_a4" identifier + identifier)) ;) (expression_statement "local_b8 = local_b8 + uVar1;" (assignment_expression "local_b8 = local_b8 + uVar1" identifier = (binary_expression "local_b8 + uVar1" identifier + identifier)) ;) (expression_statement "uVar5 = uVar5 ^ local_b4;" (assignment_expression "uVar5 = uVar5 ^ local_b4" identifier = (binary_expression "uVar5 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "local_98 = uVar5 << 7 | uVar5 >> 0x19;" (assignment_expression "local_98 = uVar5 << 7 | uVar5 >> 0x19" identifier = (binary_expression "uVar5 << 7 | uVar5 >> 0x19" (binary_expression "uVar5 << 7" identifier << number_literal) | (binary_expression "uVar5 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar4 = uVar4 ^ local_b8;" (assignment_expression "uVar4 = uVar4 ^ local_b8" identifier = (binary_expression "uVar4 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;" (assignment_expression "uVar5 = uVar4 << 0x10 | uVar4 >> 0x10" identifier = (binary_expression "uVar4 << 0x10 | uVar4 >> 0x10" (binary_expression "uVar4 << 0x10" identifier << number_literal) | (binary_expression "uVar4 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar5;" (assignment_expression "local_a8 = local_a8 + uVar5" identifier = (binary_expression "local_a8 + uVar5" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_a8;" (assignment_expression "uVar1 = uVar1 ^ local_a8" identifier = (binary_expression "uVar1 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_b8 = local_b8 + uVar1;" (assignment_expression "local_b8 = local_b8 + uVar1" identifier = (binary_expression "local_b8 + uVar1" identifier + identifier)) ;) (expression_statement "uVar5 = uVar5 ^ local_b8;" (assignment_expression "uVar5 = uVar5 ^ local_b8" identifier = (binary_expression "uVar5 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "local_30 = uVar5 << 8 | uVar5 >> 0x18;" (assignment_expression "local_30 = uVar5 << 8 | uVar5 >> 0x18" identifier = (binary_expression "uVar5 << 8 | uVar5 >> 0x18" (binary_expression "uVar5 << 8" identifier << number_literal) | (binary_expression "uVar5 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + local_30;" (assignment_expression "local_a8 = local_a8 + local_30" identifier = (binary_expression "local_a8 + local_30" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_a8;" (assignment_expression "uVar1 = uVar1 ^ local_a8" identifier = (binary_expression "uVar1 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "local_94 = local_94 + uVar7;" (assignment_expression "local_94 = local_94 + uVar7" identifier = (binary_expression "local_94 + uVar7" identifier + identifier)) ;) (expression_statement "local_ac = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_ac = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar3 = uVar3 ^ local_94;" (assignment_expression "uVar3 = uVar3 ^ local_94" identifier = (binary_expression "uVar3 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 << 0x10 | uVar3 >> 0x10" identifier = (binary_expression "uVar3 << 0x10 | uVar3 >> 0x10" (binary_expression "uVar3 << 0x10" identifier << number_literal) | (binary_expression "uVar3 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + uVar3;" (assignment_expression "local_40 = local_40 + uVar3" identifier = (binary_expression "local_40 + uVar3" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_40;" (assignment_expression "uVar7 = uVar7 ^ local_40" identifier = (binary_expression "uVar7 ^ local_40" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar1 = uVar7 << 0xc | uVar7 >> 0x14" identifier = (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" identifier << number_literal) | (binary_expression "uVar7 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_94 = local_94 + uVar1;" (assignment_expression "local_94 = local_94 + uVar1" identifier = (binary_expression "local_94 + uVar1" identifier + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_94;" (assignment_expression "uVar3 = uVar3 ^ local_94" identifier = (binary_expression "uVar3 ^ local_94" identifier ^ identifier)) ;) (expression_statement "local_2c = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "local_2c = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + local_2c;" (assignment_expression "local_40 = local_40 + local_2c" identifier = (binary_expression "local_40 + local_2c" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_40;" (assignment_expression "uVar1 = uVar1 ^ local_40" identifier = (binary_expression "uVar1 ^ local_40" identifier ^ identifier)) ;) (expression_statement "local_a0 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_a0 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_54 = local_54 + uVar2;" (assignment_expression "local_54 = local_54 + uVar2" identifier = (binary_expression "local_54 + uVar2" identifier + identifier)) ;) (expression_statement "uVar8 = uVar8 ^ local_54;" (assignment_expression "uVar8 = uVar8 ^ local_54" identifier = (binary_expression "uVar8 ^ local_54" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;" (assignment_expression "uVar3 = uVar8 << 0x10 | uVar8 >> 0x10" identifier = (binary_expression "uVar8 << 0x10 | uVar8 >> 0x10" (binary_expression "uVar8 << 0x10" identifier << number_literal) | (binary_expression "uVar8 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" identifier = (binary_expression "local_3c + uVar3" identifier + identifier)) ;) (expression_statement "uVar2 = uVar2 ^ local_3c;" (assignment_expression "uVar2 = uVar2 ^ local_3c" identifier = (binary_expression "uVar2 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar2 << 0xc | uVar2 >> 0x14;" (assignment_expression "uVar1 = uVar2 << 0xc | uVar2 >> 0x14" identifier = (binary_expression "uVar2 << 0xc | uVar2 >> 0x14" (binary_expression "uVar2 << 0xc" identifier << number_literal) | (binary_expression "uVar2 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_54 = local_54 + uVar1;" (assignment_expression "local_54 = local_54 + uVar1" identifier = (binary_expression "local_54 + uVar1" identifier + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_54;" (assignment_expression "uVar3 = uVar3 ^ local_54" identifier = (binary_expression "uVar3 ^ local_54" identifier ^ identifier)) ;) (expression_statement "local_b0 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "local_b0 = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + local_b0;" (assignment_expression "local_3c = local_3c + local_b0" identifier = (binary_expression "local_3c + local_b0" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_3c;" (assignment_expression "uVar1 = uVar1 ^ local_3c" identifier = (binary_expression "uVar1 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "local_50 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_50 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_78 = local_78 + -1;" (assignment_expression "local_78 = local_78 + -1" identifier = (binary_expression "local_78 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) ;) (expression_statement "local_5c = local_b8 + param_1[1];" (assignment_expression "local_5c = local_b8 + param_1[1]" identifier = (binary_expression "local_b8 + param_1[1]" identifier + (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = local_54 + param_1[3];" (assignment_expression "local_54 = local_54 + param_1[3]" identifier = (binary_expression "local_54 + param_1[3]" identifier + (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "local_60 = local_9c + *param_1;" (assignment_expression "local_60 = local_9c + *param_1" identifier = (binary_expression "local_9c + *param_1" identifier + (pointer_expression "*param_1" * identifier))) ;) (expression_statement "local_58 = local_94 + param_1[2];" (assignment_expression "local_58 = local_94 + param_1[2]" identifier = (binary_expression "local_94 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = local_50 + param_1[4];" (assignment_expression "local_50 = local_50 + param_1[4]" identifier = (binary_expression "local_50 + param_1[4]" identifier + (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (expression_statement "local_4c = local_98 + param_1[5];" (assignment_expression "local_4c = local_98 + param_1[5]" identifier = (binary_expression "local_98 + param_1[5]" identifier + (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "local_48 = local_ac + param_1[6];" (assignment_expression "local_48 = local_ac + param_1[6]" identifier = (binary_expression "local_ac + param_1[6]" identifier + (subscript_expression "param_1[6]" identifier [ number_literal ]))) ;) (expression_statement "local_44 = local_a0 + param_1[7];" (assignment_expression "local_44 = local_a0 + param_1[7]" identifier = (binary_expression "local_a0 + param_1[7]" identifier + (subscript_expression "param_1[7]" identifier [ number_literal ]))) ;) (expression_statement "local_40 = local_40 + param_1[8];" (assignment_expression "local_40 = local_40 + param_1[8]" identifier = (binary_expression "local_40 + param_1[8]" identifier + (subscript_expression "param_1[8]" identifier [ number_literal ]))) ;) (expression_statement "local_3c = local_3c + param_1[9];" (assignment_expression "local_3c = local_3c + param_1[9]" identifier = (binary_expression "local_3c + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ]))) ;) (expression_statement "local_34 = local_a8 + param_1[0xb];" (assignment_expression "local_34 = local_a8 + param_1[0xb]" identifier = (binary_expression "local_a8 + param_1[0xb]" identifier + (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = local_b4 + param_1[10];" (assignment_expression "local_38 = local_b4 + param_1[10]" identifier = (binary_expression "local_b4 + param_1[10]" identifier + (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;) (expression_statement "local_30 = local_30 + param_1[0xc];" (assignment_expression "local_30 = local_30 + param_1[0xc]" identifier = (binary_expression "local_30 + param_1[0xc]" identifier + (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = local_2c + param_1[0xd];" (assignment_expression "local_2c = local_2c + param_1[0xd]" identifier = (binary_expression "local_2c + param_1[0xd]" identifier + (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) ;) (expression_statement "local_28 = local_b0 + param_1[0xe];" (assignment_expression "local_28 = local_b0 + param_1[0xe]" identifier = (binary_expression "local_b0 + param_1[0xe]" identifier + (subscript_expression "param_1[0xe]" identifier [ number_literal ]))) ;) (expression_statement "local_24 = local_a4 + param_1[0xf];" (assignment_expression "local_24 = local_a4 + param_1[0xf]" identifier = (binary_expression "local_a4 + param_1[0xf]" identifier + (subscript_expression "param_1[0xf]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x10] = local_60;" (assignment_expression "param_1[0x10] = local_60" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x11] = local_5c;" (assignment_expression "param_1[0x11] = local_5c" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x12] = local_58;" (assignment_expression "param_1[0x12] = local_58" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x13] = local_54;" (assignment_expression "param_1[0x13] = local_54" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x14] = local_50;" (assignment_expression "param_1[0x14] = local_50" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x15] = local_4c;" (assignment_expression "param_1[0x15] = local_4c" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x16] = local_48;" (assignment_expression "param_1[0x16] = local_48" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x17] = local_44;" (assignment_expression "param_1[0x17] = local_44" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x18] = local_40;" (assignment_expression "param_1[0x18] = local_40" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x19] = local_3c;" (assignment_expression "param_1[0x19] = local_3c" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1a] = local_38;" (assignment_expression "param_1[0x1a] = local_38" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1b] = local_34;" (assignment_expression "param_1[0x1b] = local_34" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x20] = 0;" (assignment_expression "param_1[0x20] = 0" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1c] = local_30;" (assignment_expression "param_1[0x1c] = local_30" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1d] = local_2c;" (assignment_expression "param_1[0x1d] = local_2c" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1e] = local_28;" (assignment_expression "param_1[0x1e] = local_28" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1f] = local_24;" (assignment_expression "param_1[0x1f] = local_24" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00032c20(&local_60,0x40);" (call_expression "FUN_00032c20(&local_60,0x40)" identifier (argument_list "(&local_60,0x40)" ( (pointer_expression "&local_60" & identifier) , number_literal ))) ;) (expression_statement "uVar1 = param_1[0xc];" (assignment_expression "uVar1 = param_1[0xc]" identifier = (subscript_expression "param_1[0xc]" identifier [ number_literal ])) ;) (expression_statement "param_1[0xc] = uVar1 + 1;" (assignment_expression "param_1[0xc] = uVar1 + 1" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (if_statement "if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }" if (parenthesized_expression "(uVar1 + 1 == 0)" ( (binary_expression "uVar1 + 1 == 0" (binary_expression "uVar1 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n    param_1[0xd] = param_1[0xd] + 1;\n  }" { (expression_statement "param_1[0xd] = param_1[0xd] + 1;" (assignment_expression "param_1[0xd] = param_1[0xd] + 1" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = (binary_expression "param_1[0xd] + 1" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) + number_literal)) ;) })) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_000c60b0();" (call_expression "FUN_000c60b0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nvoid __regparm3 chacha20_round(chacha20 *ctx)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint32 uVar3;\n  uint uVar4;\n  uint32 uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint32 uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint32 uVar14;\n  uint uVar15;\n  uint32 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint32 uVar21;\n  int in_GS_OFFSET;\n  uint32 local_b8;\n  uint32 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint32 local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint32 copy [16];\n  \n  local_94 = ctx->state[2];\n  uVar10 = ctx->state[0xc];\n  uVar5 = ctx->state[4];\n  uVar14 = ctx->state[9];\n  local_ac = ctx->state[6];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = ctx->state[0];\n  local_b0 = ctx->state[0xe];\n  uVar3 = ctx->state[8];\n  local_b8 = ctx->state[1];\n  local_98 = ctx->state[5];\n  uVar21 = ctx->state[0xd];\n  local_b4 = ctx->state[10];\n  uVar16 = ctx->state[3];\n  local_a0 = ctx->state[7];\n  local_a4 = ctx->state[0xf];\n  local_78 = 10;\n  local_a8 = ctx->state[0xb];\n  do {\n    uVar6 = uVar10 ^ local_9c + uVar5;\n    uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar2 = uVar3 + uVar7;\n    uVar6 = uVar5 ^ uVar2;\n    uVar6 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar17 = local_9c + uVar5 + uVar6;\n    uVar7 = uVar7 ^ uVar17;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar2 = uVar2 + uVar8;\n    uVar6 = uVar6 ^ uVar2;\n    uVar4 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar6 = uVar21 ^ local_b8 + local_98;\n    uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar11 = uVar14 + uVar20;\n    uVar6 = local_98 ^ uVar11;\n    uVar7 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar6 = local_b8 + local_98 + uVar7;\n    uVar20 = uVar20 ^ uVar6;\n    uVar20 = uVar20 << 8 | uVar20 >> 0x18;\n    uVar11 = uVar11 + uVar20;\n    uVar7 = uVar7 ^ uVar11;\n    uVar9 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar7 = local_b0 ^ local_94 + local_ac;\n    uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;\n    uVar12 = local_b4 + uVar18;\n    uVar7 = local_ac ^ uVar12;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + local_ac + uVar7;\n    uVar18 = uVar18 ^ local_94;\n    uVar19 = uVar18 << 8 | uVar18 >> 0x18;\n    uVar12 = uVar19 + uVar12;\n    uVar7 = uVar7 ^ uVar12;\n    uVar18 = local_a4 ^ uVar16 + local_a0;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = local_a0 ^ local_a8;\n    uVar18 = uVar18 << 0xc | uVar18 >> 0x14;\n    uVar15 = uVar16 + local_a0 + uVar18;\n    uVar13 = uVar13 ^ uVar15;\n    uVar13 = uVar13 << 8 | uVar13 >> 0x18;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = uVar18 ^ local_a8;\n    uVar18 = uVar18 << 7 | uVar18 >> 0x19;\n    uVar17 = uVar17 + uVar9;\n    uVar13 = uVar13 ^ uVar17;\n    uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;\n    uVar12 = uVar12 + uVar13;\n    uVar9 = uVar9 ^ uVar12;\n    uVar9 = uVar9 << 0xc | uVar9 >> 0x14;\n    local_9c = uVar17 + uVar9;\n    uVar13 = uVar13 ^ local_9c;\n    local_a4 = uVar13 << 8 | uVar13 >> 0x18;\n    local_b4 = uVar12 + local_a4;\n    uVar6 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b4;\n    local_98 = uVar9 << 7 | uVar9 >> 0x19;\n    uVar8 = uVar8 ^ uVar6;\n    uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_a8 = local_a8 + uVar9;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_b8 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b8;\n    uVar10 = uVar9 << 8 | uVar9 >> 0x18;\n    local_a8 = local_a8 + uVar10;\n    uVar7 = uVar7 ^ local_a8;\n    local_94 = local_94 + uVar18;\n    local_ac = uVar7 << 7 | uVar7 >> 0x19;\n    uVar20 = uVar20 ^ local_94;\n    uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;\n    uVar2 = uVar2 + uVar7;\n    uVar18 = uVar18 ^ uVar2;\n    uVar6 = uVar18 << 0xc | uVar18 >> 0x14;\n    local_94 = local_94 + uVar6;\n    uVar7 = uVar7 ^ local_94;\n    uVar21 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar3 = uVar2 + uVar21;\n    uVar6 = uVar6 ^ uVar3;\n    local_a0 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar15 = uVar15 + uVar4;\n    uVar19 = uVar19 ^ uVar15;\n    uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;\n    uVar11 = uVar11 + uVar7;\n    uVar4 = uVar4 ^ uVar11;\n    uVar6 = uVar4 << 0xc | uVar4 >> 0x14;\n    uVar16 = uVar15 + uVar6;\n    uVar7 = uVar7 ^ uVar16;\n    local_b0 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar14 = uVar11 + local_b0;\n    uVar6 = uVar6 ^ uVar14;\n    uVar5 = uVar6 << 7 | uVar6 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  copy[1] = local_b8 + ctx->state[1];\n  copy[3] = uVar16 + ctx->state[3];\n  copy[0] = local_9c + ctx->state[0];\n  copy[2] = local_94 + ctx->state[2];\n  copy[4] = uVar5 + ctx->state[4];\n  copy[5] = local_98 + ctx->state[5];\n  copy[6] = local_ac + ctx->state[6];\n  copy[7] = local_a0 + ctx->state[7];\n  copy[8] = uVar3 + ctx->state[8];\n  copy[9] = uVar14 + ctx->state[9];\n  copy[0xb] = local_a8 + ctx->state[0xb];\n  copy[10] = local_b4 + ctx->state[10];\n  copy[0xc] = uVar10 + ctx->state[0xc];\n  copy[0xd] = uVar21 + ctx->state[0xd];\n  copy[0xe] = local_b0 + ctx->state[0xe];\n  copy[0xf] = local_a4 + ctx->state[0xf];\n  *(uint32 *)ctx->current = copy[0];\n  *(uint32 *)(ctx->current + 4) = copy[1];\n  *(uint32 *)(ctx->current + 8) = copy[2];\n  *(uint32 *)(ctx->current + 0xc) = copy[3];\n  *(uint32 *)(ctx->current + 0x10) = copy[4];\n  *(uint32 *)(ctx->current + 0x14) = copy[5];\n  *(uint32 *)(ctx->current + 0x18) = copy[6];\n  *(uint32 *)(ctx->current + 0x1c) = copy[7];\n  *(uint32 *)(ctx->current + 0x20) = copy[8];\n  *(uint32 *)(ctx->current + 0x24) = copy[9];\n  *(uint32 *)(ctx->current + 0x28) = copy[10];\n  *(uint32 *)(ctx->current + 0x2c) = copy[0xb];\n  ctx->currentIndex = 0;\n  *(uint32 *)(ctx->current + 0x30) = copy[0xc];\n  *(uint32 *)(ctx->current + 0x34) = copy[0xd];\n  *(uint32 *)(ctx->current + 0x38) = copy[0xe];\n  *(uint32 *)(ctx->current + 0x3c) = copy[0xf];\n  smemclr(copy,0x40);\n  uVar10 = ctx->state[0xc] + 1;\n  ctx->state[0xc] = uVar10;\n  if (uVar10 == 0) {\n    ctx->state[0xd] = ctx->state[0xd] + 1;\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment (function_definition "void __regparm3 chacha20_round(chacha20 *ctx)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint32 uVar3;\n  uint uVar4;\n  uint32 uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint32 uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint32 uVar14;\n  uint uVar15;\n  uint32 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint32 uVar21;\n  int in_GS_OFFSET;\n  uint32 local_b8;\n  uint32 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint32 local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint32 copy [16];\n  \n  local_94 = ctx->state[2];\n  uVar10 = ctx->state[0xc];\n  uVar5 = ctx->state[4];\n  uVar14 = ctx->state[9];\n  local_ac = ctx->state[6];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = ctx->state[0];\n  local_b0 = ctx->state[0xe];\n  uVar3 = ctx->state[8];\n  local_b8 = ctx->state[1];\n  local_98 = ctx->state[5];\n  uVar21 = ctx->state[0xd];\n  local_b4 = ctx->state[10];\n  uVar16 = ctx->state[3];\n  local_a0 = ctx->state[7];\n  local_a4 = ctx->state[0xf];\n  local_78 = 10;\n  local_a8 = ctx->state[0xb];\n  do {\n    uVar6 = uVar10 ^ local_9c + uVar5;\n    uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar2 = uVar3 + uVar7;\n    uVar6 = uVar5 ^ uVar2;\n    uVar6 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar17 = local_9c + uVar5 + uVar6;\n    uVar7 = uVar7 ^ uVar17;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar2 = uVar2 + uVar8;\n    uVar6 = uVar6 ^ uVar2;\n    uVar4 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar6 = uVar21 ^ local_b8 + local_98;\n    uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar11 = uVar14 + uVar20;\n    uVar6 = local_98 ^ uVar11;\n    uVar7 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar6 = local_b8 + local_98 + uVar7;\n    uVar20 = uVar20 ^ uVar6;\n    uVar20 = uVar20 << 8 | uVar20 >> 0x18;\n    uVar11 = uVar11 + uVar20;\n    uVar7 = uVar7 ^ uVar11;\n    uVar9 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar7 = local_b0 ^ local_94 + local_ac;\n    uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;\n    uVar12 = local_b4 + uVar18;\n    uVar7 = local_ac ^ uVar12;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + local_ac + uVar7;\n    uVar18 = uVar18 ^ local_94;\n    uVar19 = uVar18 << 8 | uVar18 >> 0x18;\n    uVar12 = uVar19 + uVar12;\n    uVar7 = uVar7 ^ uVar12;\n    uVar18 = local_a4 ^ uVar16 + local_a0;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = local_a0 ^ local_a8;\n    uVar18 = uVar18 << 0xc | uVar18 >> 0x14;\n    uVar15 = uVar16 + local_a0 + uVar18;\n    uVar13 = uVar13 ^ uVar15;\n    uVar13 = uVar13 << 8 | uVar13 >> 0x18;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = uVar18 ^ local_a8;\n    uVar18 = uVar18 << 7 | uVar18 >> 0x19;\n    uVar17 = uVar17 + uVar9;\n    uVar13 = uVar13 ^ uVar17;\n    uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;\n    uVar12 = uVar12 + uVar13;\n    uVar9 = uVar9 ^ uVar12;\n    uVar9 = uVar9 << 0xc | uVar9 >> 0x14;\n    local_9c = uVar17 + uVar9;\n    uVar13 = uVar13 ^ local_9c;\n    local_a4 = uVar13 << 8 | uVar13 >> 0x18;\n    local_b4 = uVar12 + local_a4;\n    uVar6 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b4;\n    local_98 = uVar9 << 7 | uVar9 >> 0x19;\n    uVar8 = uVar8 ^ uVar6;\n    uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_a8 = local_a8 + uVar9;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_b8 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b8;\n    uVar10 = uVar9 << 8 | uVar9 >> 0x18;\n    local_a8 = local_a8 + uVar10;\n    uVar7 = uVar7 ^ local_a8;\n    local_94 = local_94 + uVar18;\n    local_ac = uVar7 << 7 | uVar7 >> 0x19;\n    uVar20 = uVar20 ^ local_94;\n    uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;\n    uVar2 = uVar2 + uVar7;\n    uVar18 = uVar18 ^ uVar2;\n    uVar6 = uVar18 << 0xc | uVar18 >> 0x14;\n    local_94 = local_94 + uVar6;\n    uVar7 = uVar7 ^ local_94;\n    uVar21 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar3 = uVar2 + uVar21;\n    uVar6 = uVar6 ^ uVar3;\n    local_a0 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar15 = uVar15 + uVar4;\n    uVar19 = uVar19 ^ uVar15;\n    uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;\n    uVar11 = uVar11 + uVar7;\n    uVar4 = uVar4 ^ uVar11;\n    uVar6 = uVar4 << 0xc | uVar4 >> 0x14;\n    uVar16 = uVar15 + uVar6;\n    uVar7 = uVar7 ^ uVar16;\n    local_b0 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar14 = uVar11 + local_b0;\n    uVar6 = uVar6 ^ uVar14;\n    uVar5 = uVar6 << 7 | uVar6 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  copy[1] = local_b8 + ctx->state[1];\n  copy[3] = uVar16 + ctx->state[3];\n  copy[0] = local_9c + ctx->state[0];\n  copy[2] = local_94 + ctx->state[2];\n  copy[4] = uVar5 + ctx->state[4];\n  copy[5] = local_98 + ctx->state[5];\n  copy[6] = local_ac + ctx->state[6];\n  copy[7] = local_a0 + ctx->state[7];\n  copy[8] = uVar3 + ctx->state[8];\n  copy[9] = uVar14 + ctx->state[9];\n  copy[0xb] = local_a8 + ctx->state[0xb];\n  copy[10] = local_b4 + ctx->state[10];\n  copy[0xc] = uVar10 + ctx->state[0xc];\n  copy[0xd] = uVar21 + ctx->state[0xd];\n  copy[0xe] = local_b0 + ctx->state[0xe];\n  copy[0xf] = local_a4 + ctx->state[0xf];\n  *(uint32 *)ctx->current = copy[0];\n  *(uint32 *)(ctx->current + 4) = copy[1];\n  *(uint32 *)(ctx->current + 8) = copy[2];\n  *(uint32 *)(ctx->current + 0xc) = copy[3];\n  *(uint32 *)(ctx->current + 0x10) = copy[4];\n  *(uint32 *)(ctx->current + 0x14) = copy[5];\n  *(uint32 *)(ctx->current + 0x18) = copy[6];\n  *(uint32 *)(ctx->current + 0x1c) = copy[7];\n  *(uint32 *)(ctx->current + 0x20) = copy[8];\n  *(uint32 *)(ctx->current + 0x24) = copy[9];\n  *(uint32 *)(ctx->current + 0x28) = copy[10];\n  *(uint32 *)(ctx->current + 0x2c) = copy[0xb];\n  ctx->currentIndex = 0;\n  *(uint32 *)(ctx->current + 0x30) = copy[0xc];\n  *(uint32 *)(ctx->current + 0x34) = copy[0xd];\n  *(uint32 *)(ctx->current + 0x38) = copy[0xe];\n  *(uint32 *)(ctx->current + 0x3c) = copy[0xf];\n  smemclr(copy,0x40);\n  uVar10 = ctx->state[0xc] + 1;\n  ctx->state[0xc] = uVar10;\n  if (uVar10 == 0) {\n    ctx->state[0xd] = ctx->state[0xd] + 1;\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "chacha20_round(chacha20 *ctx)" identifier (parameter_list "(chacha20 *ctx)" ( (parameter_declaration "chacha20 *ctx" type_identifier (pointer_declarator "*ctx" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  uint32 uVar3;\n  uint uVar4;\n  uint32 uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint32 uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint32 uVar14;\n  uint uVar15;\n  uint32 uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint32 uVar21;\n  int in_GS_OFFSET;\n  uint32 local_b8;\n  uint32 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint32 local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint32 copy [16];\n  \n  local_94 = ctx->state[2];\n  uVar10 = ctx->state[0xc];\n  uVar5 = ctx->state[4];\n  uVar14 = ctx->state[9];\n  local_ac = ctx->state[6];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = ctx->state[0];\n  local_b0 = ctx->state[0xe];\n  uVar3 = ctx->state[8];\n  local_b8 = ctx->state[1];\n  local_98 = ctx->state[5];\n  uVar21 = ctx->state[0xd];\n  local_b4 = ctx->state[10];\n  uVar16 = ctx->state[3];\n  local_a0 = ctx->state[7];\n  local_a4 = ctx->state[0xf];\n  local_78 = 10;\n  local_a8 = ctx->state[0xb];\n  do {\n    uVar6 = uVar10 ^ local_9c + uVar5;\n    uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar2 = uVar3 + uVar7;\n    uVar6 = uVar5 ^ uVar2;\n    uVar6 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar17 = local_9c + uVar5 + uVar6;\n    uVar7 = uVar7 ^ uVar17;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar2 = uVar2 + uVar8;\n    uVar6 = uVar6 ^ uVar2;\n    uVar4 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar6 = uVar21 ^ local_b8 + local_98;\n    uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar11 = uVar14 + uVar20;\n    uVar6 = local_98 ^ uVar11;\n    uVar7 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar6 = local_b8 + local_98 + uVar7;\n    uVar20 = uVar20 ^ uVar6;\n    uVar20 = uVar20 << 8 | uVar20 >> 0x18;\n    uVar11 = uVar11 + uVar20;\n    uVar7 = uVar7 ^ uVar11;\n    uVar9 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar7 = local_b0 ^ local_94 + local_ac;\n    uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;\n    uVar12 = local_b4 + uVar18;\n    uVar7 = local_ac ^ uVar12;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + local_ac + uVar7;\n    uVar18 = uVar18 ^ local_94;\n    uVar19 = uVar18 << 8 | uVar18 >> 0x18;\n    uVar12 = uVar19 + uVar12;\n    uVar7 = uVar7 ^ uVar12;\n    uVar18 = local_a4 ^ uVar16 + local_a0;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = local_a0 ^ local_a8;\n    uVar18 = uVar18 << 0xc | uVar18 >> 0x14;\n    uVar15 = uVar16 + local_a0 + uVar18;\n    uVar13 = uVar13 ^ uVar15;\n    uVar13 = uVar13 << 8 | uVar13 >> 0x18;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = uVar18 ^ local_a8;\n    uVar18 = uVar18 << 7 | uVar18 >> 0x19;\n    uVar17 = uVar17 + uVar9;\n    uVar13 = uVar13 ^ uVar17;\n    uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;\n    uVar12 = uVar12 + uVar13;\n    uVar9 = uVar9 ^ uVar12;\n    uVar9 = uVar9 << 0xc | uVar9 >> 0x14;\n    local_9c = uVar17 + uVar9;\n    uVar13 = uVar13 ^ local_9c;\n    local_a4 = uVar13 << 8 | uVar13 >> 0x18;\n    local_b4 = uVar12 + local_a4;\n    uVar6 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b4;\n    local_98 = uVar9 << 7 | uVar9 >> 0x19;\n    uVar8 = uVar8 ^ uVar6;\n    uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_a8 = local_a8 + uVar9;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_b8 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b8;\n    uVar10 = uVar9 << 8 | uVar9 >> 0x18;\n    local_a8 = local_a8 + uVar10;\n    uVar7 = uVar7 ^ local_a8;\n    local_94 = local_94 + uVar18;\n    local_ac = uVar7 << 7 | uVar7 >> 0x19;\n    uVar20 = uVar20 ^ local_94;\n    uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;\n    uVar2 = uVar2 + uVar7;\n    uVar18 = uVar18 ^ uVar2;\n    uVar6 = uVar18 << 0xc | uVar18 >> 0x14;\n    local_94 = local_94 + uVar6;\n    uVar7 = uVar7 ^ local_94;\n    uVar21 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar3 = uVar2 + uVar21;\n    uVar6 = uVar6 ^ uVar3;\n    local_a0 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar15 = uVar15 + uVar4;\n    uVar19 = uVar19 ^ uVar15;\n    uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;\n    uVar11 = uVar11 + uVar7;\n    uVar4 = uVar4 ^ uVar11;\n    uVar6 = uVar4 << 0xc | uVar4 >> 0x14;\n    uVar16 = uVar15 + uVar6;\n    uVar7 = uVar7 ^ uVar16;\n    local_b0 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar14 = uVar11 + local_b0;\n    uVar6 = uVar6 ^ uVar14;\n    uVar5 = uVar6 << 7 | uVar6 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  copy[1] = local_b8 + ctx->state[1];\n  copy[3] = uVar16 + ctx->state[3];\n  copy[0] = local_9c + ctx->state[0];\n  copy[2] = local_94 + ctx->state[2];\n  copy[4] = uVar5 + ctx->state[4];\n  copy[5] = local_98 + ctx->state[5];\n  copy[6] = local_ac + ctx->state[6];\n  copy[7] = local_a0 + ctx->state[7];\n  copy[8] = uVar3 + ctx->state[8];\n  copy[9] = uVar14 + ctx->state[9];\n  copy[0xb] = local_a8 + ctx->state[0xb];\n  copy[10] = local_b4 + ctx->state[10];\n  copy[0xc] = uVar10 + ctx->state[0xc];\n  copy[0xd] = uVar21 + ctx->state[0xd];\n  copy[0xe] = local_b0 + ctx->state[0xe];\n  copy[0xf] = local_a4 + ctx->state[0xf];\n  *(uint32 *)ctx->current = copy[0];\n  *(uint32 *)(ctx->current + 4) = copy[1];\n  *(uint32 *)(ctx->current + 8) = copy[2];\n  *(uint32 *)(ctx->current + 0xc) = copy[3];\n  *(uint32 *)(ctx->current + 0x10) = copy[4];\n  *(uint32 *)(ctx->current + 0x14) = copy[5];\n  *(uint32 *)(ctx->current + 0x18) = copy[6];\n  *(uint32 *)(ctx->current + 0x1c) = copy[7];\n  *(uint32 *)(ctx->current + 0x20) = copy[8];\n  *(uint32 *)(ctx->current + 0x24) = copy[9];\n  *(uint32 *)(ctx->current + 0x28) = copy[10];\n  *(uint32 *)(ctx->current + 0x2c) = copy[0xb];\n  ctx->currentIndex = 0;\n  *(uint32 *)(ctx->current + 0x30) = copy[0xc];\n  *(uint32 *)(ctx->current + 0x34) = copy[0xd];\n  *(uint32 *)(ctx->current + 0x38) = copy[0xe];\n  *(uint32 *)(ctx->current + 0x3c) = copy[0xf];\n  smemclr(copy,0x40);\n  uVar10 = ctx->state[0xc] + 1;\n  ctx->state[0xc] = uVar10;\n  if (uVar10 == 0) {\n    ctx->state[0xd] = ctx->state[0xd] + 1;\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint32 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint32 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint32 uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint32 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint32 uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint32 uVar21;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint32 local_b8;" type_identifier identifier ;) (declaration "uint32 local_b4;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint32 local_9c;" type_identifier identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "uint32 copy [16];" type_identifier (array_declarator "copy [16]" identifier [ number_literal ]) ;) (expression_statement "local_94 = ctx->state[2];" (assignment_expression "local_94 = ctx->state[2]" identifier = (subscript_expression "ctx->state[2]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar10 = ctx->state[0xc];" (assignment_expression "uVar10 = ctx->state[0xc]" identifier = (subscript_expression "ctx->state[0xc]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar5 = ctx->state[4];" (assignment_expression "uVar5 = ctx->state[4]" identifier = (subscript_expression "ctx->state[4]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar14 = ctx->state[9];" (assignment_expression "uVar14 = ctx->state[9]" identifier = (subscript_expression "ctx->state[9]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_ac = ctx->state[6];" (assignment_expression "local_ac = ctx->state[6]" identifier = (subscript_expression "ctx->state[6]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_9c = ctx->state[0];" (assignment_expression "local_9c = ctx->state[0]" identifier = (subscript_expression "ctx->state[0]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_b0 = ctx->state[0xe];" (assignment_expression "local_b0 = ctx->state[0xe]" identifier = (subscript_expression "ctx->state[0xe]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar3 = ctx->state[8];" (assignment_expression "uVar3 = ctx->state[8]" identifier = (subscript_expression "ctx->state[8]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_b8 = ctx->state[1];" (assignment_expression "local_b8 = ctx->state[1]" identifier = (subscript_expression "ctx->state[1]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_98 = ctx->state[5];" (assignment_expression "local_98 = ctx->state[5]" identifier = (subscript_expression "ctx->state[5]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar21 = ctx->state[0xd];" (assignment_expression "uVar21 = ctx->state[0xd]" identifier = (subscript_expression "ctx->state[0xd]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_b4 = ctx->state[10];" (assignment_expression "local_b4 = ctx->state[10]" identifier = (subscript_expression "ctx->state[10]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar16 = ctx->state[3];" (assignment_expression "uVar16 = ctx->state[3]" identifier = (subscript_expression "ctx->state[3]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_a0 = ctx->state[7];" (assignment_expression "local_a0 = ctx->state[7]" identifier = (subscript_expression "ctx->state[7]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_a4 = ctx->state[0xf];" (assignment_expression "local_a4 = ctx->state[0xf]" identifier = (subscript_expression "ctx->state[0xf]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_78 = 10;" (assignment_expression "local_78 = 10" identifier = number_literal) ;) (expression_statement "local_a8 = ctx->state[0xb];" (assignment_expression "local_a8 = ctx->state[0xb]" identifier = (subscript_expression "ctx->state[0xb]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ])) ;) (do_statement "do {\n    uVar6 = uVar10 ^ local_9c + uVar5;\n    uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar2 = uVar3 + uVar7;\n    uVar6 = uVar5 ^ uVar2;\n    uVar6 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar17 = local_9c + uVar5 + uVar6;\n    uVar7 = uVar7 ^ uVar17;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar2 = uVar2 + uVar8;\n    uVar6 = uVar6 ^ uVar2;\n    uVar4 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar6 = uVar21 ^ local_b8 + local_98;\n    uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar11 = uVar14 + uVar20;\n    uVar6 = local_98 ^ uVar11;\n    uVar7 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar6 = local_b8 + local_98 + uVar7;\n    uVar20 = uVar20 ^ uVar6;\n    uVar20 = uVar20 << 8 | uVar20 >> 0x18;\n    uVar11 = uVar11 + uVar20;\n    uVar7 = uVar7 ^ uVar11;\n    uVar9 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar7 = local_b0 ^ local_94 + local_ac;\n    uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;\n    uVar12 = local_b4 + uVar18;\n    uVar7 = local_ac ^ uVar12;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + local_ac + uVar7;\n    uVar18 = uVar18 ^ local_94;\n    uVar19 = uVar18 << 8 | uVar18 >> 0x18;\n    uVar12 = uVar19 + uVar12;\n    uVar7 = uVar7 ^ uVar12;\n    uVar18 = local_a4 ^ uVar16 + local_a0;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = local_a0 ^ local_a8;\n    uVar18 = uVar18 << 0xc | uVar18 >> 0x14;\n    uVar15 = uVar16 + local_a0 + uVar18;\n    uVar13 = uVar13 ^ uVar15;\n    uVar13 = uVar13 << 8 | uVar13 >> 0x18;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = uVar18 ^ local_a8;\n    uVar18 = uVar18 << 7 | uVar18 >> 0x19;\n    uVar17 = uVar17 + uVar9;\n    uVar13 = uVar13 ^ uVar17;\n    uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;\n    uVar12 = uVar12 + uVar13;\n    uVar9 = uVar9 ^ uVar12;\n    uVar9 = uVar9 << 0xc | uVar9 >> 0x14;\n    local_9c = uVar17 + uVar9;\n    uVar13 = uVar13 ^ local_9c;\n    local_a4 = uVar13 << 8 | uVar13 >> 0x18;\n    local_b4 = uVar12 + local_a4;\n    uVar6 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b4;\n    local_98 = uVar9 << 7 | uVar9 >> 0x19;\n    uVar8 = uVar8 ^ uVar6;\n    uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_a8 = local_a8 + uVar9;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_b8 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b8;\n    uVar10 = uVar9 << 8 | uVar9 >> 0x18;\n    local_a8 = local_a8 + uVar10;\n    uVar7 = uVar7 ^ local_a8;\n    local_94 = local_94 + uVar18;\n    local_ac = uVar7 << 7 | uVar7 >> 0x19;\n    uVar20 = uVar20 ^ local_94;\n    uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;\n    uVar2 = uVar2 + uVar7;\n    uVar18 = uVar18 ^ uVar2;\n    uVar6 = uVar18 << 0xc | uVar18 >> 0x14;\n    local_94 = local_94 + uVar6;\n    uVar7 = uVar7 ^ local_94;\n    uVar21 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar3 = uVar2 + uVar21;\n    uVar6 = uVar6 ^ uVar3;\n    local_a0 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar15 = uVar15 + uVar4;\n    uVar19 = uVar19 ^ uVar15;\n    uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;\n    uVar11 = uVar11 + uVar7;\n    uVar4 = uVar4 ^ uVar11;\n    uVar6 = uVar4 << 0xc | uVar4 >> 0x14;\n    uVar16 = uVar15 + uVar6;\n    uVar7 = uVar7 ^ uVar16;\n    local_b0 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar14 = uVar11 + local_b0;\n    uVar6 = uVar6 ^ uVar14;\n    uVar5 = uVar6 << 7 | uVar6 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);" do (compound_statement "{\n    uVar6 = uVar10 ^ local_9c + uVar5;\n    uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar2 = uVar3 + uVar7;\n    uVar6 = uVar5 ^ uVar2;\n    uVar6 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar17 = local_9c + uVar5 + uVar6;\n    uVar7 = uVar7 ^ uVar17;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar2 = uVar2 + uVar8;\n    uVar6 = uVar6 ^ uVar2;\n    uVar4 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar6 = uVar21 ^ local_b8 + local_98;\n    uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;\n    uVar11 = uVar14 + uVar20;\n    uVar6 = local_98 ^ uVar11;\n    uVar7 = uVar6 << 0xc | uVar6 >> 0x14;\n    uVar6 = local_b8 + local_98 + uVar7;\n    uVar20 = uVar20 ^ uVar6;\n    uVar20 = uVar20 << 8 | uVar20 >> 0x18;\n    uVar11 = uVar11 + uVar20;\n    uVar7 = uVar7 ^ uVar11;\n    uVar9 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar7 = local_b0 ^ local_94 + local_ac;\n    uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;\n    uVar12 = local_b4 + uVar18;\n    uVar7 = local_ac ^ uVar12;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + local_ac + uVar7;\n    uVar18 = uVar18 ^ local_94;\n    uVar19 = uVar18 << 8 | uVar18 >> 0x18;\n    uVar12 = uVar19 + uVar12;\n    uVar7 = uVar7 ^ uVar12;\n    uVar18 = local_a4 ^ uVar16 + local_a0;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = local_a0 ^ local_a8;\n    uVar18 = uVar18 << 0xc | uVar18 >> 0x14;\n    uVar15 = uVar16 + local_a0 + uVar18;\n    uVar13 = uVar13 ^ uVar15;\n    uVar13 = uVar13 << 8 | uVar13 >> 0x18;\n    local_a8 = local_a8 + uVar13;\n    uVar18 = uVar18 ^ local_a8;\n    uVar18 = uVar18 << 7 | uVar18 >> 0x19;\n    uVar17 = uVar17 + uVar9;\n    uVar13 = uVar13 ^ uVar17;\n    uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;\n    uVar12 = uVar12 + uVar13;\n    uVar9 = uVar9 ^ uVar12;\n    uVar9 = uVar9 << 0xc | uVar9 >> 0x14;\n    local_9c = uVar17 + uVar9;\n    uVar13 = uVar13 ^ local_9c;\n    local_a4 = uVar13 << 8 | uVar13 >> 0x18;\n    local_b4 = uVar12 + local_a4;\n    uVar6 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b4;\n    local_98 = uVar9 << 7 | uVar9 >> 0x19;\n    uVar8 = uVar8 ^ uVar6;\n    uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_a8 = local_a8 + uVar9;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_b8 = uVar6 + uVar7;\n    uVar9 = uVar9 ^ local_b8;\n    uVar10 = uVar9 << 8 | uVar9 >> 0x18;\n    local_a8 = local_a8 + uVar10;\n    uVar7 = uVar7 ^ local_a8;\n    local_94 = local_94 + uVar18;\n    local_ac = uVar7 << 7 | uVar7 >> 0x19;\n    uVar20 = uVar20 ^ local_94;\n    uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;\n    uVar2 = uVar2 + uVar7;\n    uVar18 = uVar18 ^ uVar2;\n    uVar6 = uVar18 << 0xc | uVar18 >> 0x14;\n    local_94 = local_94 + uVar6;\n    uVar7 = uVar7 ^ local_94;\n    uVar21 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar3 = uVar2 + uVar21;\n    uVar6 = uVar6 ^ uVar3;\n    local_a0 = uVar6 << 7 | uVar6 >> 0x19;\n    uVar15 = uVar15 + uVar4;\n    uVar19 = uVar19 ^ uVar15;\n    uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;\n    uVar11 = uVar11 + uVar7;\n    uVar4 = uVar4 ^ uVar11;\n    uVar6 = uVar4 << 0xc | uVar4 >> 0x14;\n    uVar16 = uVar15 + uVar6;\n    uVar7 = uVar7 ^ uVar16;\n    local_b0 = uVar7 << 8 | uVar7 >> 0x18;\n    uVar14 = uVar11 + local_b0;\n    uVar6 = uVar6 ^ uVar14;\n    uVar5 = uVar6 << 7 | uVar6 >> 0x19;\n    local_78 = local_78 + -1;\n  }" { (expression_statement "uVar6 = uVar10 ^ local_9c + uVar5;" (assignment_expression "uVar6 = uVar10 ^ local_9c + uVar5" identifier = (binary_expression "uVar10 ^ local_9c + uVar5" identifier ^ (binary_expression "local_9c + uVar5" identifier + identifier))) ;) (expression_statement "uVar7 = uVar6 << 0x10 | uVar6 >> 0x10;" (assignment_expression "uVar7 = uVar6 << 0x10 | uVar6 >> 0x10" identifier = (binary_expression "uVar6 << 0x10 | uVar6 >> 0x10" (binary_expression "uVar6 << 0x10" identifier << number_literal) | (binary_expression "uVar6 >> 0x10" identifier >> number_literal))) ;) (expression_statement "uVar2 = uVar3 + uVar7;" (assignment_expression "uVar2 = uVar3 + uVar7" identifier = (binary_expression "uVar3 + uVar7" identifier + identifier)) ;) (expression_statement "uVar6 = uVar5 ^ uVar2;" (assignment_expression "uVar6 = uVar5 ^ uVar2" identifier = (binary_expression "uVar5 ^ uVar2" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar6 << 0xc | uVar6 >> 0x14;" (assignment_expression "uVar6 = uVar6 << 0xc | uVar6 >> 0x14" identifier = (binary_expression "uVar6 << 0xc | uVar6 >> 0x14" (binary_expression "uVar6 << 0xc" identifier << number_literal) | (binary_expression "uVar6 >> 0x14" identifier >> number_literal))) ;) (expression_statement "uVar17 = local_9c + uVar5 + uVar6;" (assignment_expression "uVar17 = local_9c + uVar5 + uVar6" identifier = (binary_expression "local_9c + uVar5 + uVar6" (binary_expression "local_9c + uVar5" identifier + identifier) + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ uVar17;" (assignment_expression "uVar7 = uVar7 ^ uVar17" identifier = (binary_expression "uVar7 ^ uVar17" identifier ^ identifier)) ;) (expression_statement "uVar8 = uVar7 << 8 | uVar7 >> 0x18;" (assignment_expression "uVar8 = uVar7 << 8 | uVar7 >> 0x18" identifier = (binary_expression "uVar7 << 8 | uVar7 >> 0x18" (binary_expression "uVar7 << 8" identifier << number_literal) | (binary_expression "uVar7 >> 0x18" identifier >> number_literal))) ;) (expression_statement "uVar2 = uVar2 + uVar8;" (assignment_expression "uVar2 = uVar2 + uVar8" identifier = (binary_expression "uVar2 + uVar8" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ uVar2;" (assignment_expression "uVar6 = uVar6 ^ uVar2" identifier = (binary_expression "uVar6 ^ uVar2" identifier ^ identifier)) ;) (expression_statement "uVar4 = uVar6 << 7 | uVar6 >> 0x19;" (assignment_expression "uVar4 = uVar6 << 7 | uVar6 >> 0x19" identifier = (binary_expression "uVar6 << 7 | uVar6 >> 0x19" (binary_expression "uVar6 << 7" identifier << number_literal) | (binary_expression "uVar6 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar6 = uVar21 ^ local_b8 + local_98;" (assignment_expression "uVar6 = uVar21 ^ local_b8 + local_98" identifier = (binary_expression "uVar21 ^ local_b8 + local_98" identifier ^ (binary_expression "local_b8 + local_98" identifier + identifier))) ;) (expression_statement "uVar20 = uVar6 << 0x10 | uVar6 >> 0x10;" (assignment_expression "uVar20 = uVar6 << 0x10 | uVar6 >> 0x10" identifier = (binary_expression "uVar6 << 0x10 | uVar6 >> 0x10" (binary_expression "uVar6 << 0x10" identifier << number_literal) | (binary_expression "uVar6 >> 0x10" identifier >> number_literal))) ;) (expression_statement "uVar11 = uVar14 + uVar20;" (assignment_expression "uVar11 = uVar14 + uVar20" identifier = (binary_expression "uVar14 + uVar20" identifier + identifier)) ;) (expression_statement "uVar6 = local_98 ^ uVar11;" (assignment_expression "uVar6 = local_98 ^ uVar11" identifier = (binary_expression "local_98 ^ uVar11" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar6 << 0xc | uVar6 >> 0x14;" (assignment_expression "uVar7 = uVar6 << 0xc | uVar6 >> 0x14" identifier = (binary_expression "uVar6 << 0xc | uVar6 >> 0x14" (binary_expression "uVar6 << 0xc" identifier << number_literal) | (binary_expression "uVar6 >> 0x14" identifier >> number_literal))) ;) (expression_statement "uVar6 = local_b8 + local_98 + uVar7;" (assignment_expression "uVar6 = local_b8 + local_98 + uVar7" identifier = (binary_expression "local_b8 + local_98 + uVar7" (binary_expression "local_b8 + local_98" identifier + identifier) + identifier)) ;) (expression_statement "uVar20 = uVar20 ^ uVar6;" (assignment_expression "uVar20 = uVar20 ^ uVar6" identifier = (binary_expression "uVar20 ^ uVar6" identifier ^ identifier)) ;) (expression_statement "uVar20 = uVar20 << 8 | uVar20 >> 0x18;" (assignment_expression "uVar20 = uVar20 << 8 | uVar20 >> 0x18" identifier = (binary_expression "uVar20 << 8 | uVar20 >> 0x18" (binary_expression "uVar20 << 8" identifier << number_literal) | (binary_expression "uVar20 >> 0x18" identifier >> number_literal))) ;) (expression_statement "uVar11 = uVar11 + uVar20;" (assignment_expression "uVar11 = uVar11 + uVar20" identifier = (binary_expression "uVar11 + uVar20" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ uVar11;" (assignment_expression "uVar7 = uVar7 ^ uVar11" identifier = (binary_expression "uVar7 ^ uVar11" identifier ^ identifier)) ;) (expression_statement "uVar9 = uVar7 << 7 | uVar7 >> 0x19;" (assignment_expression "uVar9 = uVar7 << 7 | uVar7 >> 0x19" identifier = (binary_expression "uVar7 << 7 | uVar7 >> 0x19" (binary_expression "uVar7 << 7" identifier << number_literal) | (binary_expression "uVar7 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar7 = local_b0 ^ local_94 + local_ac;" (assignment_expression "uVar7 = local_b0 ^ local_94 + local_ac" identifier = (binary_expression "local_b0 ^ local_94 + local_ac" identifier ^ (binary_expression "local_94 + local_ac" identifier + identifier))) ;) (expression_statement "uVar18 = uVar7 << 0x10 | uVar7 >> 0x10;" (assignment_expression "uVar18 = uVar7 << 0x10 | uVar7 >> 0x10" identifier = (binary_expression "uVar7 << 0x10 | uVar7 >> 0x10" (binary_expression "uVar7 << 0x10" identifier << number_literal) | (binary_expression "uVar7 >> 0x10" identifier >> number_literal))) ;) (expression_statement "uVar12 = local_b4 + uVar18;" (assignment_expression "uVar12 = local_b4 + uVar18" identifier = (binary_expression "local_b4 + uVar18" identifier + identifier)) ;) (expression_statement "uVar7 = local_ac ^ uVar12;" (assignment_expression "uVar7 = local_ac ^ uVar12" identifier = (binary_expression "local_ac ^ uVar12" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar7 = uVar7 << 0xc | uVar7 >> 0x14" identifier = (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" identifier << number_literal) | (binary_expression "uVar7 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_94 = local_94 + local_ac + uVar7;" (assignment_expression "local_94 = local_94 + local_ac + uVar7" identifier = (binary_expression "local_94 + local_ac + uVar7" (binary_expression "local_94 + local_ac" identifier + identifier) + identifier)) ;) (expression_statement "uVar18 = uVar18 ^ local_94;" (assignment_expression "uVar18 = uVar18 ^ local_94" identifier = (binary_expression "uVar18 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar19 = uVar18 << 8 | uVar18 >> 0x18;" (assignment_expression "uVar19 = uVar18 << 8 | uVar18 >> 0x18" identifier = (binary_expression "uVar18 << 8 | uVar18 >> 0x18" (binary_expression "uVar18 << 8" identifier << number_literal) | (binary_expression "uVar18 >> 0x18" identifier >> number_literal))) ;) (expression_statement "uVar12 = uVar19 + uVar12;" (assignment_expression "uVar12 = uVar19 + uVar12" identifier = (binary_expression "uVar19 + uVar12" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ uVar12;" (assignment_expression "uVar7 = uVar7 ^ uVar12" identifier = (binary_expression "uVar7 ^ uVar12" identifier ^ identifier)) ;) (expression_statement "uVar18 = local_a4 ^ uVar16 + local_a0;" (assignment_expression "uVar18 = local_a4 ^ uVar16 + local_a0" identifier = (binary_expression "local_a4 ^ uVar16 + local_a0" identifier ^ (binary_expression "uVar16 + local_a0" identifier + identifier))) ;) (expression_statement "uVar7 = uVar7 << 7 | uVar7 >> 0x19;" (assignment_expression "uVar7 = uVar7 << 7 | uVar7 >> 0x19" identifier = (binary_expression "uVar7 << 7 | uVar7 >> 0x19" (binary_expression "uVar7 << 7" identifier << number_literal) | (binary_expression "uVar7 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar13 = uVar18 << 0x10 | uVar18 >> 0x10;" (assignment_expression "uVar13 = uVar18 << 0x10 | uVar18 >> 0x10" identifier = (binary_expression "uVar18 << 0x10 | uVar18 >> 0x10" (binary_expression "uVar18 << 0x10" identifier << number_literal) | (binary_expression "uVar18 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar13;" (assignment_expression "local_a8 = local_a8 + uVar13" identifier = (binary_expression "local_a8 + uVar13" identifier + identifier)) ;) (expression_statement "uVar18 = local_a0 ^ local_a8;" (assignment_expression "uVar18 = local_a0 ^ local_a8" identifier = (binary_expression "local_a0 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar18 = uVar18 << 0xc | uVar18 >> 0x14;" (assignment_expression "uVar18 = uVar18 << 0xc | uVar18 >> 0x14" identifier = (binary_expression "uVar18 << 0xc | uVar18 >> 0x14" (binary_expression "uVar18 << 0xc" identifier << number_literal) | (binary_expression "uVar18 >> 0x14" identifier >> number_literal))) ;) (expression_statement "uVar15 = uVar16 + local_a0 + uVar18;" (assignment_expression "uVar15 = uVar16 + local_a0 + uVar18" identifier = (binary_expression "uVar16 + local_a0 + uVar18" (binary_expression "uVar16 + local_a0" identifier + identifier) + identifier)) ;) (expression_statement "uVar13 = uVar13 ^ uVar15;" (assignment_expression "uVar13 = uVar13 ^ uVar15" identifier = (binary_expression "uVar13 ^ uVar15" identifier ^ identifier)) ;) (expression_statement "uVar13 = uVar13 << 8 | uVar13 >> 0x18;" (assignment_expression "uVar13 = uVar13 << 8 | uVar13 >> 0x18" identifier = (binary_expression "uVar13 << 8 | uVar13 >> 0x18" (binary_expression "uVar13 << 8" identifier << number_literal) | (binary_expression "uVar13 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar13;" (assignment_expression "local_a8 = local_a8 + uVar13" identifier = (binary_expression "local_a8 + uVar13" identifier + identifier)) ;) (expression_statement "uVar18 = uVar18 ^ local_a8;" (assignment_expression "uVar18 = uVar18 ^ local_a8" identifier = (binary_expression "uVar18 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar18 = uVar18 << 7 | uVar18 >> 0x19;" (assignment_expression "uVar18 = uVar18 << 7 | uVar18 >> 0x19" identifier = (binary_expression "uVar18 << 7 | uVar18 >> 0x19" (binary_expression "uVar18 << 7" identifier << number_literal) | (binary_expression "uVar18 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 + uVar9;" (assignment_expression "uVar17 = uVar17 + uVar9" identifier = (binary_expression "uVar17 + uVar9" identifier + identifier)) ;) (expression_statement "uVar13 = uVar13 ^ uVar17;" (assignment_expression "uVar13 = uVar13 ^ uVar17" identifier = (binary_expression "uVar13 ^ uVar17" identifier ^ identifier)) ;) (expression_statement "uVar13 = uVar13 << 0x10 | uVar13 >> 0x10;" (assignment_expression "uVar13 = uVar13 << 0x10 | uVar13 >> 0x10" identifier = (binary_expression "uVar13 << 0x10 | uVar13 >> 0x10" (binary_expression "uVar13 << 0x10" identifier << number_literal) | (binary_expression "uVar13 >> 0x10" identifier >> number_literal))) ;) (expression_statement "uVar12 = uVar12 + uVar13;" (assignment_expression "uVar12 = uVar12 + uVar13" identifier = (binary_expression "uVar12 + uVar13" identifier + identifier)) ;) (expression_statement "uVar9 = uVar9 ^ uVar12;" (assignment_expression "uVar9 = uVar9 ^ uVar12" identifier = (binary_expression "uVar9 ^ uVar12" identifier ^ identifier)) ;) (expression_statement "uVar9 = uVar9 << 0xc | uVar9 >> 0x14;" (assignment_expression "uVar9 = uVar9 << 0xc | uVar9 >> 0x14" identifier = (binary_expression "uVar9 << 0xc | uVar9 >> 0x14" (binary_expression "uVar9 << 0xc" identifier << number_literal) | (binary_expression "uVar9 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_9c = uVar17 + uVar9;" (assignment_expression "local_9c = uVar17 + uVar9" identifier = (binary_expression "uVar17 + uVar9" identifier + identifier)) ;) (expression_statement "uVar13 = uVar13 ^ local_9c;" (assignment_expression "uVar13 = uVar13 ^ local_9c" identifier = (binary_expression "uVar13 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "local_a4 = uVar13 << 8 | uVar13 >> 0x18;" (assignment_expression "local_a4 = uVar13 << 8 | uVar13 >> 0x18" identifier = (binary_expression "uVar13 << 8 | uVar13 >> 0x18" (binary_expression "uVar13 << 8" identifier << number_literal) | (binary_expression "uVar13 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_b4 = uVar12 + local_a4;" (assignment_expression "local_b4 = uVar12 + local_a4" identifier = (binary_expression "uVar12 + local_a4" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 + uVar7;" (assignment_expression "uVar6 = uVar6 + uVar7" identifier = (binary_expression "uVar6 + uVar7" identifier + identifier)) ;) (expression_statement "uVar9 = uVar9 ^ local_b4;" (assignment_expression "uVar9 = uVar9 ^ local_b4" identifier = (binary_expression "uVar9 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "local_98 = uVar9 << 7 | uVar9 >> 0x19;" (assignment_expression "local_98 = uVar9 << 7 | uVar9 >> 0x19" identifier = (binary_expression "uVar9 << 7 | uVar9 >> 0x19" (binary_expression "uVar9 << 7" identifier << number_literal) | (binary_expression "uVar9 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar8 = uVar8 ^ uVar6;" (assignment_expression "uVar8 = uVar8 ^ uVar6" identifier = (binary_expression "uVar8 ^ uVar6" identifier ^ identifier)) ;) (expression_statement "uVar9 = uVar8 << 0x10 | uVar8 >> 0x10;" (assignment_expression "uVar9 = uVar8 << 0x10 | uVar8 >> 0x10" identifier = (binary_expression "uVar8 << 0x10 | uVar8 >> 0x10" (binary_expression "uVar8 << 0x10" identifier << number_literal) | (binary_expression "uVar8 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar9;" (assignment_expression "local_a8 = local_a8 + uVar9" identifier = (binary_expression "local_a8 + uVar9" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_a8;" (assignment_expression "uVar7 = uVar7 ^ local_a8" identifier = (binary_expression "uVar7 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar7 = uVar7 << 0xc | uVar7 >> 0x14" identifier = (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" identifier << number_literal) | (binary_expression "uVar7 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_b8 = uVar6 + uVar7;" (assignment_expression "local_b8 = uVar6 + uVar7" identifier = (binary_expression "uVar6 + uVar7" identifier + identifier)) ;) (expression_statement "uVar9 = uVar9 ^ local_b8;" (assignment_expression "uVar9 = uVar9 ^ local_b8" identifier = (binary_expression "uVar9 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "uVar10 = uVar9 << 8 | uVar9 >> 0x18;" (assignment_expression "uVar10 = uVar9 << 8 | uVar9 >> 0x18" identifier = (binary_expression "uVar9 << 8 | uVar9 >> 0x18" (binary_expression "uVar9 << 8" identifier << number_literal) | (binary_expression "uVar9 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar10;" (assignment_expression "local_a8 = local_a8 + uVar10" identifier = (binary_expression "local_a8 + uVar10" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_a8;" (assignment_expression "uVar7 = uVar7 ^ local_a8" identifier = (binary_expression "uVar7 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "local_94 = local_94 + uVar18;" (assignment_expression "local_94 = local_94 + uVar18" identifier = (binary_expression "local_94 + uVar18" identifier + identifier)) ;) (expression_statement "local_ac = uVar7 << 7 | uVar7 >> 0x19;" (assignment_expression "local_ac = uVar7 << 7 | uVar7 >> 0x19" identifier = (binary_expression "uVar7 << 7 | uVar7 >> 0x19" (binary_expression "uVar7 << 7" identifier << number_literal) | (binary_expression "uVar7 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar20 = uVar20 ^ local_94;" (assignment_expression "uVar20 = uVar20 ^ local_94" identifier = (binary_expression "uVar20 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar20 << 0x10 | uVar20 >> 0x10;" (assignment_expression "uVar7 = uVar20 << 0x10 | uVar20 >> 0x10" identifier = (binary_expression "uVar20 << 0x10 | uVar20 >> 0x10" (binary_expression "uVar20 << 0x10" identifier << number_literal) | (binary_expression "uVar20 >> 0x10" identifier >> number_literal))) ;) (expression_statement "uVar2 = uVar2 + uVar7;" (assignment_expression "uVar2 = uVar2 + uVar7" identifier = (binary_expression "uVar2 + uVar7" identifier + identifier)) ;) (expression_statement "uVar18 = uVar18 ^ uVar2;" (assignment_expression "uVar18 = uVar18 ^ uVar2" identifier = (binary_expression "uVar18 ^ uVar2" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar18 << 0xc | uVar18 >> 0x14;" (assignment_expression "uVar6 = uVar18 << 0xc | uVar18 >> 0x14" identifier = (binary_expression "uVar18 << 0xc | uVar18 >> 0x14" (binary_expression "uVar18 << 0xc" identifier << number_literal) | (binary_expression "uVar18 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_94 = local_94 + uVar6;" (assignment_expression "local_94 = local_94 + uVar6" identifier = (binary_expression "local_94 + uVar6" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_94;" (assignment_expression "uVar7 = uVar7 ^ local_94" identifier = (binary_expression "uVar7 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar21 = uVar7 << 8 | uVar7 >> 0x18;" (assignment_expression "uVar21 = uVar7 << 8 | uVar7 >> 0x18" identifier = (binary_expression "uVar7 << 8 | uVar7 >> 0x18" (binary_expression "uVar7 << 8" identifier << number_literal) | (binary_expression "uVar7 >> 0x18" identifier >> number_literal))) ;) (expression_statement "uVar3 = uVar2 + uVar21;" (assignment_expression "uVar3 = uVar2 + uVar21" identifier = (binary_expression "uVar2 + uVar21" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ uVar3;" (assignment_expression "uVar6 = uVar6 ^ uVar3" identifier = (binary_expression "uVar6 ^ uVar3" identifier ^ identifier)) ;) (expression_statement "local_a0 = uVar6 << 7 | uVar6 >> 0x19;" (assignment_expression "local_a0 = uVar6 << 7 | uVar6 >> 0x19" identifier = (binary_expression "uVar6 << 7 | uVar6 >> 0x19" (binary_expression "uVar6 << 7" identifier << number_literal) | (binary_expression "uVar6 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar15 = uVar15 + uVar4;" (assignment_expression "uVar15 = uVar15 + uVar4" identifier = (binary_expression "uVar15 + uVar4" identifier + identifier)) ;) (expression_statement "uVar19 = uVar19 ^ uVar15;" (assignment_expression "uVar19 = uVar19 ^ uVar15" identifier = (binary_expression "uVar19 ^ uVar15" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar19 << 0x10 | uVar19 >> 0x10;" (assignment_expression "uVar7 = uVar19 << 0x10 | uVar19 >> 0x10" identifier = (binary_expression "uVar19 << 0x10 | uVar19 >> 0x10" (binary_expression "uVar19 << 0x10" identifier << number_literal) | (binary_expression "uVar19 >> 0x10" identifier >> number_literal))) ;) (expression_statement "uVar11 = uVar11 + uVar7;" (assignment_expression "uVar11 = uVar11 + uVar7" identifier = (binary_expression "uVar11 + uVar7" identifier + identifier)) ;) (expression_statement "uVar4 = uVar4 ^ uVar11;" (assignment_expression "uVar4 = uVar4 ^ uVar11" identifier = (binary_expression "uVar4 ^ uVar11" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar4 << 0xc | uVar4 >> 0x14;" (assignment_expression "uVar6 = uVar4 << 0xc | uVar4 >> 0x14" identifier = (binary_expression "uVar4 << 0xc | uVar4 >> 0x14" (binary_expression "uVar4 << 0xc" identifier << number_literal) | (binary_expression "uVar4 >> 0x14" identifier >> number_literal))) ;) (expression_statement "uVar16 = uVar15 + uVar6;" (assignment_expression "uVar16 = uVar15 + uVar6" identifier = (binary_expression "uVar15 + uVar6" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ uVar16;" (assignment_expression "uVar7 = uVar7 ^ uVar16" identifier = (binary_expression "uVar7 ^ uVar16" identifier ^ identifier)) ;) (expression_statement "local_b0 = uVar7 << 8 | uVar7 >> 0x18;" (assignment_expression "local_b0 = uVar7 << 8 | uVar7 >> 0x18" identifier = (binary_expression "uVar7 << 8 | uVar7 >> 0x18" (binary_expression "uVar7 << 8" identifier << number_literal) | (binary_expression "uVar7 >> 0x18" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar11 + local_b0;" (assignment_expression "uVar14 = uVar11 + local_b0" identifier = (binary_expression "uVar11 + local_b0" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ uVar14;" (assignment_expression "uVar6 = uVar6 ^ uVar14" identifier = (binary_expression "uVar6 ^ uVar14" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar6 << 7 | uVar6 >> 0x19;" (assignment_expression "uVar5 = uVar6 << 7 | uVar6 >> 0x19" identifier = (binary_expression "uVar6 << 7 | uVar6 >> 0x19" (binary_expression "uVar6 << 7" identifier << number_literal) | (binary_expression "uVar6 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_78 = local_78 + -1;" (assignment_expression "local_78 = local_78 + -1" identifier = (binary_expression "local_78 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) ;) (expression_statement "copy[1] = local_b8 + ctx->state[1];" (assignment_expression "copy[1] = local_b8 + ctx->state[1]" (subscript_expression "copy[1]" identifier [ number_literal ]) = (binary_expression "local_b8 + ctx->state[1]" identifier + (subscript_expression "ctx->state[1]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[3] = uVar16 + ctx->state[3];" (assignment_expression "copy[3] = uVar16 + ctx->state[3]" (subscript_expression "copy[3]" identifier [ number_literal ]) = (binary_expression "uVar16 + ctx->state[3]" identifier + (subscript_expression "ctx->state[3]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[0] = local_9c + ctx->state[0];" (assignment_expression "copy[0] = local_9c + ctx->state[0]" (subscript_expression "copy[0]" identifier [ number_literal ]) = (binary_expression "local_9c + ctx->state[0]" identifier + (subscript_expression "ctx->state[0]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[2] = local_94 + ctx->state[2];" (assignment_expression "copy[2] = local_94 + ctx->state[2]" (subscript_expression "copy[2]" identifier [ number_literal ]) = (binary_expression "local_94 + ctx->state[2]" identifier + (subscript_expression "ctx->state[2]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[4] = uVar5 + ctx->state[4];" (assignment_expression "copy[4] = uVar5 + ctx->state[4]" (subscript_expression "copy[4]" identifier [ number_literal ]) = (binary_expression "uVar5 + ctx->state[4]" identifier + (subscript_expression "ctx->state[4]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[5] = local_98 + ctx->state[5];" (assignment_expression "copy[5] = local_98 + ctx->state[5]" (subscript_expression "copy[5]" identifier [ number_literal ]) = (binary_expression "local_98 + ctx->state[5]" identifier + (subscript_expression "ctx->state[5]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[6] = local_ac + ctx->state[6];" (assignment_expression "copy[6] = local_ac + ctx->state[6]" (subscript_expression "copy[6]" identifier [ number_literal ]) = (binary_expression "local_ac + ctx->state[6]" identifier + (subscript_expression "ctx->state[6]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[7] = local_a0 + ctx->state[7];" (assignment_expression "copy[7] = local_a0 + ctx->state[7]" (subscript_expression "copy[7]" identifier [ number_literal ]) = (binary_expression "local_a0 + ctx->state[7]" identifier + (subscript_expression "ctx->state[7]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[8] = uVar3 + ctx->state[8];" (assignment_expression "copy[8] = uVar3 + ctx->state[8]" (subscript_expression "copy[8]" identifier [ number_literal ]) = (binary_expression "uVar3 + ctx->state[8]" identifier + (subscript_expression "ctx->state[8]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[9] = uVar14 + ctx->state[9];" (assignment_expression "copy[9] = uVar14 + ctx->state[9]" (subscript_expression "copy[9]" identifier [ number_literal ]) = (binary_expression "uVar14 + ctx->state[9]" identifier + (subscript_expression "ctx->state[9]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[0xb] = local_a8 + ctx->state[0xb];" (assignment_expression "copy[0xb] = local_a8 + ctx->state[0xb]" (subscript_expression "copy[0xb]" identifier [ number_literal ]) = (binary_expression "local_a8 + ctx->state[0xb]" identifier + (subscript_expression "ctx->state[0xb]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[10] = local_b4 + ctx->state[10];" (assignment_expression "copy[10] = local_b4 + ctx->state[10]" (subscript_expression "copy[10]" identifier [ number_literal ]) = (binary_expression "local_b4 + ctx->state[10]" identifier + (subscript_expression "ctx->state[10]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[0xc] = uVar10 + ctx->state[0xc];" (assignment_expression "copy[0xc] = uVar10 + ctx->state[0xc]" (subscript_expression "copy[0xc]" identifier [ number_literal ]) = (binary_expression "uVar10 + ctx->state[0xc]" identifier + (subscript_expression "ctx->state[0xc]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[0xd] = uVar21 + ctx->state[0xd];" (assignment_expression "copy[0xd] = uVar21 + ctx->state[0xd]" (subscript_expression "copy[0xd]" identifier [ number_literal ]) = (binary_expression "uVar21 + ctx->state[0xd]" identifier + (subscript_expression "ctx->state[0xd]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[0xe] = local_b0 + ctx->state[0xe];" (assignment_expression "copy[0xe] = local_b0 + ctx->state[0xe]" (subscript_expression "copy[0xe]" identifier [ number_literal ]) = (binary_expression "local_b0 + ctx->state[0xe]" identifier + (subscript_expression "ctx->state[0xe]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "copy[0xf] = local_a4 + ctx->state[0xf];" (assignment_expression "copy[0xf] = local_a4 + ctx->state[0xf]" (subscript_expression "copy[0xf]" identifier [ number_literal ]) = (binary_expression "local_a4 + ctx->state[0xf]" identifier + (subscript_expression "ctx->state[0xf]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "*(uint32 *)ctx->current = copy[0];" (assignment_expression "*(uint32 *)ctx->current = copy[0]" (pointer_expression "*(uint32 *)ctx->current" * (cast_expression "(uint32 *)ctx->current" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ctx->current" identifier -> field_identifier))) = (subscript_expression "copy[0]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 4) = copy[1];" (assignment_expression "*(uint32 *)(ctx->current + 4) = copy[1]" (pointer_expression "*(uint32 *)(ctx->current + 4)" * (cast_expression "(uint32 *)(ctx->current + 4)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 4)" ( (binary_expression "ctx->current + 4" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 8) = copy[2];" (assignment_expression "*(uint32 *)(ctx->current + 8) = copy[2]" (pointer_expression "*(uint32 *)(ctx->current + 8)" * (cast_expression "(uint32 *)(ctx->current + 8)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 8)" ( (binary_expression "ctx->current + 8" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[2]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0xc) = copy[3];" (assignment_expression "*(uint32 *)(ctx->current + 0xc) = copy[3]" (pointer_expression "*(uint32 *)(ctx->current + 0xc)" * (cast_expression "(uint32 *)(ctx->current + 0xc)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0xc)" ( (binary_expression "ctx->current + 0xc" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[3]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x10) = copy[4];" (assignment_expression "*(uint32 *)(ctx->current + 0x10) = copy[4]" (pointer_expression "*(uint32 *)(ctx->current + 0x10)" * (cast_expression "(uint32 *)(ctx->current + 0x10)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x10)" ( (binary_expression "ctx->current + 0x10" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[4]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x14) = copy[5];" (assignment_expression "*(uint32 *)(ctx->current + 0x14) = copy[5]" (pointer_expression "*(uint32 *)(ctx->current + 0x14)" * (cast_expression "(uint32 *)(ctx->current + 0x14)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x14)" ( (binary_expression "ctx->current + 0x14" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[5]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x18) = copy[6];" (assignment_expression "*(uint32 *)(ctx->current + 0x18) = copy[6]" (pointer_expression "*(uint32 *)(ctx->current + 0x18)" * (cast_expression "(uint32 *)(ctx->current + 0x18)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x18)" ( (binary_expression "ctx->current + 0x18" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[6]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x1c) = copy[7];" (assignment_expression "*(uint32 *)(ctx->current + 0x1c) = copy[7]" (pointer_expression "*(uint32 *)(ctx->current + 0x1c)" * (cast_expression "(uint32 *)(ctx->current + 0x1c)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x1c)" ( (binary_expression "ctx->current + 0x1c" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[7]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x20) = copy[8];" (assignment_expression "*(uint32 *)(ctx->current + 0x20) = copy[8]" (pointer_expression "*(uint32 *)(ctx->current + 0x20)" * (cast_expression "(uint32 *)(ctx->current + 0x20)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x20)" ( (binary_expression "ctx->current + 0x20" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[8]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x24) = copy[9];" (assignment_expression "*(uint32 *)(ctx->current + 0x24) = copy[9]" (pointer_expression "*(uint32 *)(ctx->current + 0x24)" * (cast_expression "(uint32 *)(ctx->current + 0x24)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x24)" ( (binary_expression "ctx->current + 0x24" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[9]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x28) = copy[10];" (assignment_expression "*(uint32 *)(ctx->current + 0x28) = copy[10]" (pointer_expression "*(uint32 *)(ctx->current + 0x28)" * (cast_expression "(uint32 *)(ctx->current + 0x28)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x28)" ( (binary_expression "ctx->current + 0x28" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[10]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x2c) = copy[0xb];" (assignment_expression "*(uint32 *)(ctx->current + 0x2c) = copy[0xb]" (pointer_expression "*(uint32 *)(ctx->current + 0x2c)" * (cast_expression "(uint32 *)(ctx->current + 0x2c)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x2c)" ( (binary_expression "ctx->current + 0x2c" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[0xb]" identifier [ number_literal ])) ;) (expression_statement "ctx->currentIndex = 0;" (assignment_expression "ctx->currentIndex = 0" (field_expression "ctx->currentIndex" identifier -> field_identifier) = number_literal) ;) (expression_statement "*(uint32 *)(ctx->current + 0x30) = copy[0xc];" (assignment_expression "*(uint32 *)(ctx->current + 0x30) = copy[0xc]" (pointer_expression "*(uint32 *)(ctx->current + 0x30)" * (cast_expression "(uint32 *)(ctx->current + 0x30)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x30)" ( (binary_expression "ctx->current + 0x30" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x34) = copy[0xd];" (assignment_expression "*(uint32 *)(ctx->current + 0x34) = copy[0xd]" (pointer_expression "*(uint32 *)(ctx->current + 0x34)" * (cast_expression "(uint32 *)(ctx->current + 0x34)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x34)" ( (binary_expression "ctx->current + 0x34" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[0xd]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x38) = copy[0xe];" (assignment_expression "*(uint32 *)(ctx->current + 0x38) = copy[0xe]" (pointer_expression "*(uint32 *)(ctx->current + 0x38)" * (cast_expression "(uint32 *)(ctx->current + 0x38)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x38)" ( (binary_expression "ctx->current + 0x38" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(uint32 *)(ctx->current + 0x3c) = copy[0xf];" (assignment_expression "*(uint32 *)(ctx->current + 0x3c) = copy[0xf]" (pointer_expression "*(uint32 *)(ctx->current + 0x3c)" * (cast_expression "(uint32 *)(ctx->current + 0x3c)" ( (type_descriptor "uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ctx->current + 0x3c)" ( (binary_expression "ctx->current + 0x3c" (field_expression "ctx->current" identifier -> field_identifier) + number_literal) )))) = (subscript_expression "copy[0xf]" identifier [ number_literal ])) ;) (expression_statement "smemclr(copy,0x40);" (call_expression "smemclr(copy,0x40)" identifier (argument_list "(copy,0x40)" ( identifier , number_literal ))) ;) (expression_statement "uVar10 = ctx->state[0xc] + 1;" (assignment_expression "uVar10 = ctx->state[0xc] + 1" identifier = (binary_expression "ctx->state[0xc] + 1" (subscript_expression "ctx->state[0xc]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]) + number_literal)) ;) (expression_statement "ctx->state[0xc] = uVar10;" (assignment_expression "ctx->state[0xc] = uVar10" (subscript_expression "ctx->state[0xc]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (if_statement "if (uVar10 == 0) {\n    ctx->state[0xd] = ctx->state[0xd] + 1;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    ctx->state[0xd] = ctx->state[0xd] + 1;\n  }" { (expression_statement "ctx->state[0xd] = ctx->state[0xd] + 1;" (assignment_expression "ctx->state[0xd] = ctx->state[0xd] + 1" (subscript_expression "ctx->state[0xd]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]) = (binary_expression "ctx->state[0xd] + 1" (subscript_expression "ctx->state[0xd]" (field_expression "ctx->state" identifier -> field_identifier) [ number_literal ]) + number_literal)) ;) })) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void __regparm3 FUN_000653e0(uint *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000c60b0();\n}\n\n" (function_definition "void __regparm3 FUN_000653e0(uint *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000c60b0();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000653e0(uint *param_1)" identifier (parameter_list "(uint *param_1)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000c60b0();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "local_94 = param_1[2];" (assignment_expression "local_94 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "local_30 = param_1[0xc];" (assignment_expression "local_30 = param_1[0xc]" identifier = (subscript_expression "param_1[0xc]" identifier [ number_literal ])) ;) (expression_statement "local_50 = param_1[4];" (assignment_expression "local_50 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_3c = param_1[9];" (assignment_expression "local_3c = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "local_ac = param_1[6];" (assignment_expression "local_ac = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_9c = *param_1;" (assignment_expression "local_9c = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_b0 = param_1[0xe];" (assignment_expression "local_b0 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "local_40 = param_1[8];" (assignment_expression "local_40 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = param_1[1];" (assignment_expression "local_b8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_98 = param_1[5];" (assignment_expression "local_98 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_2c = param_1[0xd];" (assignment_expression "local_2c = param_1[0xd]" identifier = (subscript_expression "param_1[0xd]" identifier [ number_literal ])) ;) (expression_statement "local_b4 = param_1[10];" (assignment_expression "local_b4 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "local_54 = param_1[3];" (assignment_expression "local_54 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_a0 = param_1[7];" (assignment_expression "local_a0 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = param_1[0xf];" (assignment_expression "local_a4 = param_1[0xf]" identifier = (subscript_expression "param_1[0xf]" identifier [ number_literal ])) ;) (expression_statement "local_78 = 10;" (assignment_expression "local_78 = 10" identifier = number_literal) ;) (expression_statement "local_a8 = param_1[0xb];" (assignment_expression "local_a8 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (do_statement "do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);" do (compound_statement "{\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  }" { (expression_statement "local_30 = local_30 ^ local_9c + local_50;" (assignment_expression "local_30 = local_30 ^ local_9c + local_50" identifier = (binary_expression "local_30 ^ local_9c + local_50" identifier ^ (binary_expression "local_9c + local_50" identifier + identifier))) ;) (expression_statement "uVar3 = local_30 << 0x10 | local_30 >> 0x10;" (assignment_expression "uVar3 = local_30 << 0x10 | local_30 >> 0x10" identifier = (binary_expression "local_30 << 0x10 | local_30 >> 0x10" (binary_expression "local_30 << 0x10" identifier << number_literal) | (binary_expression "local_30 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + uVar3;" (assignment_expression "local_40 = local_40 + uVar3" identifier = (binary_expression "local_40 + uVar3" identifier + identifier)) ;) (expression_statement "uVar1 = local_50 ^ local_40;" (assignment_expression "uVar1 = local_50 ^ local_40" identifier = (binary_expression "local_50 ^ local_40" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_9c = local_9c + local_50 + uVar1;" (assignment_expression "local_9c = local_9c + local_50 + uVar1" identifier = (binary_expression "local_9c + local_50 + uVar1" (binary_expression "local_9c + local_50" identifier + identifier) + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_9c;" (assignment_expression "uVar3 = uVar3 ^ local_9c" identifier = (binary_expression "uVar3 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "uVar4 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "uVar4 = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + uVar4;" (assignment_expression "local_40 = local_40 + uVar4" identifier = (binary_expression "local_40 + uVar4" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_40;" (assignment_expression "uVar1 = uVar1 ^ local_40" identifier = (binary_expression "uVar1 ^ local_40" identifier ^ identifier)) ;) (expression_statement "uVar2 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar2 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_2c = local_2c ^ local_b8 + local_98;" (assignment_expression "local_2c = local_2c ^ local_b8 + local_98" identifier = (binary_expression "local_2c ^ local_b8 + local_98" identifier ^ (binary_expression "local_b8 + local_98" identifier + identifier))) ;) (expression_statement "uVar3 = local_2c << 0x10 | local_2c >> 0x10;" (assignment_expression "uVar3 = local_2c << 0x10 | local_2c >> 0x10" identifier = (binary_expression "local_2c << 0x10 | local_2c >> 0x10" (binary_expression "local_2c << 0x10" identifier << number_literal) | (binary_expression "local_2c >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" identifier = (binary_expression "local_3c + uVar3" identifier + identifier)) ;) (expression_statement "uVar1 = local_98 ^ local_3c;" (assignment_expression "uVar1 = local_98 ^ local_3c" identifier = (binary_expression "local_98 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_b8 = local_b8 + local_98 + uVar1;" (assignment_expression "local_b8 = local_b8 + local_98 + uVar1" identifier = (binary_expression "local_b8 + local_98 + uVar1" (binary_expression "local_b8 + local_98" identifier + identifier) + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_b8;" (assignment_expression "uVar3 = uVar3 ^ local_b8" identifier = (binary_expression "uVar3 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "uVar3 = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" identifier = (binary_expression "local_3c + uVar3" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_3c;" (assignment_expression "uVar1 = uVar1 ^ local_3c" identifier = (binary_expression "uVar1 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar5 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_b0 = local_b0 ^ local_94 + local_ac;" (assignment_expression "local_b0 = local_b0 ^ local_94 + local_ac" identifier = (binary_expression "local_b0 ^ local_94 + local_ac" identifier ^ (binary_expression "local_94 + local_ac" identifier + identifier))) ;) (expression_statement "uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;" (assignment_expression "uVar7 = local_b0 << 0x10 | local_b0 >> 0x10" identifier = (binary_expression "local_b0 << 0x10 | local_b0 >> 0x10" (binary_expression "local_b0 << 0x10" identifier << number_literal) | (binary_expression "local_b0 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_b4 = local_b4 + uVar7;" (assignment_expression "local_b4 = local_b4 + uVar7" identifier = (binary_expression "local_b4 + uVar7" identifier + identifier)) ;) (expression_statement "uVar1 = local_ac ^ local_b4;" (assignment_expression "uVar1 = local_ac ^ local_b4" identifier = (binary_expression "local_ac ^ local_b4" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_94 = local_94 + local_ac + uVar1;" (assignment_expression "local_94 = local_94 + local_ac + uVar1" identifier = (binary_expression "local_94 + local_ac + uVar1" (binary_expression "local_94 + local_ac" identifier + identifier) + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_94;" (assignment_expression "uVar7 = uVar7 ^ local_94" identifier = (binary_expression "uVar7 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar8 = uVar7 << 8 | uVar7 >> 0x18;" (assignment_expression "uVar8 = uVar7 << 8 | uVar7 >> 0x18" identifier = (binary_expression "uVar7 << 8 | uVar7 >> 0x18" (binary_expression "uVar7 << 8" identifier << number_literal) | (binary_expression "uVar7 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_b4 = uVar8 + local_b4;" (assignment_expression "local_b4 = uVar8 + local_b4" identifier = (binary_expression "uVar8 + local_b4" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_b4;" (assignment_expression "uVar1 = uVar1 ^ local_b4" identifier = (binary_expression "uVar1 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "local_a4 = local_a4 ^ local_54 + local_a0;" (assignment_expression "local_a4 = local_a4 ^ local_54 + local_a0" identifier = (binary_expression "local_a4 ^ local_54 + local_a0" identifier ^ (binary_expression "local_54 + local_a0" identifier + identifier))) ;) (expression_statement "uVar1 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar1 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;" (assignment_expression "uVar6 = local_a4 << 0x10 | local_a4 >> 0x10" identifier = (binary_expression "local_a4 << 0x10 | local_a4 >> 0x10" (binary_expression "local_a4 << 0x10" identifier << number_literal) | (binary_expression "local_a4 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar6;" (assignment_expression "local_a8 = local_a8 + uVar6" identifier = (binary_expression "local_a8 + uVar6" identifier + identifier)) ;) (expression_statement "uVar7 = local_a0 ^ local_a8;" (assignment_expression "uVar7 = local_a0 ^ local_a8" identifier = (binary_expression "local_a0 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar7 = uVar7 << 0xc | uVar7 >> 0x14" identifier = (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" identifier << number_literal) | (binary_expression "uVar7 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_54 = local_54 + local_a0 + uVar7;" (assignment_expression "local_54 = local_54 + local_a0 + uVar7" identifier = (binary_expression "local_54 + local_a0 + uVar7" (binary_expression "local_54 + local_a0" identifier + identifier) + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ local_54;" (assignment_expression "uVar6 = uVar6 ^ local_54" identifier = (binary_expression "uVar6 ^ local_54" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar6 << 8 | uVar6 >> 0x18;" (assignment_expression "uVar6 = uVar6 << 8 | uVar6 >> 0x18" identifier = (binary_expression "uVar6 << 8 | uVar6 >> 0x18" (binary_expression "uVar6 << 8" identifier << number_literal) | (binary_expression "uVar6 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar6;" (assignment_expression "local_a8 = local_a8 + uVar6" identifier = (binary_expression "local_a8 + uVar6" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_a8;" (assignment_expression "uVar7 = uVar7 ^ local_a8" identifier = (binary_expression "uVar7 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar7 = uVar7 << 7 | uVar7 >> 0x19;" (assignment_expression "uVar7 = uVar7 << 7 | uVar7 >> 0x19" identifier = (binary_expression "uVar7 << 7 | uVar7 >> 0x19" (binary_expression "uVar7 << 7" identifier << number_literal) | (binary_expression "uVar7 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_9c = local_9c + uVar5;" (assignment_expression "local_9c = local_9c + uVar5" identifier = (binary_expression "local_9c + uVar5" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ local_9c;" (assignment_expression "uVar6 = uVar6 ^ local_9c" identifier = (binary_expression "uVar6 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;" (assignment_expression "uVar6 = uVar6 << 0x10 | uVar6 >> 0x10" identifier = (binary_expression "uVar6 << 0x10 | uVar6 >> 0x10" (binary_expression "uVar6 << 0x10" identifier << number_literal) | (binary_expression "uVar6 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_b4 = local_b4 + uVar6;" (assignment_expression "local_b4 = local_b4 + uVar6" identifier = (binary_expression "local_b4 + uVar6" identifier + identifier)) ;) (expression_statement "uVar5 = uVar5 ^ local_b4;" (assignment_expression "uVar5 = uVar5 ^ local_b4" identifier = (binary_expression "uVar5 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar5 << 0xc | uVar5 >> 0x14;" (assignment_expression "uVar5 = uVar5 << 0xc | uVar5 >> 0x14" identifier = (binary_expression "uVar5 << 0xc | uVar5 >> 0x14" (binary_expression "uVar5 << 0xc" identifier << number_literal) | (binary_expression "uVar5 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_9c = local_9c + uVar5;" (assignment_expression "local_9c = local_9c + uVar5" identifier = (binary_expression "local_9c + uVar5" identifier + identifier)) ;) (expression_statement "uVar6 = uVar6 ^ local_9c;" (assignment_expression "uVar6 = uVar6 ^ local_9c" identifier = (binary_expression "uVar6 ^ local_9c" identifier ^ identifier)) ;) (expression_statement "local_a4 = uVar6 << 8 | uVar6 >> 0x18;" (assignment_expression "local_a4 = uVar6 << 8 | uVar6 >> 0x18" identifier = (binary_expression "uVar6 << 8 | uVar6 >> 0x18" (binary_expression "uVar6 << 8" identifier << number_literal) | (binary_expression "uVar6 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_b4 = local_b4 + local_a4;" (assignment_expression "local_b4 = local_b4 + local_a4" identifier = (binary_expression "local_b4 + local_a4" identifier + identifier)) ;) (expression_statement "local_b8 = local_b8 + uVar1;" (assignment_expression "local_b8 = local_b8 + uVar1" identifier = (binary_expression "local_b8 + uVar1" identifier + identifier)) ;) (expression_statement "uVar5 = uVar5 ^ local_b4;" (assignment_expression "uVar5 = uVar5 ^ local_b4" identifier = (binary_expression "uVar5 ^ local_b4" identifier ^ identifier)) ;) (expression_statement "local_98 = uVar5 << 7 | uVar5 >> 0x19;" (assignment_expression "local_98 = uVar5 << 7 | uVar5 >> 0x19" identifier = (binary_expression "uVar5 << 7 | uVar5 >> 0x19" (binary_expression "uVar5 << 7" identifier << number_literal) | (binary_expression "uVar5 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar4 = uVar4 ^ local_b8;" (assignment_expression "uVar4 = uVar4 ^ local_b8" identifier = (binary_expression "uVar4 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;" (assignment_expression "uVar5 = uVar4 << 0x10 | uVar4 >> 0x10" identifier = (binary_expression "uVar4 << 0x10 | uVar4 >> 0x10" (binary_expression "uVar4 << 0x10" identifier << number_literal) | (binary_expression "uVar4 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + uVar5;" (assignment_expression "local_a8 = local_a8 + uVar5" identifier = (binary_expression "local_a8 + uVar5" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_a8;" (assignment_expression "uVar1 = uVar1 ^ local_a8" identifier = (binary_expression "uVar1 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" identifier = (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" identifier << number_literal) | (binary_expression "uVar1 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_b8 = local_b8 + uVar1;" (assignment_expression "local_b8 = local_b8 + uVar1" identifier = (binary_expression "local_b8 + uVar1" identifier + identifier)) ;) (expression_statement "uVar5 = uVar5 ^ local_b8;" (assignment_expression "uVar5 = uVar5 ^ local_b8" identifier = (binary_expression "uVar5 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "local_30 = uVar5 << 8 | uVar5 >> 0x18;" (assignment_expression "local_30 = uVar5 << 8 | uVar5 >> 0x18" identifier = (binary_expression "uVar5 << 8 | uVar5 >> 0x18" (binary_expression "uVar5 << 8" identifier << number_literal) | (binary_expression "uVar5 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_a8 = local_a8 + local_30;" (assignment_expression "local_a8 = local_a8 + local_30" identifier = (binary_expression "local_a8 + local_30" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_a8;" (assignment_expression "uVar1 = uVar1 ^ local_a8" identifier = (binary_expression "uVar1 ^ local_a8" identifier ^ identifier)) ;) (expression_statement "local_94 = local_94 + uVar7;" (assignment_expression "local_94 = local_94 + uVar7" identifier = (binary_expression "local_94 + uVar7" identifier + identifier)) ;) (expression_statement "local_ac = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_ac = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "uVar3 = uVar3 ^ local_94;" (assignment_expression "uVar3 = uVar3 ^ local_94" identifier = (binary_expression "uVar3 ^ local_94" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 << 0x10 | uVar3 >> 0x10" identifier = (binary_expression "uVar3 << 0x10 | uVar3 >> 0x10" (binary_expression "uVar3 << 0x10" identifier << number_literal) | (binary_expression "uVar3 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + uVar3;" (assignment_expression "local_40 = local_40 + uVar3" identifier = (binary_expression "local_40 + uVar3" identifier + identifier)) ;) (expression_statement "uVar7 = uVar7 ^ local_40;" (assignment_expression "uVar7 = uVar7 ^ local_40" identifier = (binary_expression "uVar7 ^ local_40" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar1 = uVar7 << 0xc | uVar7 >> 0x14" identifier = (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" identifier << number_literal) | (binary_expression "uVar7 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_94 = local_94 + uVar1;" (assignment_expression "local_94 = local_94 + uVar1" identifier = (binary_expression "local_94 + uVar1" identifier + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_94;" (assignment_expression "uVar3 = uVar3 ^ local_94" identifier = (binary_expression "uVar3 ^ local_94" identifier ^ identifier)) ;) (expression_statement "local_2c = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "local_2c = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_40 = local_40 + local_2c;" (assignment_expression "local_40 = local_40 + local_2c" identifier = (binary_expression "local_40 + local_2c" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_40;" (assignment_expression "uVar1 = uVar1 ^ local_40" identifier = (binary_expression "uVar1 ^ local_40" identifier ^ identifier)) ;) (expression_statement "local_a0 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_a0 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_54 = local_54 + uVar2;" (assignment_expression "local_54 = local_54 + uVar2" identifier = (binary_expression "local_54 + uVar2" identifier + identifier)) ;) (expression_statement "uVar8 = uVar8 ^ local_54;" (assignment_expression "uVar8 = uVar8 ^ local_54" identifier = (binary_expression "uVar8 ^ local_54" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;" (assignment_expression "uVar3 = uVar8 << 0x10 | uVar8 >> 0x10" identifier = (binary_expression "uVar8 << 0x10 | uVar8 >> 0x10" (binary_expression "uVar8 << 0x10" identifier << number_literal) | (binary_expression "uVar8 >> 0x10" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" identifier = (binary_expression "local_3c + uVar3" identifier + identifier)) ;) (expression_statement "uVar2 = uVar2 ^ local_3c;" (assignment_expression "uVar2 = uVar2 ^ local_3c" identifier = (binary_expression "uVar2 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "uVar1 = uVar2 << 0xc | uVar2 >> 0x14;" (assignment_expression "uVar1 = uVar2 << 0xc | uVar2 >> 0x14" identifier = (binary_expression "uVar2 << 0xc | uVar2 >> 0x14" (binary_expression "uVar2 << 0xc" identifier << number_literal) | (binary_expression "uVar2 >> 0x14" identifier >> number_literal))) ;) (expression_statement "local_54 = local_54 + uVar1;" (assignment_expression "local_54 = local_54 + uVar1" identifier = (binary_expression "local_54 + uVar1" identifier + identifier)) ;) (expression_statement "uVar3 = uVar3 ^ local_54;" (assignment_expression "uVar3 = uVar3 ^ local_54" identifier = (binary_expression "uVar3 ^ local_54" identifier ^ identifier)) ;) (expression_statement "local_b0 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "local_b0 = uVar3 << 8 | uVar3 >> 0x18" identifier = (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" identifier << number_literal) | (binary_expression "uVar3 >> 0x18" identifier >> number_literal))) ;) (expression_statement "local_3c = local_3c + local_b0;" (assignment_expression "local_3c = local_3c + local_b0" identifier = (binary_expression "local_3c + local_b0" identifier + identifier)) ;) (expression_statement "uVar1 = uVar1 ^ local_3c;" (assignment_expression "uVar1 = uVar1 ^ local_3c" identifier = (binary_expression "uVar1 ^ local_3c" identifier ^ identifier)) ;) (expression_statement "local_50 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_50 = uVar1 << 7 | uVar1 >> 0x19" identifier = (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" identifier << number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal))) ;) (expression_statement "local_78 = local_78 + -1;" (assignment_expression "local_78 = local_78 + -1" identifier = (binary_expression "local_78 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) )) ;) (expression_statement "local_5c = local_b8 + param_1[1];" (assignment_expression "local_5c = local_b8 + param_1[1]" identifier = (binary_expression "local_b8 + param_1[1]" identifier + (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = local_54 + param_1[3];" (assignment_expression "local_54 = local_54 + param_1[3]" identifier = (binary_expression "local_54 + param_1[3]" identifier + (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "local_60 = local_9c + *param_1;" (assignment_expression "local_60 = local_9c + *param_1" identifier = (binary_expression "local_9c + *param_1" identifier + (pointer_expression "*param_1" * identifier))) ;) (expression_statement "local_58 = local_94 + param_1[2];" (assignment_expression "local_58 = local_94 + param_1[2]" identifier = (binary_expression "local_94 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = local_50 + param_1[4];" (assignment_expression "local_50 = local_50 + param_1[4]" identifier = (binary_expression "local_50 + param_1[4]" identifier + (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (expression_statement "local_4c = local_98 + param_1[5];" (assignment_expression "local_4c = local_98 + param_1[5]" identifier = (binary_expression "local_98 + param_1[5]" identifier + (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "local_48 = local_ac + param_1[6];" (assignment_expression "local_48 = local_ac + param_1[6]" identifier = (binary_expression "local_ac + param_1[6]" identifier + (subscript_expression "param_1[6]" identifier [ number_literal ]))) ;) (expression_statement "local_44 = local_a0 + param_1[7];" (assignment_expression "local_44 = local_a0 + param_1[7]" identifier = (binary_expression "local_a0 + param_1[7]" identifier + (subscript_expression "param_1[7]" identifier [ number_literal ]))) ;) (expression_statement "local_40 = local_40 + param_1[8];" (assignment_expression "local_40 = local_40 + param_1[8]" identifier = (binary_expression "local_40 + param_1[8]" identifier + (subscript_expression "param_1[8]" identifier [ number_literal ]))) ;) (expression_statement "local_3c = local_3c + param_1[9];" (assignment_expression "local_3c = local_3c + param_1[9]" identifier = (binary_expression "local_3c + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ]))) ;) (expression_statement "local_34 = local_a8 + param_1[0xb];" (assignment_expression "local_34 = local_a8 + param_1[0xb]" identifier = (binary_expression "local_a8 + param_1[0xb]" identifier + (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = local_b4 + param_1[10];" (assignment_expression "local_38 = local_b4 + param_1[10]" identifier = (binary_expression "local_b4 + param_1[10]" identifier + (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;) (expression_statement "local_30 = local_30 + param_1[0xc];" (assignment_expression "local_30 = local_30 + param_1[0xc]" identifier = (binary_expression "local_30 + param_1[0xc]" identifier + (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = local_2c + param_1[0xd];" (assignment_expression "local_2c = local_2c + param_1[0xd]" identifier = (binary_expression "local_2c + param_1[0xd]" identifier + (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) ;) (expression_statement "local_28 = local_b0 + param_1[0xe];" (assignment_expression "local_28 = local_b0 + param_1[0xe]" identifier = (binary_expression "local_b0 + param_1[0xe]" identifier + (subscript_expression "param_1[0xe]" identifier [ number_literal ]))) ;) (expression_statement "local_24 = local_a4 + param_1[0xf];" (assignment_expression "local_24 = local_a4 + param_1[0xf]" identifier = (binary_expression "local_a4 + param_1[0xf]" identifier + (subscript_expression "param_1[0xf]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x10] = local_60;" (assignment_expression "param_1[0x10] = local_60" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x11] = local_5c;" (assignment_expression "param_1[0x11] = local_5c" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x12] = local_58;" (assignment_expression "param_1[0x12] = local_58" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x13] = local_54;" (assignment_expression "param_1[0x13] = local_54" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x14] = local_50;" (assignment_expression "param_1[0x14] = local_50" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x15] = local_4c;" (assignment_expression "param_1[0x15] = local_4c" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x16] = local_48;" (assignment_expression "param_1[0x16] = local_48" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x17] = local_44;" (assignment_expression "param_1[0x17] = local_44" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x18] = local_40;" (assignment_expression "param_1[0x18] = local_40" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x19] = local_3c;" (assignment_expression "param_1[0x19] = local_3c" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1a] = local_38;" (assignment_expression "param_1[0x1a] = local_38" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1b] = local_34;" (assignment_expression "param_1[0x1b] = local_34" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x20] = 0;" (assignment_expression "param_1[0x20] = 0" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1c] = local_30;" (assignment_expression "param_1[0x1c] = local_30" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1d] = local_2c;" (assignment_expression "param_1[0x1d] = local_2c" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1e] = local_28;" (assignment_expression "param_1[0x1e] = local_28" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1f] = local_24;" (assignment_expression "param_1[0x1f] = local_24" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00032c20(&local_60,0x40);" (call_expression "FUN_00032c20(&local_60,0x40)" identifier (argument_list "(&local_60,0x40)" ( (pointer_expression "&local_60" & identifier) , number_literal ))) ;) (expression_statement "uVar1 = param_1[0xc];" (assignment_expression "uVar1 = param_1[0xc]" identifier = (subscript_expression "param_1[0xc]" identifier [ number_literal ])) ;) (expression_statement "param_1[0xc] = uVar1 + 1;" (assignment_expression "param_1[0xc] = uVar1 + 1" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (if_statement "if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }" if (parenthesized_expression "(uVar1 + 1 == 0)" ( (binary_expression "uVar1 + 1 == 0" (binary_expression "uVar1 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n    param_1[0xd] = param_1[0xd] + 1;\n  }" { (expression_statement "param_1[0xd] = param_1[0xd] + 1;" (assignment_expression "param_1[0xd] = param_1[0xd] + 1" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = (binary_expression "param_1[0xd] + 1" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) + number_literal)) ;) })) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_000c60b0();" (call_expression "FUN_000c60b0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT + IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT + IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT + IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT + IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void __regparm3 FUN_000653e0(uint *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000c60b0();\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000653e0(uint *param_1)" (identifier "FUN_000653e0") (parameter_list "(uint *param_1)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int in_GS_OFFSET;\n  uint local_b8;\n  uint local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  int local_78;\n  uint local_60;\n  uint local_5c;\n  uint local_58;\n  uint local_54;\n  uint local_50;\n  uint local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  local_94 = param_1[2];\n  local_30 = param_1[0xc];\n  local_50 = param_1[4];\n  local_3c = param_1[9];\n  local_ac = param_1[6];\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_9c = *param_1;\n  local_b0 = param_1[0xe];\n  local_40 = param_1[8];\n  local_b8 = param_1[1];\n  local_98 = param_1[5];\n  local_2c = param_1[0xd];\n  local_b4 = param_1[10];\n  local_54 = param_1[3];\n  local_a0 = param_1[7];\n  local_a4 = param_1[0xf];\n  local_78 = 10;\n  local_a8 = param_1[0xb];\n  do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);\n  local_5c = local_b8 + param_1[1];\n  local_54 = local_54 + param_1[3];\n  local_60 = local_9c + *param_1;\n  local_58 = local_94 + param_1[2];\n  local_50 = local_50 + param_1[4];\n  local_4c = local_98 + param_1[5];\n  local_48 = local_ac + param_1[6];\n  local_44 = local_a0 + param_1[7];\n  local_40 = local_40 + param_1[8];\n  local_3c = local_3c + param_1[9];\n  local_34 = local_a8 + param_1[0xb];\n  local_38 = local_b4 + param_1[10];\n  local_30 = local_30 + param_1[0xc];\n  local_2c = local_2c + param_1[0xd];\n  local_28 = local_b0 + param_1[0xe];\n  local_24 = local_a4 + param_1[0xf];\n  param_1[0x10] = local_60;\n  param_1[0x11] = local_5c;\n  param_1[0x12] = local_58;\n  param_1[0x13] = local_54;\n  param_1[0x14] = local_50;\n  param_1[0x15] = local_4c;\n  param_1[0x16] = local_48;\n  param_1[0x17] = local_44;\n  param_1[0x18] = local_40;\n  param_1[0x19] = local_3c;\n  param_1[0x1a] = local_38;\n  param_1[0x1b] = local_34;\n  param_1[0x20] = 0;\n  param_1[0x1c] = local_30;\n  param_1[0x1d] = local_2c;\n  param_1[0x1e] = local_28;\n  param_1[0x1f] = local_24;\n  FUN_00032c20(&local_60,0x40);\n  uVar1 = param_1[0xc];\n  param_1[0xc] = uVar1 + 1;\n  if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000c60b0();\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "uint local_b8;" (type_identifier "uint") (identifier "local_b8") (; ";")) (declaration "uint local_b4;" (type_identifier "uint") (identifier "local_b4") (; ";")) (declaration "uint local_b0;" (type_identifier "uint") (identifier "local_b0") (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "uint local_a8;" (type_identifier "uint") (identifier "local_a8") (; ";")) (declaration "uint local_a4;" (type_identifier "uint") (identifier "local_a4") (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "uint local_9c;" (type_identifier "uint") (identifier "local_9c") (; ";")) (declaration "uint local_98;" (type_identifier "uint") (identifier "local_98") (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "uint local_60;" (type_identifier "uint") (identifier "local_60") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "uint local_58;" (type_identifier "uint") (identifier "local_58") (; ";")) (declaration "uint local_54;" (type_identifier "uint") (identifier "local_54") (; ";")) (declaration "uint local_50;" (type_identifier "uint") (identifier "local_50") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "local_94 = param_1[2];" (assignment_expression "local_94 = param_1[2]" (identifier "local_94") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_30 = param_1[0xc];" (assignment_expression "local_30 = param_1[0xc]" (identifier "local_30") (= "=") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "local_50 = param_1[4];" (assignment_expression "local_50 = param_1[4]" (identifier "local_50") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_3c = param_1[9];" (assignment_expression "local_3c = param_1[9]" (identifier "local_3c") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "local_ac = param_1[6];" (assignment_expression "local_ac = param_1[6]" (identifier "local_ac") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_9c = *param_1;" (assignment_expression "local_9c = *param_1" (identifier "local_9c") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_b0 = param_1[0xe];" (assignment_expression "local_b0 = param_1[0xe]" (identifier "local_b0") (= "=") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "local_40 = param_1[8];" (assignment_expression "local_40 = param_1[8]" (identifier "local_40") (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_b8 = param_1[1];" (assignment_expression "local_b8 = param_1[1]" (identifier "local_b8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_98 = param_1[5];" (assignment_expression "local_98 = param_1[5]" (identifier "local_98") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_2c = param_1[0xd];" (assignment_expression "local_2c = param_1[0xd]" (identifier "local_2c") (= "=") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "local_b4 = param_1[10];" (assignment_expression "local_b4 = param_1[10]" (identifier "local_b4") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "local_54 = param_1[3];" (assignment_expression "local_54 = param_1[3]" (identifier "local_54") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_a0 = param_1[7];" (assignment_expression "local_a0 = param_1[7]" (identifier "local_a0") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_a4 = param_1[0xf];" (assignment_expression "local_a4 = param_1[0xf]" (identifier "local_a4") (= "=") (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "local_78 = 10;" (assignment_expression "local_78 = 10" (identifier "local_78") (= "=") (number_literal "10")) (; ";")) (expression_statement "local_a8 = param_1[0xb];" (assignment_expression "local_a8 = param_1[0xb]" (identifier "local_a8") (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (do_statement "do {\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  } while (local_78 != 0);" (do "do") (compound_statement "{\n    local_30 = local_30 ^ local_9c + local_50;\n    uVar3 = local_30 << 0x10 | local_30 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar1 = local_50 ^ local_40;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_9c = local_9c + local_50 + uVar1;\n    uVar3 = uVar3 ^ local_9c;\n    uVar4 = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + uVar4;\n    uVar1 = uVar1 ^ local_40;\n    uVar2 = uVar1 << 7 | uVar1 >> 0x19;\n    local_2c = local_2c ^ local_b8 + local_98;\n    uVar3 = local_2c << 0x10 | local_2c >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar1 = local_98 ^ local_3c;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + local_98 + uVar1;\n    uVar3 = uVar3 ^ local_b8;\n    uVar3 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + uVar3;\n    uVar1 = uVar1 ^ local_3c;\n    uVar5 = uVar1 << 7 | uVar1 >> 0x19;\n    local_b0 = local_b0 ^ local_94 + local_ac;\n    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;\n    local_b4 = local_b4 + uVar7;\n    uVar1 = local_ac ^ local_b4;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_94 = local_94 + local_ac + uVar1;\n    uVar7 = uVar7 ^ local_94;\n    uVar8 = uVar7 << 8 | uVar7 >> 0x18;\n    local_b4 = uVar8 + local_b4;\n    uVar1 = uVar1 ^ local_b4;\n    local_a4 = local_a4 ^ local_54 + local_a0;\n    uVar1 = uVar1 << 7 | uVar1 >> 0x19;\n    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = local_a0 ^ local_a8;\n    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_54 = local_54 + local_a0 + uVar7;\n    uVar6 = uVar6 ^ local_54;\n    uVar6 = uVar6 << 8 | uVar6 >> 0x18;\n    local_a8 = local_a8 + uVar6;\n    uVar7 = uVar7 ^ local_a8;\n    uVar7 = uVar7 << 7 | uVar7 >> 0x19;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;\n    local_b4 = local_b4 + uVar6;\n    uVar5 = uVar5 ^ local_b4;\n    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;\n    local_9c = local_9c + uVar5;\n    uVar6 = uVar6 ^ local_9c;\n    local_a4 = uVar6 << 8 | uVar6 >> 0x18;\n    local_b4 = local_b4 + local_a4;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b4;\n    local_98 = uVar5 << 7 | uVar5 >> 0x19;\n    uVar4 = uVar4 ^ local_b8;\n    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;\n    local_a8 = local_a8 + uVar5;\n    uVar1 = uVar1 ^ local_a8;\n    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;\n    local_b8 = local_b8 + uVar1;\n    uVar5 = uVar5 ^ local_b8;\n    local_30 = uVar5 << 8 | uVar5 >> 0x18;\n    local_a8 = local_a8 + local_30;\n    uVar1 = uVar1 ^ local_a8;\n    local_94 = local_94 + uVar7;\n    local_ac = uVar1 << 7 | uVar1 >> 0x19;\n    uVar3 = uVar3 ^ local_94;\n    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;\n    local_40 = local_40 + uVar3;\n    uVar7 = uVar7 ^ local_40;\n    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;\n    local_94 = local_94 + uVar1;\n    uVar3 = uVar3 ^ local_94;\n    local_2c = uVar3 << 8 | uVar3 >> 0x18;\n    local_40 = local_40 + local_2c;\n    uVar1 = uVar1 ^ local_40;\n    local_a0 = uVar1 << 7 | uVar1 >> 0x19;\n    local_54 = local_54 + uVar2;\n    uVar8 = uVar8 ^ local_54;\n    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;\n    local_3c = local_3c + uVar3;\n    uVar2 = uVar2 ^ local_3c;\n    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;\n    local_54 = local_54 + uVar1;\n    uVar3 = uVar3 ^ local_54;\n    local_b0 = uVar3 << 8 | uVar3 >> 0x18;\n    local_3c = local_3c + local_b0;\n    uVar1 = uVar1 ^ local_3c;\n    local_50 = uVar1 << 7 | uVar1 >> 0x19;\n    local_78 = local_78 + -1;\n  }" ({ "{") (expression_statement "local_30 = local_30 ^ local_9c + local_50;" (assignment_expression "local_30 = local_30 ^ local_9c + local_50" (identifier "local_30") (= "=") (binary_expression "local_30 ^ local_9c + local_50" (identifier "local_30") (^ "^") (binary_expression "local_9c + local_50" (identifier "local_9c") (+ "+") (identifier "local_50")))) (; ";")) (expression_statement "uVar3 = local_30 << 0x10 | local_30 >> 0x10;" (assignment_expression "uVar3 = local_30 << 0x10 | local_30 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "local_30 << 0x10 | local_30 >> 0x10" (binary_expression "local_30 << 0x10" (identifier "local_30") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "local_30 >> 0x10" (identifier "local_30") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_40 = local_40 + uVar3;" (assignment_expression "local_40 = local_40 + uVar3" (identifier "local_40") (= "=") (binary_expression "local_40 + uVar3" (identifier "local_40") (+ "+") (identifier "uVar3"))) (; ";")) (expression_statement "uVar1 = local_50 ^ local_40;" (assignment_expression "uVar1 = local_50 ^ local_40" (identifier "uVar1") (= "=") (binary_expression "local_50 ^ local_40" (identifier "local_50") (^ "^") (identifier "local_40"))) (; ";")) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" (identifier "uVar1") (= "=") (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" (identifier "uVar1") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar1 >> 0x14" (identifier "uVar1") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_9c = local_9c + local_50 + uVar1;" (assignment_expression "local_9c = local_9c + local_50 + uVar1" (identifier "local_9c") (= "=") (binary_expression "local_9c + local_50 + uVar1" (binary_expression "local_9c + local_50" (identifier "local_9c") (+ "+") (identifier "local_50")) (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ local_9c;" (assignment_expression "uVar3 = uVar3 ^ local_9c" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ local_9c" (identifier "uVar3") (^ "^") (identifier "local_9c"))) (; ";")) (expression_statement "uVar4 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "uVar4 = uVar3 << 8 | uVar3 >> 0x18" (identifier "uVar4") (= "=") (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_40 = local_40 + uVar4;" (assignment_expression "local_40 = local_40 + uVar4" (identifier "local_40") (= "=") (binary_expression "local_40 + uVar4" (identifier "local_40") (+ "+") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_40;" (assignment_expression "uVar1 = uVar1 ^ local_40" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_40" (identifier "uVar1") (^ "^") (identifier "local_40"))) (; ";")) (expression_statement "uVar2 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar2 = uVar1 << 7 | uVar1 >> 0x19" (identifier "uVar2") (= "=") (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" (identifier "uVar1") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar1 >> 0x19" (identifier "uVar1") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "local_2c = local_2c ^ local_b8 + local_98;" (assignment_expression "local_2c = local_2c ^ local_b8 + local_98" (identifier "local_2c") (= "=") (binary_expression "local_2c ^ local_b8 + local_98" (identifier "local_2c") (^ "^") (binary_expression "local_b8 + local_98" (identifier "local_b8") (+ "+") (identifier "local_98")))) (; ";")) (expression_statement "uVar3 = local_2c << 0x10 | local_2c >> 0x10;" (assignment_expression "uVar3 = local_2c << 0x10 | local_2c >> 0x10" (identifier "uVar3") (= "=") (binary_expression "local_2c << 0x10 | local_2c >> 0x10" (binary_expression "local_2c << 0x10" (identifier "local_2c") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "local_2c >> 0x10" (identifier "local_2c") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" (identifier "local_3c") (= "=") (binary_expression "local_3c + uVar3" (identifier "local_3c") (+ "+") (identifier "uVar3"))) (; ";")) (expression_statement "uVar1 = local_98 ^ local_3c;" (assignment_expression "uVar1 = local_98 ^ local_3c" (identifier "uVar1") (= "=") (binary_expression "local_98 ^ local_3c" (identifier "local_98") (^ "^") (identifier "local_3c"))) (; ";")) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" (identifier "uVar1") (= "=") (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" (identifier "uVar1") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar1 >> 0x14" (identifier "uVar1") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_b8 = local_b8 + local_98 + uVar1;" (assignment_expression "local_b8 = local_b8 + local_98 + uVar1" (identifier "local_b8") (= "=") (binary_expression "local_b8 + local_98 + uVar1" (binary_expression "local_b8 + local_98" (identifier "local_b8") (+ "+") (identifier "local_98")) (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ local_b8;" (assignment_expression "uVar3 = uVar3 ^ local_b8" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ local_b8" (identifier "uVar3") (^ "^") (identifier "local_b8"))) (; ";")) (expression_statement "uVar3 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "uVar3 = uVar3 << 8 | uVar3 >> 0x18" (identifier "uVar3") (= "=") (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" (identifier "local_3c") (= "=") (binary_expression "local_3c + uVar3" (identifier "local_3c") (+ "+") (identifier "uVar3"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_3c;" (assignment_expression "uVar1 = uVar1 ^ local_3c" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_3c" (identifier "uVar1") (^ "^") (identifier "local_3c"))) (; ";")) (expression_statement "uVar5 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar5 = uVar1 << 7 | uVar1 >> 0x19" (identifier "uVar5") (= "=") (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" (identifier "uVar1") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar1 >> 0x19" (identifier "uVar1") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "local_b0 = local_b0 ^ local_94 + local_ac;" (assignment_expression "local_b0 = local_b0 ^ local_94 + local_ac" (identifier "local_b0") (= "=") (binary_expression "local_b0 ^ local_94 + local_ac" (identifier "local_b0") (^ "^") (binary_expression "local_94 + local_ac" (identifier "local_94") (+ "+") (identifier "local_ac")))) (; ";")) (expression_statement "uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;" (assignment_expression "uVar7 = local_b0 << 0x10 | local_b0 >> 0x10" (identifier "uVar7") (= "=") (binary_expression "local_b0 << 0x10 | local_b0 >> 0x10" (binary_expression "local_b0 << 0x10" (identifier "local_b0") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "local_b0 >> 0x10" (identifier "local_b0") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_b4 = local_b4 + uVar7;" (assignment_expression "local_b4 = local_b4 + uVar7" (identifier "local_b4") (= "=") (binary_expression "local_b4 + uVar7" (identifier "local_b4") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "uVar1 = local_ac ^ local_b4;" (assignment_expression "uVar1 = local_ac ^ local_b4" (identifier "uVar1") (= "=") (binary_expression "local_ac ^ local_b4" (identifier "local_ac") (^ "^") (identifier "local_b4"))) (; ";")) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" (identifier "uVar1") (= "=") (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" (identifier "uVar1") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar1 >> 0x14" (identifier "uVar1") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_94 = local_94 + local_ac + uVar1;" (assignment_expression "local_94 = local_94 + local_ac + uVar1" (identifier "local_94") (= "=") (binary_expression "local_94 + local_ac + uVar1" (binary_expression "local_94 + local_ac" (identifier "local_94") (+ "+") (identifier "local_ac")) (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar7 = uVar7 ^ local_94;" (assignment_expression "uVar7 = uVar7 ^ local_94" (identifier "uVar7") (= "=") (binary_expression "uVar7 ^ local_94" (identifier "uVar7") (^ "^") (identifier "local_94"))) (; ";")) (expression_statement "uVar8 = uVar7 << 8 | uVar7 >> 0x18;" (assignment_expression "uVar8 = uVar7 << 8 | uVar7 >> 0x18" (identifier "uVar8") (= "=") (binary_expression "uVar7 << 8 | uVar7 >> 0x18" (binary_expression "uVar7 << 8" (identifier "uVar7") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_b4 = uVar8 + local_b4;" (assignment_expression "local_b4 = uVar8 + local_b4" (identifier "local_b4") (= "=") (binary_expression "uVar8 + local_b4" (identifier "uVar8") (+ "+") (identifier "local_b4"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_b4;" (assignment_expression "uVar1 = uVar1 ^ local_b4" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_b4" (identifier "uVar1") (^ "^") (identifier "local_b4"))) (; ";")) (expression_statement "local_a4 = local_a4 ^ local_54 + local_a0;" (assignment_expression "local_a4 = local_a4 ^ local_54 + local_a0" (identifier "local_a4") (= "=") (binary_expression "local_a4 ^ local_54 + local_a0" (identifier "local_a4") (^ "^") (binary_expression "local_54 + local_a0" (identifier "local_54") (+ "+") (identifier "local_a0")))) (; ";")) (expression_statement "uVar1 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "uVar1 = uVar1 << 7 | uVar1 >> 0x19" (identifier "uVar1") (= "=") (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" (identifier "uVar1") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar1 >> 0x19" (identifier "uVar1") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;" (assignment_expression "uVar6 = local_a4 << 0x10 | local_a4 >> 0x10" (identifier "uVar6") (= "=") (binary_expression "local_a4 << 0x10 | local_a4 >> 0x10" (binary_expression "local_a4 << 0x10" (identifier "local_a4") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "local_a4 >> 0x10" (identifier "local_a4") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_a8 = local_a8 + uVar6;" (assignment_expression "local_a8 = local_a8 + uVar6" (identifier "local_a8") (= "=") (binary_expression "local_a8 + uVar6" (identifier "local_a8") (+ "+") (identifier "uVar6"))) (; ";")) (expression_statement "uVar7 = local_a0 ^ local_a8;" (assignment_expression "uVar7 = local_a0 ^ local_a8" (identifier "uVar7") (= "=") (binary_expression "local_a0 ^ local_a8" (identifier "local_a0") (^ "^") (identifier "local_a8"))) (; ";")) (expression_statement "uVar7 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar7 = uVar7 << 0xc | uVar7 >> 0x14" (identifier "uVar7") (= "=") (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" (identifier "uVar7") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar7 >> 0x14" (identifier "uVar7") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_54 = local_54 + local_a0 + uVar7;" (assignment_expression "local_54 = local_54 + local_a0 + uVar7" (identifier "local_54") (= "=") (binary_expression "local_54 + local_a0 + uVar7" (binary_expression "local_54 + local_a0" (identifier "local_54") (+ "+") (identifier "local_a0")) (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "uVar6 = uVar6 ^ local_54;" (assignment_expression "uVar6 = uVar6 ^ local_54" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ local_54" (identifier "uVar6") (^ "^") (identifier "local_54"))) (; ";")) (expression_statement "uVar6 = uVar6 << 8 | uVar6 >> 0x18;" (assignment_expression "uVar6 = uVar6 << 8 | uVar6 >> 0x18" (identifier "uVar6") (= "=") (binary_expression "uVar6 << 8 | uVar6 >> 0x18" (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_a8 = local_a8 + uVar6;" (assignment_expression "local_a8 = local_a8 + uVar6" (identifier "local_a8") (= "=") (binary_expression "local_a8 + uVar6" (identifier "local_a8") (+ "+") (identifier "uVar6"))) (; ";")) (expression_statement "uVar7 = uVar7 ^ local_a8;" (assignment_expression "uVar7 = uVar7 ^ local_a8" (identifier "uVar7") (= "=") (binary_expression "uVar7 ^ local_a8" (identifier "uVar7") (^ "^") (identifier "local_a8"))) (; ";")) (expression_statement "uVar7 = uVar7 << 7 | uVar7 >> 0x19;" (assignment_expression "uVar7 = uVar7 << 7 | uVar7 >> 0x19" (identifier "uVar7") (= "=") (binary_expression "uVar7 << 7 | uVar7 >> 0x19" (binary_expression "uVar7 << 7" (identifier "uVar7") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar7 >> 0x19" (identifier "uVar7") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "local_9c = local_9c + uVar5;" (assignment_expression "local_9c = local_9c + uVar5" (identifier "local_9c") (= "=") (binary_expression "local_9c + uVar5" (identifier "local_9c") (+ "+") (identifier "uVar5"))) (; ";")) (expression_statement "uVar6 = uVar6 ^ local_9c;" (assignment_expression "uVar6 = uVar6 ^ local_9c" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ local_9c" (identifier "uVar6") (^ "^") (identifier "local_9c"))) (; ";")) (expression_statement "uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;" (assignment_expression "uVar6 = uVar6 << 0x10 | uVar6 >> 0x10" (identifier "uVar6") (= "=") (binary_expression "uVar6 << 0x10 | uVar6 >> 0x10" (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_b4 = local_b4 + uVar6;" (assignment_expression "local_b4 = local_b4 + uVar6" (identifier "local_b4") (= "=") (binary_expression "local_b4 + uVar6" (identifier "local_b4") (+ "+") (identifier "uVar6"))) (; ";")) (expression_statement "uVar5 = uVar5 ^ local_b4;" (assignment_expression "uVar5 = uVar5 ^ local_b4" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ local_b4" (identifier "uVar5") (^ "^") (identifier "local_b4"))) (; ";")) (expression_statement "uVar5 = uVar5 << 0xc | uVar5 >> 0x14;" (assignment_expression "uVar5 = uVar5 << 0xc | uVar5 >> 0x14" (identifier "uVar5") (= "=") (binary_expression "uVar5 << 0xc | uVar5 >> 0x14" (binary_expression "uVar5 << 0xc" (identifier "uVar5") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar5 >> 0x14" (identifier "uVar5") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_9c = local_9c + uVar5;" (assignment_expression "local_9c = local_9c + uVar5" (identifier "local_9c") (= "=") (binary_expression "local_9c + uVar5" (identifier "local_9c") (+ "+") (identifier "uVar5"))) (; ";")) (expression_statement "uVar6 = uVar6 ^ local_9c;" (assignment_expression "uVar6 = uVar6 ^ local_9c" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ local_9c" (identifier "uVar6") (^ "^") (identifier "local_9c"))) (; ";")) (expression_statement "local_a4 = uVar6 << 8 | uVar6 >> 0x18;" (assignment_expression "local_a4 = uVar6 << 8 | uVar6 >> 0x18" (identifier "local_a4") (= "=") (binary_expression "uVar6 << 8 | uVar6 >> 0x18" (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_b4 = local_b4 + local_a4;" (assignment_expression "local_b4 = local_b4 + local_a4" (identifier "local_b4") (= "=") (binary_expression "local_b4 + local_a4" (identifier "local_b4") (+ "+") (identifier "local_a4"))) (; ";")) (expression_statement "local_b8 = local_b8 + uVar1;" (assignment_expression "local_b8 = local_b8 + uVar1" (identifier "local_b8") (= "=") (binary_expression "local_b8 + uVar1" (identifier "local_b8") (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar5 = uVar5 ^ local_b4;" (assignment_expression "uVar5 = uVar5 ^ local_b4" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ local_b4" (identifier "uVar5") (^ "^") (identifier "local_b4"))) (; ";")) (expression_statement "local_98 = uVar5 << 7 | uVar5 >> 0x19;" (assignment_expression "local_98 = uVar5 << 7 | uVar5 >> 0x19" (identifier "local_98") (= "=") (binary_expression "uVar5 << 7 | uVar5 >> 0x19" (binary_expression "uVar5 << 7" (identifier "uVar5") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar5 >> 0x19" (identifier "uVar5") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "uVar4 = uVar4 ^ local_b8;" (assignment_expression "uVar4 = uVar4 ^ local_b8" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ local_b8" (identifier "uVar4") (^ "^") (identifier "local_b8"))) (; ";")) (expression_statement "uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;" (assignment_expression "uVar5 = uVar4 << 0x10 | uVar4 >> 0x10" (identifier "uVar5") (= "=") (binary_expression "uVar4 << 0x10 | uVar4 >> 0x10" (binary_expression "uVar4 << 0x10" (identifier "uVar4") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_a8 = local_a8 + uVar5;" (assignment_expression "local_a8 = local_a8 + uVar5" (identifier "local_a8") (= "=") (binary_expression "local_a8 + uVar5" (identifier "local_a8") (+ "+") (identifier "uVar5"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_a8;" (assignment_expression "uVar1 = uVar1 ^ local_a8" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_a8" (identifier "uVar1") (^ "^") (identifier "local_a8"))) (; ";")) (expression_statement "uVar1 = uVar1 << 0xc | uVar1 >> 0x14;" (assignment_expression "uVar1 = uVar1 << 0xc | uVar1 >> 0x14" (identifier "uVar1") (= "=") (binary_expression "uVar1 << 0xc | uVar1 >> 0x14" (binary_expression "uVar1 << 0xc" (identifier "uVar1") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar1 >> 0x14" (identifier "uVar1") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_b8 = local_b8 + uVar1;" (assignment_expression "local_b8 = local_b8 + uVar1" (identifier "local_b8") (= "=") (binary_expression "local_b8 + uVar1" (identifier "local_b8") (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar5 = uVar5 ^ local_b8;" (assignment_expression "uVar5 = uVar5 ^ local_b8" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ local_b8" (identifier "uVar5") (^ "^") (identifier "local_b8"))) (; ";")) (expression_statement "local_30 = uVar5 << 8 | uVar5 >> 0x18;" (assignment_expression "local_30 = uVar5 << 8 | uVar5 >> 0x18" (identifier "local_30") (= "=") (binary_expression "uVar5 << 8 | uVar5 >> 0x18" (binary_expression "uVar5 << 8" (identifier "uVar5") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_a8 = local_a8 + local_30;" (assignment_expression "local_a8 = local_a8 + local_30" (identifier "local_a8") (= "=") (binary_expression "local_a8 + local_30" (identifier "local_a8") (+ "+") (identifier "local_30"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_a8;" (assignment_expression "uVar1 = uVar1 ^ local_a8" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_a8" (identifier "uVar1") (^ "^") (identifier "local_a8"))) (; ";")) (expression_statement "local_94 = local_94 + uVar7;" (assignment_expression "local_94 = local_94 + uVar7" (identifier "local_94") (= "=") (binary_expression "local_94 + uVar7" (identifier "local_94") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "local_ac = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_ac = uVar1 << 7 | uVar1 >> 0x19" (identifier "local_ac") (= "=") (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" (identifier "uVar1") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar1 >> 0x19" (identifier "uVar1") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "uVar3 = uVar3 ^ local_94;" (assignment_expression "uVar3 = uVar3 ^ local_94" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ local_94" (identifier "uVar3") (^ "^") (identifier "local_94"))) (; ";")) (expression_statement "uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 << 0x10 | uVar3 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "uVar3 << 0x10 | uVar3 >> 0x10" (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_40 = local_40 + uVar3;" (assignment_expression "local_40 = local_40 + uVar3" (identifier "local_40") (= "=") (binary_expression "local_40 + uVar3" (identifier "local_40") (+ "+") (identifier "uVar3"))) (; ";")) (expression_statement "uVar7 = uVar7 ^ local_40;" (assignment_expression "uVar7 = uVar7 ^ local_40" (identifier "uVar7") (= "=") (binary_expression "uVar7 ^ local_40" (identifier "uVar7") (^ "^") (identifier "local_40"))) (; ";")) (expression_statement "uVar1 = uVar7 << 0xc | uVar7 >> 0x14;" (assignment_expression "uVar1 = uVar7 << 0xc | uVar7 >> 0x14" (identifier "uVar1") (= "=") (binary_expression "uVar7 << 0xc | uVar7 >> 0x14" (binary_expression "uVar7 << 0xc" (identifier "uVar7") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar7 >> 0x14" (identifier "uVar7") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_94 = local_94 + uVar1;" (assignment_expression "local_94 = local_94 + uVar1" (identifier "local_94") (= "=") (binary_expression "local_94 + uVar1" (identifier "local_94") (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ local_94;" (assignment_expression "uVar3 = uVar3 ^ local_94" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ local_94" (identifier "uVar3") (^ "^") (identifier "local_94"))) (; ";")) (expression_statement "local_2c = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "local_2c = uVar3 << 8 | uVar3 >> 0x18" (identifier "local_2c") (= "=") (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_40 = local_40 + local_2c;" (assignment_expression "local_40 = local_40 + local_2c" (identifier "local_40") (= "=") (binary_expression "local_40 + local_2c" (identifier "local_40") (+ "+") (identifier "local_2c"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_40;" (assignment_expression "uVar1 = uVar1 ^ local_40" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_40" (identifier "uVar1") (^ "^") (identifier "local_40"))) (; ";")) (expression_statement "local_a0 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_a0 = uVar1 << 7 | uVar1 >> 0x19" (identifier "local_a0") (= "=") (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" (identifier "uVar1") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar1 >> 0x19" (identifier "uVar1") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "local_54 = local_54 + uVar2;" (assignment_expression "local_54 = local_54 + uVar2" (identifier "local_54") (= "=") (binary_expression "local_54 + uVar2" (identifier "local_54") (+ "+") (identifier "uVar2"))) (; ";")) (expression_statement "uVar8 = uVar8 ^ local_54;" (assignment_expression "uVar8 = uVar8 ^ local_54" (identifier "uVar8") (= "=") (binary_expression "uVar8 ^ local_54" (identifier "uVar8") (^ "^") (identifier "local_54"))) (; ";")) (expression_statement "uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;" (assignment_expression "uVar3 = uVar8 << 0x10 | uVar8 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "uVar8 << 0x10 | uVar8 >> 0x10" (binary_expression "uVar8 << 0x10" (identifier "uVar8") (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")))) (; ";")) (expression_statement "local_3c = local_3c + uVar3;" (assignment_expression "local_3c = local_3c + uVar3" (identifier "local_3c") (= "=") (binary_expression "local_3c + uVar3" (identifier "local_3c") (+ "+") (identifier "uVar3"))) (; ";")) (expression_statement "uVar2 = uVar2 ^ local_3c;" (assignment_expression "uVar2 = uVar2 ^ local_3c" (identifier "uVar2") (= "=") (binary_expression "uVar2 ^ local_3c" (identifier "uVar2") (^ "^") (identifier "local_3c"))) (; ";")) (expression_statement "uVar1 = uVar2 << 0xc | uVar2 >> 0x14;" (assignment_expression "uVar1 = uVar2 << 0xc | uVar2 >> 0x14" (identifier "uVar1") (= "=") (binary_expression "uVar2 << 0xc | uVar2 >> 0x14" (binary_expression "uVar2 << 0xc" (identifier "uVar2") (<< "<<") (number_literal "0xc")) (| "|") (binary_expression "uVar2 >> 0x14" (identifier "uVar2") (>> ">>") (number_literal "0x14")))) (; ";")) (expression_statement "local_54 = local_54 + uVar1;" (assignment_expression "local_54 = local_54 + uVar1" (identifier "local_54") (= "=") (binary_expression "local_54 + uVar1" (identifier "local_54") (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ local_54;" (assignment_expression "uVar3 = uVar3 ^ local_54" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ local_54" (identifier "uVar3") (^ "^") (identifier "local_54"))) (; ";")) (expression_statement "local_b0 = uVar3 << 8 | uVar3 >> 0x18;" (assignment_expression "local_b0 = uVar3 << 8 | uVar3 >> 0x18" (identifier "local_b0") (= "=") (binary_expression "uVar3 << 8 | uVar3 >> 0x18" (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = local_3c + local_b0;" (assignment_expression "local_3c = local_3c + local_b0" (identifier "local_3c") (= "=") (binary_expression "local_3c + local_b0" (identifier "local_3c") (+ "+") (identifier "local_b0"))) (; ";")) (expression_statement "uVar1 = uVar1 ^ local_3c;" (assignment_expression "uVar1 = uVar1 ^ local_3c" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ local_3c" (identifier "uVar1") (^ "^") (identifier "local_3c"))) (; ";")) (expression_statement "local_50 = uVar1 << 7 | uVar1 >> 0x19;" (assignment_expression "local_50 = uVar1 << 7 | uVar1 >> 0x19" (identifier "local_50") (= "=") (binary_expression "uVar1 << 7 | uVar1 >> 0x19" (binary_expression "uVar1 << 7" (identifier "uVar1") (<< "<<") (number_literal "7")) (| "|") (binary_expression "uVar1 >> 0x19" (identifier "uVar1") (>> ">>") (number_literal "0x19")))) (; ";")) (expression_statement "local_78 = local_78 + -1;" (assignment_expression "local_78 = local_78 + -1" (identifier "local_78") (= "=") (binary_expression "local_78 + -1" (identifier "local_78") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_78 != 0)" (( "(") (binary_expression "local_78 != 0" (identifier "local_78") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "local_5c = local_b8 + param_1[1];" (assignment_expression "local_5c = local_b8 + param_1[1]" (identifier "local_5c") (= "=") (binary_expression "local_b8 + param_1[1]" (identifier "local_b8") (+ "+") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_54 = local_54 + param_1[3];" (assignment_expression "local_54 = local_54 + param_1[3]" (identifier "local_54") (= "=") (binary_expression "local_54 + param_1[3]" (identifier "local_54") (+ "+") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_60 = local_9c + *param_1;" (assignment_expression "local_60 = local_9c + *param_1" (identifier "local_60") (= "=") (binary_expression "local_9c + *param_1" (identifier "local_9c") (+ "+") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "local_58 = local_94 + param_1[2];" (assignment_expression "local_58 = local_94 + param_1[2]" (identifier "local_58") (= "=") (binary_expression "local_94 + param_1[2]" (identifier "local_94") (+ "+") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_50 = local_50 + param_1[4];" (assignment_expression "local_50 = local_50 + param_1[4]" (identifier "local_50") (= "=") (binary_expression "local_50 + param_1[4]" (identifier "local_50") (+ "+") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "local_4c = local_98 + param_1[5];" (assignment_expression "local_4c = local_98 + param_1[5]" (identifier "local_4c") (= "=") (binary_expression "local_98 + param_1[5]" (identifier "local_98") (+ "+") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "local_48 = local_ac + param_1[6];" (assignment_expression "local_48 = local_ac + param_1[6]" (identifier "local_48") (= "=") (binary_expression "local_ac + param_1[6]" (identifier "local_ac") (+ "+") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "local_44 = local_a0 + param_1[7];" (assignment_expression "local_44 = local_a0 + param_1[7]" (identifier "local_44") (= "=") (binary_expression "local_a0 + param_1[7]" (identifier "local_a0") (+ "+") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "local_40 = local_40 + param_1[8];" (assignment_expression "local_40 = local_40 + param_1[8]" (identifier "local_40") (= "=") (binary_expression "local_40 + param_1[8]" (identifier "local_40") (+ "+") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "local_3c = local_3c + param_1[9];" (assignment_expression "local_3c = local_3c + param_1[9]" (identifier "local_3c") (= "=") (binary_expression "local_3c + param_1[9]" (identifier "local_3c") (+ "+") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "local_34 = local_a8 + param_1[0xb];" (assignment_expression "local_34 = local_a8 + param_1[0xb]" (identifier "local_34") (= "=") (binary_expression "local_a8 + param_1[0xb]" (identifier "local_a8") (+ "+") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (expression_statement "local_38 = local_b4 + param_1[10];" (assignment_expression "local_38 = local_b4 + param_1[10]" (identifier "local_38") (= "=") (binary_expression "local_b4 + param_1[10]" (identifier "local_b4") (+ "+") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "local_30 = local_30 + param_1[0xc];" (assignment_expression "local_30 = local_30 + param_1[0xc]" (identifier "local_30") (= "=") (binary_expression "local_30 + param_1[0xc]" (identifier "local_30") (+ "+") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (expression_statement "local_2c = local_2c + param_1[0xd];" (assignment_expression "local_2c = local_2c + param_1[0xd]" (identifier "local_2c") (= "=") (binary_expression "local_2c + param_1[0xd]" (identifier "local_2c") (+ "+") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (expression_statement "local_28 = local_b0 + param_1[0xe];" (assignment_expression "local_28 = local_b0 + param_1[0xe]" (identifier "local_28") (= "=") (binary_expression "local_b0 + param_1[0xe]" (identifier "local_b0") (+ "+") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")))) (; ";")) (expression_statement "local_24 = local_a4 + param_1[0xf];" (assignment_expression "local_24 = local_a4 + param_1[0xf]" (identifier "local_24") (= "=") (binary_expression "local_a4 + param_1[0xf]" (identifier "local_a4") (+ "+") (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "param_1[0x10] = local_60;" (assignment_expression "param_1[0x10] = local_60" (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "param_1[0x11] = local_5c;" (assignment_expression "param_1[0x11] = local_5c" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "param_1[0x12] = local_58;" (assignment_expression "param_1[0x12] = local_58" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "param_1[0x13] = local_54;" (assignment_expression "param_1[0x13] = local_54" (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "local_54")) (; ";")) (expression_statement "param_1[0x14] = local_50;" (assignment_expression "param_1[0x14] = local_50" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "local_50")) (; ";")) (expression_statement "param_1[0x15] = local_4c;" (assignment_expression "param_1[0x15] = local_4c" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "param_1[0x16] = local_48;" (assignment_expression "param_1[0x16] = local_48" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "param_1[0x17] = local_44;" (assignment_expression "param_1[0x17] = local_44" (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "param_1[0x18] = local_40;" (assignment_expression "param_1[0x18] = local_40" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "param_1[0x19] = local_3c;" (assignment_expression "param_1[0x19] = local_3c" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "param_1[0x1a] = local_38;" (assignment_expression "param_1[0x1a] = local_38" (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "param_1[0x1b] = local_34;" (assignment_expression "param_1[0x1b] = local_34" (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "param_1[0x20] = 0;" (assignment_expression "param_1[0x20] = 0" (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1c] = local_30;" (assignment_expression "param_1[0x1c] = local_30" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "param_1[0x1d] = local_2c;" (assignment_expression "param_1[0x1d] = local_2c" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "param_1[0x1e] = local_28;" (assignment_expression "param_1[0x1e] = local_28" (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (identifier "local_28")) (; ";")) (expression_statement "param_1[0x1f] = local_24;" (assignment_expression "param_1[0x1f] = local_24" (subscript_expression "param_1[0x1f]" (identifier "param_1") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (identifier "local_24")) (; ";")) (expression_statement "FUN_00032c20(&local_60,0x40);" (call_expression "FUN_00032c20(&local_60,0x40)" (identifier "FUN_00032c20") (argument_list "(&local_60,0x40)" (( "(") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0x40") () ")"))) (; ";")) (expression_statement "uVar1 = param_1[0xc];" (assignment_expression "uVar1 = param_1[0xc]" (identifier "uVar1") (= "=") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "param_1[0xc] = uVar1 + 1;" (assignment_expression "param_1[0xc] = uVar1 + 1" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "uVar1 + 1" (identifier "uVar1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar1 + 1 == 0) {\n    param_1[0xd] = param_1[0xd] + 1;\n  }" (if "if") (parenthesized_expression "(uVar1 + 1 == 0)" (( "(") (binary_expression "uVar1 + 1 == 0" (binary_expression "uVar1 + 1" (identifier "uVar1") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    param_1[0xd] = param_1[0xd] + 1;\n  }" ({ "{") (expression_statement "param_1[0xd] = param_1[0xd] + 1;" (assignment_expression "param_1[0xd] = param_1[0xd] + 1" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "param_1[0xd] + 1" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_000c60b0();" (call_expression "FUN_000c60b0()" (identifier "FUN_000c60b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

void __regparm3 function_1(type_1 *ctx)

{
  int var_34;
  type_2 var_8;
  type_3 var_6;
  type_2 var_31;
  type_3 var_4;
  type_2 var_5;
  type_2 var_7;
  type_2 var_10;
  type_2 var_30;
  type_3 var_2;
  type_2 var_16;
  type_2 var_22;
  type_2 var_28;
  type_3 var_14;
  type_2 var_29;
  type_3 var_25;
  type_2 var_9;
  type_2 var_21;
  type_2 var_23;
  type_2 var_15;
  type_3 var_11;
  int var_1;
  type_3 var_12;
  type_3 var_20;
  type_2 var_17;
  type_2 var_19;
  type_2 var_27;
  type_2 var_24;
  type_2 var_26;
  type_3 var_3;
  type_2 var_13;
  type_2 var_18;
  int var_32;
  type_3 copy [16];
  
  var_18 = ctx->state[2];
  var_2 = ctx->state[0xc];
  var_4 = ctx->state[4];
  var_14 = ctx->state[9];
  var_19 = ctx->state[6];
  var_34 = *(int *)(var_1 + 0x14);
  var_3 = ctx->state[0];
  var_17 = ctx->state[0xe];
  var_6 = ctx->state[8];
  var_12 = ctx->state[1];
  var_13 = ctx->state[5];
  var_11 = ctx->state[0xd];
  var_20 = ctx->state[10];
  var_25 = ctx->state[3];
  var_26 = ctx->state[7];
  var_24 = ctx->state[0xf];
  var_32 = 10;
  var_27 = ctx->state[0xb];
  do {
    var_5 = var_2 ^ var_3 + var_4;
    var_7 = var_5 << 0x10 | var_5 >> 0x10;
    var_8 = var_6 + var_7;
    var_5 = var_4 ^ var_8;
    var_5 = var_5 << 0xc | var_5 >> 0x14;
    var_9 = var_3 + var_4 + var_5;
    var_7 = var_7 ^ var_9;
    var_10 = var_7 << 8 | var_7 >> 0x18;
    var_8 = var_8 + var_10;
    var_5 = var_5 ^ var_8;
    var_31 = var_5 << 7 | var_5 >> 0x19;
    var_5 = var_11 ^ var_12 + var_13;
    var_15 = var_5 << 0x10 | var_5 >> 0x10;
    var_16 = var_14 + var_15;
    var_5 = var_13 ^ var_16;
    var_7 = var_5 << 0xc | var_5 >> 0x14;
    var_5 = var_12 + var_13 + var_7;
    var_15 = var_15 ^ var_5;
    var_15 = var_15 << 8 | var_15 >> 0x18;
    var_16 = var_16 + var_15;
    var_7 = var_7 ^ var_16;
    var_30 = var_7 << 7 | var_7 >> 0x19;
    var_7 = var_17 ^ var_18 + var_19;
    var_21 = var_7 << 0x10 | var_7 >> 0x10;
    var_22 = var_20 + var_21;
    var_7 = var_19 ^ var_22;
    var_7 = var_7 << 0xc | var_7 >> 0x14;
    var_18 = var_18 + var_19 + var_7;
    var_21 = var_21 ^ var_18;
    var_23 = var_21 << 8 | var_21 >> 0x18;
    var_22 = var_23 + var_22;
    var_7 = var_7 ^ var_22;
    var_21 = var_24 ^ var_25 + var_26;
    var_7 = var_7 << 7 | var_7 >> 0x19;
    var_28 = var_21 << 0x10 | var_21 >> 0x10;
    var_27 = var_27 + var_28;
    var_21 = var_26 ^ var_27;
    var_21 = var_21 << 0xc | var_21 >> 0x14;
    var_29 = var_25 + var_26 + var_21;
    var_28 = var_28 ^ var_29;
    var_28 = var_28 << 8 | var_28 >> 0x18;
    var_27 = var_27 + var_28;
    var_21 = var_21 ^ var_27;
    var_21 = var_21 << 7 | var_21 >> 0x19;
    var_9 = var_9 + var_30;
    var_28 = var_28 ^ var_9;
    var_28 = var_28 << 0x10 | var_28 >> 0x10;
    var_22 = var_22 + var_28;
    var_30 = var_30 ^ var_22;
    var_30 = var_30 << 0xc | var_30 >> 0x14;
    var_3 = var_9 + var_30;
    var_28 = var_28 ^ var_3;
    var_24 = var_28 << 8 | var_28 >> 0x18;
    var_20 = var_22 + var_24;
    var_5 = var_5 + var_7;
    var_30 = var_30 ^ var_20;
    var_13 = var_30 << 7 | var_30 >> 0x19;
    var_10 = var_10 ^ var_5;
    var_30 = var_10 << 0x10 | var_10 >> 0x10;
    var_27 = var_27 + var_30;
    var_7 = var_7 ^ var_27;
    var_7 = var_7 << 0xc | var_7 >> 0x14;
    var_12 = var_5 + var_7;
    var_30 = var_30 ^ var_12;
    var_2 = var_30 << 8 | var_30 >> 0x18;
    var_27 = var_27 + var_2;
    var_7 = var_7 ^ var_27;
    var_18 = var_18 + var_21;
    var_19 = var_7 << 7 | var_7 >> 0x19;
    var_15 = var_15 ^ var_18;
    var_7 = var_15 << 0x10 | var_15 >> 0x10;
    var_8 = var_8 + var_7;
    var_21 = var_21 ^ var_8;
    var_5 = var_21 << 0xc | var_21 >> 0x14;
    var_18 = var_18 + var_5;
    var_7 = var_7 ^ var_18;
    var_11 = var_7 << 8 | var_7 >> 0x18;
    var_6 = var_8 + var_11;
    var_5 = var_5 ^ var_6;
    var_26 = var_5 << 7 | var_5 >> 0x19;
    var_29 = var_29 + var_31;
    var_23 = var_23 ^ var_29;
    var_7 = var_23 << 0x10 | var_23 >> 0x10;
    var_16 = var_16 + var_7;
    var_31 = var_31 ^ var_16;
    var_5 = var_31 << 0xc | var_31 >> 0x14;
    var_25 = var_29 + var_5;
    var_7 = var_7 ^ var_25;
    var_17 = var_7 << 8 | var_7 >> 0x18;
    var_14 = var_16 + var_17;
    var_5 = var_5 ^ var_14;
    var_4 = var_5 << 7 | var_5 >> 0x19;
    var_32 = var_32 + -1;
  } while (var_32 != 0);
  copy[1] = var_12 + ctx->state[1];
  copy[3] = var_25 + ctx->state[3];
  copy[0] = var_3 + ctx->state[0];
  copy[2] = var_18 + ctx->state[2];
  copy[4] = var_4 + ctx->state[4];
  copy[5] = var_13 + ctx->state[5];
  copy[6] = var_19 + ctx->state[6];
  copy[7] = var_26 + ctx->state[7];
  copy[8] = var_6 + ctx->state[8];
  copy[9] = var_14 + ctx->state[9];
  copy[0xb] = var_27 + ctx->state[0xb];
  copy[10] = var_20 + ctx->state[10];
  copy[0xc] = var_2 + ctx->state[0xc];
  copy[0xd] = var_11 + ctx->state[0xd];
  copy[0xe] = var_17 + ctx->state[0xe];
  copy[0xf] = var_24 + ctx->state[0xf];
  *(type_3 *)ctx->current = copy[0];
  *(type_3 *)(ctx->current + 4) = copy[1];
  *(type_3 *)(ctx->current + 8) = copy[2];
  *(type_3 *)(ctx->current + 0xc) = copy[3];
  *(type_3 *)(ctx->current + 0x10) = copy[4];
  *(type_3 *)(ctx->current + 0x14) = copy[5];
  *(type_3 *)(ctx->current + 0x18) = copy[6];
  *(type_3 *)(ctx->current + 0x1c) = copy[7];
  *(type_3 *)(ctx->current + 0x20) = copy[8];
  *(type_3 *)(ctx->current + 0x24) = copy[9];
  *(type_3 *)(ctx->current + 0x28) = copy[10];
  *(type_3 *)(ctx->current + 0x2c) = copy[0xb];
  ctx->currentIndex = 0;
  *(type_3 *)(ctx->current + 0x30) = copy[0xc];
  *(type_3 *)(ctx->current + 0x34) = copy[0xd];
  *(type_3 *)(ctx->current + 0x38) = copy[0xe];
  *(type_3 *)(ctx->current + 0x3c) = copy[0xf];
  var_33(copy,0x40);
  var_2 = ctx->state[0xc] + 1;
  ctx->state[0xc] = var_2;
  if (var_2 == 0) {
    ctx->state[0xd] = ctx->state[0xd] + 1;
  }
  if (var_34 == *(int *)(var_1 + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_35();
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

void __regparm3 MASKED(uint *param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  int in_GS_OFFSET;
  uint local_b8;
  uint local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a8;
  uint local_a4;
  uint local_a0;
  uint local_9c;
  uint local_98;
  uint local_94;
  int local_78;
  uint local_60;
  uint local_5c;
  uint local_58;
  uint local_54;
  uint local_50;
  uint local_4c;
  uint local_48;
  uint local_44;
  uint local_40;
  uint local_3c;
  uint local_38;
  uint local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  uint local_24;
  int local_20;
  
  local_94 = param_1[2];
  local_30 = param_1[0xc];
  local_50 = param_1[4];
  local_3c = param_1[9];
  local_ac = param_1[6];
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_9c = *param_1;
  local_b0 = param_1[0xe];
  local_40 = param_1[8];
  local_b8 = param_1[1];
  local_98 = param_1[5];
  local_2c = param_1[0xd];
  local_b4 = param_1[10];
  local_54 = param_1[3];
  local_a0 = param_1[7];
  local_a4 = param_1[0xf];
  local_78 = 10;
  local_a8 = param_1[0xb];
  do {
    local_30 = local_30 ^ local_9c + local_50;
    uVar3 = local_30 << 0x10 | local_30 >> 0x10;
    local_40 = local_40 + uVar3;
    uVar1 = local_50 ^ local_40;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_9c = local_9c + local_50 + uVar1;
    uVar3 = uVar3 ^ local_9c;
    uVar4 = uVar3 << 8 | uVar3 >> 0x18;
    local_40 = local_40 + uVar4;
    uVar1 = uVar1 ^ local_40;
    uVar2 = uVar1 << 7 | uVar1 >> 0x19;
    local_2c = local_2c ^ local_b8 + local_98;
    uVar3 = local_2c << 0x10 | local_2c >> 0x10;
    local_3c = local_3c + uVar3;
    uVar1 = local_98 ^ local_3c;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_b8 = local_b8 + local_98 + uVar1;
    uVar3 = uVar3 ^ local_b8;
    uVar3 = uVar3 << 8 | uVar3 >> 0x18;
    local_3c = local_3c + uVar3;
    uVar1 = uVar1 ^ local_3c;
    uVar5 = uVar1 << 7 | uVar1 >> 0x19;
    local_b0 = local_b0 ^ local_94 + local_ac;
    uVar7 = local_b0 << 0x10 | local_b0 >> 0x10;
    local_b4 = local_b4 + uVar7;
    uVar1 = local_ac ^ local_b4;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_94 = local_94 + local_ac + uVar1;
    uVar7 = uVar7 ^ local_94;
    uVar8 = uVar7 << 8 | uVar7 >> 0x18;
    local_b4 = uVar8 + local_b4;
    uVar1 = uVar1 ^ local_b4;
    local_a4 = local_a4 ^ local_54 + local_a0;
    uVar1 = uVar1 << 7 | uVar1 >> 0x19;
    uVar6 = local_a4 << 0x10 | local_a4 >> 0x10;
    local_a8 = local_a8 + uVar6;
    uVar7 = local_a0 ^ local_a8;
    uVar7 = uVar7 << 0xc | uVar7 >> 0x14;
    local_54 = local_54 + local_a0 + uVar7;
    uVar6 = uVar6 ^ local_54;
    uVar6 = uVar6 << 8 | uVar6 >> 0x18;
    local_a8 = local_a8 + uVar6;
    uVar7 = uVar7 ^ local_a8;
    uVar7 = uVar7 << 7 | uVar7 >> 0x19;
    local_9c = local_9c + uVar5;
    uVar6 = uVar6 ^ local_9c;
    uVar6 = uVar6 << 0x10 | uVar6 >> 0x10;
    local_b4 = local_b4 + uVar6;
    uVar5 = uVar5 ^ local_b4;
    uVar5 = uVar5 << 0xc | uVar5 >> 0x14;
    local_9c = local_9c + uVar5;
    uVar6 = uVar6 ^ local_9c;
    local_a4 = uVar6 << 8 | uVar6 >> 0x18;
    local_b4 = local_b4 + local_a4;
    local_b8 = local_b8 + uVar1;
    uVar5 = uVar5 ^ local_b4;
    local_98 = uVar5 << 7 | uVar5 >> 0x19;
    uVar4 = uVar4 ^ local_b8;
    uVar5 = uVar4 << 0x10 | uVar4 >> 0x10;
    local_a8 = local_a8 + uVar5;
    uVar1 = uVar1 ^ local_a8;
    uVar1 = uVar1 << 0xc | uVar1 >> 0x14;
    local_b8 = local_b8 + uVar1;
    uVar5 = uVar5 ^ local_b8;
    local_30 = uVar5 << 8 | uVar5 >> 0x18;
    local_a8 = local_a8 + local_30;
    uVar1 = uVar1 ^ local_a8;
    local_94 = local_94 + uVar7;
    local_ac = uVar1 << 7 | uVar1 >> 0x19;
    uVar3 = uVar3 ^ local_94;
    uVar3 = uVar3 << 0x10 | uVar3 >> 0x10;
    local_40 = local_40 + uVar3;
    uVar7 = uVar7 ^ local_40;
    uVar1 = uVar7 << 0xc | uVar7 >> 0x14;
    local_94 = local_94 + uVar1;
    uVar3 = uVar3 ^ local_94;
    local_2c = uVar3 << 8 | uVar3 >> 0x18;
    local_40 = local_40 + local_2c;
    uVar1 = uVar1 ^ local_40;
    local_a0 = uVar1 << 7 | uVar1 >> 0x19;
    local_54 = local_54 + uVar2;
    uVar8 = uVar8 ^ local_54;
    uVar3 = uVar8 << 0x10 | uVar8 >> 0x10;
    local_3c = local_3c + uVar3;
    uVar2 = uVar2 ^ local_3c;
    uVar1 = uVar2 << 0xc | uVar2 >> 0x14;
    local_54 = local_54 + uVar1;
    uVar3 = uVar3 ^ local_54;
    local_b0 = uVar3 << 8 | uVar3 >> 0x18;
    local_3c = local_3c + local_b0;
    uVar1 = uVar1 ^ local_3c;
    local_50 = uVar1 << 7 | uVar1 >> 0x19;
    local_78 = local_78 + -1;
  } while (local_78 != 0);
  local_5c = local_b8 + param_1[1];
  local_54 = local_54 + param_1[3];
  local_60 = local_9c + *param_1;
  local_58 = local_94 + param_1[2];
  local_50 = local_50 + param_1[4];
  local_4c = local_98 + param_1[5];
  local_48 = local_ac + param_1[6];
  local_44 = local_a0 + param_1[7];
  local_40 = local_40 + param_1[8];
  local_3c = local_3c + param_1[9];
  local_34 = local_a8 + param_1[0xb];
  local_38 = local_b4 + param_1[10];
  local_30 = local_30 + param_1[0xc];
  local_2c = local_2c + param_1[0xd];
  local_28 = local_b0 + param_1[0xe];
  local_24 = local_a4 + param_1[0xf];
  param_1[0x10] = local_60;
  param_1[0x11] = local_5c;
  param_1[0x12] = local_58;
  param_1[0x13] = local_54;
  param_1[0x14] = local_50;
  param_1[0x15] = local_4c;
  param_1[0x16] = local_48;
  param_1[0x17] = local_44;
  param_1[0x18] = local_40;
  param_1[0x19] = local_3c;
  param_1[0x1a] = local_38;
  param_1[0x1b] = local_34;
  param_1[0x20] = 0;
  param_1[0x1c] = local_30;
  param_1[0x1d] = local_2c;
  param_1[0x1e] = local_28;
  param_1[0x1f] = local_24;
  FUN_00032c20(&local_60,0x40);
  uVar1 = param_1[0xc];
  param_1[0xc] = uVar1 + 1;
  if (uVar1 + 1 == 0) {
    param_1[0xd] = param_1[0xd] + 1;
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000c60b0();
}

