
int der_encode_set(ltc_asn1_list *list,ulong inlen,uchar *out,ulong *outlen)

{
  undefined8 *puVar1;
  undefined8 *puVar2;
  void *pvVar3;
  ltc_asn1_list_ *plVar4;
  ltc_asn1_list_ *plVar5;
  ltc_asn1_list_ *plVar6;
  ltc_asn1_list_ *plVar7;
  undefined8 uVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  undefined8 uVar11;
  undefined8 uVar12;
  undefined8 uVar13;
  undefined8 uVar14;
  undefined8 uVar15;
  undefined8 uVar16;
  undefined8 uVar17;
  undefined8 uVar18;
  undefined8 uVar19;
  undefined8 uVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  undefined8 uVar24;
  undefined8 uVar25;
  undefined8 uVar26;
  undefined8 uVar27;
  undefined8 uVar28;
  undefined8 uVar29;
  undefined4 uVar30;
  ltc_asn1_type lVar31;
  undefined4 uVar32;
  int iVar33;
  ltc_asn1_list *list_00;
  long lVar34;
  uint uVar35;
  ulong uVar36;
  bool bVar37;
  
  list_00 = (ltc_asn1_list *)calloc(inlen,0x40);
  if (list_00 == (ltc_asn1_list *)0x0) {
    return 0xd;
  }
  if (inlen != 0) {
    lVar34 = 0;
    uVar36 = 0;
    uVar35 = (uint)inlen & 3;
    if ((inlen & 3) != 0) {
      if (uVar35 != 1) {
        bVar37 = uVar35 != 2;
        if (bVar37) {
          iVar33 = list->used;
          uVar30 = *(undefined4 *)&list->field_0x1c;
          lVar31 = list->type;
          uVar32 = *(undefined4 *)&list->field_0x4;
          pvVar3 = list->data;
          lVar34 = 0x40;
          plVar4 = list->prev;
          plVar5 = list->next;
          plVar6 = list->child;
          plVar7 = list->parent;
          list_00->size = list->size;
          list_00->used = iVar33;
          *(undefined4 *)&list_00->field_0x1c = uVar30;
          list_00->used = 0;
          list_00->type = lVar31;
          *(undefined4 *)&list_00->field_0x4 = uVar32;
          list_00->data = pvVar3;
          list_00->prev = plVar4;
          list_00->next = plVar5;
          list_00->child = plVar6;
          list_00->parent = plVar7;
        }
        puVar2 = (undefined8 *)((long)&list->type + lVar34);
        uVar8 = *puVar2;
        uVar9 = puVar2[1];
        puVar2 = (undefined8 *)((long)&list->size + lVar34);
        uVar10 = puVar2[1];
        puVar1 = (undefined8 *)((long)&list->prev + lVar34);
        uVar11 = *puVar1;
        uVar12 = puVar1[1];
        puVar1 = (undefined8 *)((long)&list->child + lVar34);
        uVar13 = *puVar1;
        uVar14 = puVar1[1];
        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);
        *puVar1 = *puVar2;
        puVar1[1] = uVar10;
        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);
        *puVar2 = uVar8;
        puVar2[1] = uVar9;
        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;
        uVar36 = (ulong)bVar37 + 1;
        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);
        *puVar2 = uVar11;
        puVar2[1] = uVar12;
        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);
        *puVar2 = uVar13;
        puVar2[1] = uVar14;
        lVar34 = lVar34 + 0x40;
      }
      puVar2 = (undefined8 *)((long)&list->size + lVar34);
      uVar8 = puVar2[1];
      puVar1 = (undefined8 *)((long)&list->type + lVar34);
      uVar9 = *puVar1;
      uVar10 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list->prev + lVar34);
      uVar11 = *puVar1;
      uVar12 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list->child + lVar34);
      uVar13 = *puVar1;
      uVar14 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);
      *puVar1 = *puVar2;
      puVar1[1] = uVar8;
      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;
      uVar36 = uVar36 + 1;
      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);
      *puVar2 = uVar9;
      puVar2[1] = uVar10;
      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);
      *puVar2 = uVar11;
      puVar2[1] = uVar12;
      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      lVar34 = lVar34 + 0x40;
      if (inlen == uVar36) goto LAB_001756da;
    }
    do {
      puVar2 = (undefined8 *)((long)&list->type + lVar34);
      uVar8 = *puVar2;
      uVar9 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list->size + lVar34);
      uVar10 = puVar2[1];
      iVar33 = (int)uVar36;
      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);
      uVar11 = *puVar1;
      uVar12 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);
      uVar13 = *puVar1;
      uVar14 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list->prev + lVar34);
      uVar15 = *puVar1;
      uVar16 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list->child + lVar34);
      uVar17 = *puVar1;
      uVar18 = puVar1[1];
      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);
      *puVar1 = *puVar2;
      puVar1[1] = uVar10;
      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);
      uVar10 = *puVar2;
      uVar19 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);
      uVar20 = *puVar2;
      uVar21 = puVar2[1];
      *(int *)((long)&list_00->used + lVar34) = iVar33;
      uVar36 = uVar36 + 4;
      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);
      uVar22 = *puVar2;
      uVar23 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);
      uVar13 = *puVar2;
      uVar14 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);
      uVar24 = *puVar2;
      uVar25 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);
      *puVar2 = uVar8;
      puVar2[1] = uVar9;
      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);
      uVar8 = *puVar2;
      uVar9 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);
      uVar26 = *puVar2;
      uVar27 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);
      uVar13 = *puVar2;
      uVar14 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);
      uVar28 = *puVar2;
      uVar29 = puVar2[1];
      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);
      *puVar2 = uVar15;
      puVar2[1] = uVar16;
      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);
      *puVar2 = uVar17;
      puVar2[1] = uVar18;
      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);
      *puVar2 = uVar11;
      puVar2[1] = uVar12;
      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);
      *puVar2 = uVar10;
      puVar2[1] = uVar19;
      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);
      *puVar2 = uVar20;
      puVar2[1] = uVar21;
      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;
      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);
      *puVar2 = uVar22;
      puVar2[1] = uVar23;
      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);
      *puVar2 = uVar24;
      puVar2[1] = uVar25;
      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);
      *puVar2 = uVar8;
      puVar2[1] = uVar9;
      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;
      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);
      *puVar2 = uVar26;
      puVar2[1] = uVar27;
      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);
      *puVar2 = uVar28;
      puVar2[1] = uVar29;
      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);
      uVar8 = *puVar2;
      uVar9 = puVar2[1];
      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;
      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);
      *puVar2 = uVar8;
      puVar2[1] = uVar9;
      lVar34 = lVar34 + 0x100;
    } while (inlen != uVar36);
  }
LAB_001756da:
  qsort(list_00,inlen,0x40,_qsort_helper);
  iVar33 = der_encode_sequence_ex(list_00,inlen,out,outlen,0xe);
  free(list_00);
  return iVar33;
}



undefined4 der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  undefined8 *puVar2;
  int iVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  undefined8 uVar11;
  undefined8 uVar12;
  undefined8 uVar13;
  undefined8 uVar14;
  undefined8 uVar15;
  undefined8 uVar16;
  undefined8 uVar17;
  undefined8 uVar18;
  undefined8 uVar19;
  undefined8 uVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  undefined8 uVar24;
  undefined8 uVar25;
  undefined4 uVar26;
  undefined8 *__base;
  long lVar27;
  uint uVar28;
  size_t sVar29;
  bool bVar30;
  
  __base = (undefined8 *)calloc(param_2,0x40);
  if (__base == (undefined8 *)0x0) {
    return 0xd;
  }
  if (param_2 != 0) {
    lVar27 = 0;
    sVar29 = 0;
    uVar28 = (uint)param_2 & 3;
    if ((param_2 & 3) != 0) {
      if (uVar28 != 1) {
        bVar30 = uVar28 != 2;
        if (bVar30) {
          uVar4 = param_1[3];
          uVar5 = *param_1;
          uVar6 = param_1[1];
          lVar27 = 0x40;
          uVar7 = param_1[4];
          uVar8 = param_1[5];
          uVar9 = param_1[6];
          uVar10 = param_1[7];
          __base[2] = param_1[2];
          __base[3] = uVar4;
          *(undefined4 *)(__base + 3) = 0;
          *__base = uVar5;
          __base[1] = uVar6;
          __base[4] = uVar7;
          __base[5] = uVar8;
          __base[6] = uVar9;
          __base[7] = uVar10;
        }
        uVar4 = *(undefined8 *)((long)param_1 + lVar27);
        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];
        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);
        uVar6 = puVar1[1];
        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);
        uVar7 = *puVar2;
        uVar8 = puVar2[1];
        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);
        uVar9 = *puVar2;
        uVar10 = puVar2[1];
        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);
        *puVar2 = *puVar1;
        puVar2[1] = uVar6;
        *(undefined8 *)((long)__base + lVar27) = uVar4;
        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;
        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;
        sVar29 = (ulong)bVar30 + 1;
        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);
        *puVar1 = uVar7;
        puVar1[1] = uVar8;
        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);
        *puVar1 = uVar9;
        puVar1[1] = uVar10;
        lVar27 = lVar27 + 0x40;
      }
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);
      uVar4 = puVar1[1];
      uVar5 = *(undefined8 *)((long)param_1 + lVar27);
      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);
      uVar7 = *puVar2;
      uVar8 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);
      uVar9 = *puVar2;
      uVar10 = puVar2[1];
      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);
      *puVar2 = *puVar1;
      puVar2[1] = uVar4;
      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;
      sVar29 = sVar29 + 1;
      *(undefined8 *)((long)__base + lVar27) = uVar5;
      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);
      *puVar1 = uVar7;
      puVar1[1] = uVar8;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      lVar27 = lVar27 + 0x40;
      if (param_2 == sVar29) goto LAB_001756da;
    }
    do {
      uVar4 = *(undefined8 *)((long)param_1 + lVar27);
      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);
      uVar6 = puVar1[1];
      iVar3 = (int)sVar29;
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);
      uVar7 = *puVar2;
      uVar8 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);
      uVar9 = *puVar2;
      uVar10 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);
      uVar11 = *puVar2;
      uVar12 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);
      uVar13 = *puVar2;
      uVar14 = puVar2[1];
      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);
      *puVar2 = *puVar1;
      puVar2[1] = uVar6;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);
      uVar6 = *puVar1;
      uVar15 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);
      uVar16 = *puVar1;
      uVar17 = puVar1[1];
      *(int *)((long)__base + lVar27 + 0x18) = iVar3;
      sVar29 = sVar29 + 4;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);
      uVar18 = *puVar1;
      uVar19 = puVar1[1];
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);
      uVar9 = *puVar1;
      uVar10 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);
      uVar20 = *puVar1;
      uVar21 = puVar1[1];
      *(undefined8 *)((long)__base + lVar27) = uVar4;
      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);
      uVar4 = *puVar1;
      uVar5 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);
      uVar22 = *puVar1;
      uVar23 = puVar1[1];
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);
      uVar9 = *puVar1;
      uVar10 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);
      uVar24 = *puVar1;
      uVar25 = puVar1[1];
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);
      *puVar1 = uVar11;
      puVar1[1] = uVar12;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);
      *puVar1 = uVar13;
      puVar1[1] = uVar14;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);
      *puVar1 = uVar7;
      puVar1[1] = uVar8;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);
      *puVar1 = uVar6;
      puVar1[1] = uVar15;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);
      *puVar1 = uVar16;
      puVar1[1] = uVar17;
      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);
      *puVar1 = uVar18;
      puVar1[1] = uVar19;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);
      *puVar1 = uVar20;
      puVar1[1] = uVar21;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);
      *puVar1 = uVar4;
      puVar1[1] = uVar5;
      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);
      *puVar1 = uVar22;
      puVar1[1] = uVar23;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);
      *puVar1 = uVar24;
      puVar1[1] = uVar25;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);
      uVar4 = *puVar1;
      uVar5 = puVar1[1];
      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);
      *puVar1 = uVar4;
      puVar1[1] = uVar5;
      lVar27 = lVar27 + 0x100;
    } while (param_2 != sVar29);
  }
LAB_001756da:
  qsort(__base,param_2,0x40,FUN_00175460);
  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);
  free(__base);
  return uVar26;
}


PUSH R14
MOV R14,RSI
MOV ESI,0x40
PUSH R13
MOV R13,RCX
PUSH R12
MOV R12,RDX
PUSH RBP
MOV RBP,RDI
MOV RDI,R14
PUSH RBX
CALL 0x00113d60
TEST RAX,RAX
JZ 0x00175720
MOV RBX,RAX
TEST R14,R14
JZ 0x001756da
MOV RCX,R14
XOR EAX,EAX
XOR EDX,EDX
AND ECX,0x3
JZ 0x001755b5
CMP RCX,0x1
JZ 0x0017556d
CMP RCX,0x2
JZ 0x00175536
MOVDQU XMM5,xmmword ptr [RBP + 0x10]
MOVDQU XMM4,xmmword ptr [RBP]
MOV EDX,0x1
MOV EAX,0x40
MOVDQU XMM6,xmmword ptr [RBP + 0x20]
MOVDQU XMM7,xmmword ptr [RBP + 0x30]
MOVUPS xmmword ptr [RBX + 0x10],XMM5
MOV dword ptr [RBX + 0x18],0x0
MOVUPS xmmword ptr [RBX],XMM4
MOVUPS xmmword ptr [RBX + 0x20],XMM6
MOVUPS xmmword ptr [RBX + 0x30],XMM7
MOVDQU XMM0,xmmword ptr [RBP + RAX*0x1]
MOVDQU XMM1,xmmword ptr [RBP + RAX*0x1 + 0x10]
MOVDQU XMM2,xmmword ptr [RBP + RAX*0x1 + 0x20]
MOVDQU XMM3,xmmword ptr [RBP + RAX*0x1 + 0x30]
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x10],XMM1
MOVUPS xmmword ptr [RBX + RAX*0x1],XMM0
MOV dword ptr [RBX + RAX*0x1 + 0x18],EDX
ADD RDX,0x1
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x20],XMM2
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x30],XMM3
ADD RAX,0x40
MOVDQU XMM9,xmmword ptr [RBP + RAX*0x1 + 0x10]
MOVDQU XMM8,xmmword ptr [RBP + RAX*0x1]
MOVDQU XMM10,xmmword ptr [RBP + RAX*0x1 + 0x20]
MOVDQU XMM11,xmmword ptr [RBP + RAX*0x1 + 0x30]
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x10],XMM9
MOV dword ptr [RBX + RAX*0x1 + 0x18],EDX
ADD RDX,0x1
MOVUPS xmmword ptr [RBX + RAX*0x1],XMM8
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x20],XMM10
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x30],XMM11
ADD RAX,0x40
CMP R14,RDX
JZ 0x001756da
MOVDQU XMM12,xmmword ptr [RBP + RAX*0x1]
MOVDQU XMM13,xmmword ptr [RBP + RAX*0x1 + 0x10]
LEA RSI,[RDX + 0x1]
LEA RDI,[RDX + 0x2]
MOVDQU XMM4,xmmword ptr [RBP + RAX*0x1 + 0x40]
MOVDQU XMM5,xmmword ptr [RBP + RAX*0x1 + 0x50]
LEA R8,[RDX + 0x3]
MOVDQU XMM14,xmmword ptr [RBP + RAX*0x1 + 0x20]
MOVDQU XMM15,xmmword ptr [RBP + RAX*0x1 + 0x30]
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x10],XMM13
MOVDQU XMM6,xmmword ptr [RBP + RAX*0x1 + 0x60]
MOVDQU XMM7,xmmword ptr [RBP + RAX*0x1 + 0x70]
MOV dword ptr [RBX + RAX*0x1 + 0x18],EDX
ADD RDX,0x4
MOVDQU XMM0,xmmword ptr [RBP + RAX*0x1 + 0x80]
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x50],XMM5
MOVDQU XMM1,xmmword ptr [RBP + RAX*0x1 + 0x90]
MOVDQU XMM2,xmmword ptr [RBP + RAX*0x1 + 0xa0]
MOVUPS xmmword ptr [RBX + RAX*0x1],XMM12
MOVDQU XMM3,xmmword ptr [RBP + RAX*0x1 + 0xb0]
MOVDQU XMM8,xmmword ptr [RBP + RAX*0x1 + 0xc0]
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x90],XMM1
MOVDQU XMM9,xmmword ptr [RBP + RAX*0x1 + 0xd0]
MOVDQU XMM10,xmmword ptr [RBP + RAX*0x1 + 0xe0]
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x20],XMM14
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x30],XMM15
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x40],XMM4
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x60],XMM6
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x70],XMM7
MOV dword ptr [RBX + RAX*0x1 + 0x58],ESI
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0x80],XMM0
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0xa0],XMM2
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0xb0],XMM3
MOV dword ptr [RBX + RAX*0x1 + 0x98],EDI
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0xc0],XMM8
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0xd0],XMM9
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0xe0],XMM10
MOVDQU XMM11,xmmword ptr [RBP + RAX*0x1 + 0xf0]
MOV dword ptr [RBX + RAX*0x1 + 0xd8],R8D
MOVUPS xmmword ptr [RBX + RAX*0x1 + 0xf0],XMM11
ADD RAX,0x100
CMP R14,RDX
JNZ 0x001755b5
MOV RSI,R14
MOV RDI,RBX
MOV EDX,0x40
LEA RCX,[0x175460]
CALL 0x00113420
MOV RCX,R13
MOV RDX,R12
MOV RSI,R14
MOV RDI,RBX
MOV R8D,0xe
CALL 0x001147e0
MOV RDI,RBX
MOV EBP,EAX
CALL 0x00113130
POP RBX
MOV EAX,EBP
POP RBP
POP R12
POP R13
POP R14
RET
MOV EBP,0xd
POP RBX
MOV EAX,EBP
POP RBP
POP R12
POP R13
POP R14
RET
(translation_unit "undefined4 der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}\n\n" (function_definition "undefined4 der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}" type_identifier (function_declarator "der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)" identifier (parameter_list "(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "size_t param_2" primitive_type identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "undefined8 uVar16;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "undefined8 uVar25;" type_identifier identifier ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "undefined8 *__base;" type_identifier (pointer_declarator "*__base" * identifier) ;) (declaration "long lVar27;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "size_t sVar29;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (expression_statement "__base = (undefined8 *)calloc(param_2,0x40);" (assignment_expression "__base = (undefined8 *)calloc(param_2,0x40)" identifier = (cast_expression "(undefined8 *)calloc(param_2,0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(param_2,0x40)" identifier (argument_list "(param_2,0x40)" ( identifier , number_literal ))))) ;) (if_statement "if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }" if (parenthesized_expression "(__base == (undefined8 *)0x0)" ( (binary_expression "__base == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0xd;\n  }" { (return_statement "return 0xd;" return number_literal ;) })) (if_statement "if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }" { (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" identifier = number_literal) ;) (expression_statement "sVar29 = 0;" (assignment_expression "sVar29 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = (uint)param_2 & 3;" (assignment_expression "uVar28 = (uint)param_2 & 3" identifier = (binary_expression "(uint)param_2 & 3" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }" if (parenthesized_expression "((param_2 & 3) != 0)" ( (binary_expression "(param_2 & 3) != 0" (parenthesized_expression "(param_2 & 3)" ( (binary_expression "param_2 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }" { (if_statement "if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }" if (parenthesized_expression "(uVar28 != 1)" ( (binary_expression "uVar28 != 1" identifier != number_literal) )) (compound_statement "{\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }" { (expression_statement "bVar30 = uVar28 != 2;" (assignment_expression "bVar30 = uVar28 != 2" identifier = (binary_expression "uVar28 != 2" identifier != number_literal)) ;) (if_statement "if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }" { (expression_statement "uVar4 = param_1[3];" (assignment_expression "uVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar6 = param_1[1];" (assignment_expression "uVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "lVar27 = 0x40;" (assignment_expression "lVar27 = 0x40" identifier = number_literal) ;) (expression_statement "uVar7 = param_1[4];" (assignment_expression "uVar7 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[5];" (assignment_expression "uVar8 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = param_1[6];" (assignment_expression "uVar9 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_1[7];" (assignment_expression "uVar10 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "__base[2] = param_1[2];" (assignment_expression "__base[2] = param_1[2]" (subscript_expression "__base[2]" identifier [ number_literal ]) = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "__base[3] = uVar4;" (assignment_expression "__base[3] = uVar4" (subscript_expression "__base[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(__base + 3) = 0;" (assignment_expression "*(undefined4 *)(__base + 3) = 0" (pointer_expression "*(undefined4 *)(__base + 3)" * (cast_expression "(undefined4 *)(__base + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__base + 3)" ( (binary_expression "__base + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*__base = uVar5;" (assignment_expression "*__base = uVar5" (pointer_expression "*__base" * identifier) = identifier) ;) (expression_statement "__base[1] = uVar6;" (assignment_expression "__base[1] = uVar6" (subscript_expression "__base[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[4] = uVar7;" (assignment_expression "__base[4] = uVar7" (subscript_expression "__base[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[5] = uVar8;" (assignment_expression "__base[5] = uVar8" (subscript_expression "__base[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[6] = uVar9;" (assignment_expression "__base[6] = uVar9" (subscript_expression "__base[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[7] = uVar10;" (assignment_expression "__base[7] = uVar10" (subscript_expression "__base[7]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar4 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar4 = *(undefined8 *)((long)param_1 + lVar27)" identifier = (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" * (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ;) (expression_statement "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1]" identifier = (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" ( (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" ( (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar6 = puVar1[1];" (assignment_expression "uVar6 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" ( (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" ( (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x10)" ( (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar2[1] = uVar6;" (assignment_expression "puVar2[1] = uVar6" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar4;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar4" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" * (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar5;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar5" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" ( (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;" (assignment_expression "*(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30" (pointer_expression "*(uint *)((long)__base + lVar27 + 0x18)" * (cast_expression "(uint *)((long)__base + lVar27 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x18)" ( (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "sVar29 = (ulong)bVar30 + 1;" (assignment_expression "sVar29 = (ulong)bVar30 + 1" identifier = (binary_expression "(ulong)bVar30 + 1" (cast_expression "(ulong)bVar30" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x20)" ( (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x30)" ( (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar27 = lVar27 + 0x40;" (assignment_expression "lVar27 = lVar27 + 0x40" identifier = (binary_expression "lVar27 + 0x40" identifier + number_literal)) ;) })) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" ( (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = puVar1[1];" (assignment_expression "uVar4 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar5 = *(undefined8 *)((long)param_1 + lVar27)" identifier = (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" * (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ;) (expression_statement "uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1]" identifier = (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" ( (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" ( (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" ( (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x10)" ( (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar2[1] = uVar4;" (assignment_expression "puVar2[1] = uVar4" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x18) = (int)sVar29" (pointer_expression "*(int *)((long)__base + lVar27 + 0x18)" * (cast_expression "(int *)((long)__base + lVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x18)" ( (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "sVar29 = sVar29 + 1;" (assignment_expression "sVar29 = sVar29 + 1" identifier = (binary_expression "sVar29 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar5;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar5" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" * (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar6;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar6" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" ( (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x20)" ( (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x30)" ( (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar27 = lVar27 + 0x40;" (assignment_expression "lVar27 = lVar27 + 0x40" identifier = (binary_expression "lVar27 + 0x40" identifier + number_literal)) ;) (if_statement "if (param_2 == sVar29) goto LAB_001756da;" if (parenthesized_expression "(param_2 == sVar29)" ( (binary_expression "param_2 == sVar29" identifier == identifier) )) (goto_statement "goto LAB_001756da;" goto statement_identifier ;)) })) (do_statement "do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);" do (compound_statement "{\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    }" { (expression_statement "uVar4 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar4 = *(undefined8 *)((long)param_1 + lVar27)" identifier = (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" * (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ;) (expression_statement "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1]" identifier = (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" ( (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" ( (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar6 = puVar1[1];" (assignment_expression "uVar6 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (int)sVar29;" (assignment_expression "iVar3 = (int)sVar29" identifier = (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x40)" ( (binary_expression "(long)param_1 + lVar27 + 0x40" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x50)" ( (binary_expression "(long)param_1 + lVar27 + 0x50" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" ( (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar2;" (assignment_expression "uVar11 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar12 = puVar2[1];" (assignment_expression "uVar12 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" ( (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar13 = *puVar2;" (assignment_expression "uVar13 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar14 = puVar2[1];" (assignment_expression "uVar14 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x10)" ( (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar2[1] = uVar6;" (assignment_expression "puVar2[1] = uVar6" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x60)" ( (binary_expression "(long)param_1 + lVar27 + 0x60" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar6 = *puVar1;" (assignment_expression "uVar6 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar15 = puVar1[1];" (assignment_expression "uVar15 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x70)" ( (binary_expression "(long)param_1 + lVar27 + 0x70" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar16 = *puVar1;" (assignment_expression "uVar16 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar17 = puVar1[1];" (assignment_expression "uVar17 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x18) = iVar3;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x18) = iVar3" (pointer_expression "*(int *)((long)__base + lVar27 + 0x18)" * (cast_expression "(int *)((long)__base + lVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x18)" ( (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "sVar29 = sVar29 + 4;" (assignment_expression "sVar29 = sVar29 + 4" identifier = (binary_expression "sVar29 + 4" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x80)" ( (binary_expression "(long)param_1 + lVar27 + 0x80" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar18 = *puVar1;" (assignment_expression "uVar18 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar19 = puVar1[1];" (assignment_expression "uVar19 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x50)" ( (binary_expression "(long)__base + lVar27 + 0x50" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x90)" ( (binary_expression "(long)param_1 + lVar27 + 0x90" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xa0)" ( (binary_expression "(long)param_1 + lVar27 + 0xa0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar20 = *puVar1;" (assignment_expression "uVar20 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar21 = puVar1[1];" (assignment_expression "uVar21 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar4;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar4" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" * (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar5;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar5" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" ( (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xb0)" ( (binary_expression "(long)param_1 + lVar27 + 0xb0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = *puVar1;" (assignment_expression "uVar4 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar5 = puVar1[1];" (assignment_expression "uVar5 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xc0)" ( (binary_expression "(long)param_1 + lVar27 + 0xc0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar22 = *puVar1;" (assignment_expression "uVar22 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar23 = puVar1[1];" (assignment_expression "uVar23 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x90)" ( (binary_expression "(long)__base + lVar27 + 0x90" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xd0)" ( (binary_expression "(long)param_1 + lVar27 + 0xd0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xe0)" ( (binary_expression "(long)param_1 + lVar27 + 0xe0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar24 = *puVar1;" (assignment_expression "uVar24 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar25 = puVar1[1];" (assignment_expression "uVar25 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x20)" ( (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar11;" (assignment_expression "*puVar1 = uVar11" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar12;" (assignment_expression "puVar1[1] = uVar12" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x30)" ( (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar13;" (assignment_expression "*puVar1 = uVar13" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar14;" (assignment_expression "puVar1[1] = uVar14" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x40)" ( (binary_expression "(long)__base + lVar27 + 0x40" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x60)" ( (binary_expression "(long)__base + lVar27 + 0x60" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar6;" (assignment_expression "*puVar1 = uVar6" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar15;" (assignment_expression "puVar1[1] = uVar15" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x70)" ( (binary_expression "(long)__base + lVar27 + 0x70" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar16;" (assignment_expression "*puVar1 = uVar16" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar17;" (assignment_expression "puVar1[1] = uVar17" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1" (pointer_expression "*(int *)((long)__base + lVar27 + 0x58)" * (cast_expression "(int *)((long)__base + lVar27 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x58)" ( (binary_expression "(long)__base + lVar27 + 0x58" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x80)" ( (binary_expression "(long)__base + lVar27 + 0x80" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar18;" (assignment_expression "*puVar1 = uVar18" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar19;" (assignment_expression "puVar1[1] = uVar19" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xa0)" ( (binary_expression "(long)__base + lVar27 + 0xa0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar20;" (assignment_expression "*puVar1 = uVar20" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar21;" (assignment_expression "puVar1[1] = uVar21" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xb0)" ( (binary_expression "(long)__base + lVar27 + 0xb0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar4;" (assignment_expression "*puVar1 = uVar4" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar5;" (assignment_expression "puVar1[1] = uVar5" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2" (pointer_expression "*(int *)((long)__base + lVar27 + 0x98)" * (cast_expression "(int *)((long)__base + lVar27 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x98)" ( (binary_expression "(long)__base + lVar27 + 0x98" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (binary_expression "iVar3 + 2" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xc0)" ( (binary_expression "(long)__base + lVar27 + 0xc0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar22;" (assignment_expression "*puVar1 = uVar22" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar23;" (assignment_expression "puVar1[1] = uVar23" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xd0)" ( (binary_expression "(long)__base + lVar27 + 0xd0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xe0)" ( (binary_expression "(long)__base + lVar27 + 0xe0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar24;" (assignment_expression "*puVar1 = uVar24" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar25;" (assignment_expression "puVar1[1] = uVar25" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xf0)" ( (binary_expression "(long)param_1 + lVar27 + 0xf0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = *puVar1;" (assignment_expression "uVar4 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar5 = puVar1[1];" (assignment_expression "uVar5 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;" (assignment_expression "*(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3" (pointer_expression "*(int *)((long)__base + lVar27 + 0xd8)" * (cast_expression "(int *)((long)__base + lVar27 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xd8)" ( (binary_expression "(long)__base + lVar27 + 0xd8" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (binary_expression "iVar3 + 3" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xf0)" ( (binary_expression "(long)__base + lVar27 + 0xf0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar4;" (assignment_expression "*puVar1 = uVar4" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar5;" (assignment_expression "puVar1[1] = uVar5" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar27 = lVar27 + 0x100;" (assignment_expression "lVar27 = lVar27 + 0x100" identifier = (binary_expression "lVar27 + 0x100" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != sVar29)" ( (binary_expression "param_2 != sVar29" identifier != identifier) )) ;) })) (labeled_statement "LAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);" statement_identifier : (expression_statement "qsort(__base,param_2,0x40,FUN_00175460);" (call_expression "qsort(__base,param_2,0x40,FUN_00175460)" identifier (argument_list "(__base,param_2,0x40,FUN_00175460)" ( identifier , identifier , number_literal , identifier ))) ;)) (expression_statement "uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);" (assignment_expression "uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe)" identifier = (call_expression "der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe)" identifier (argument_list "(__base,param_2,param_3,param_4,0xe)" ( identifier , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "free(__base);" (call_expression "free(__base)" identifier (argument_list "(__base)" ( identifier ))) ;) (return_statement "return uVar26;" return identifier ;) })))
(translation_unit "int der_encode_set(ltc_asn1_list *list,ulong inlen,uchar *out,ulong *outlen)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  void *pvVar3;\n  ltc_asn1_list_ *plVar4;\n  ltc_asn1_list_ *plVar5;\n  ltc_asn1_list_ *plVar6;\n  ltc_asn1_list_ *plVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  ltc_asn1_type lVar31;\n  undefined4 uVar32;\n  int iVar33;\n  ltc_asn1_list *list_00;\n  long lVar34;\n  uint uVar35;\n  ulong uVar36;\n  bool bVar37;\n  \n  list_00 = (ltc_asn1_list *)calloc(inlen,0x40);\n  if (list_00 == (ltc_asn1_list *)0x0) {\n    return 0xd;\n  }\n  if (inlen != 0) {\n    lVar34 = 0;\n    uVar36 = 0;\n    uVar35 = (uint)inlen & 3;\n    if ((inlen & 3) != 0) {\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }\n    do {\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    } while (inlen != uVar36);\n  }\nLAB_001756da:\n  qsort(list_00,inlen,0x40,_qsort_helper);\n  iVar33 = der_encode_sequence_ex(list_00,inlen,out,outlen,0xe);\n  free(list_00);\n  return iVar33;\n}\n\n" (function_definition "int der_encode_set(ltc_asn1_list *list,ulong inlen,uchar *out,ulong *outlen)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  void *pvVar3;\n  ltc_asn1_list_ *plVar4;\n  ltc_asn1_list_ *plVar5;\n  ltc_asn1_list_ *plVar6;\n  ltc_asn1_list_ *plVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  ltc_asn1_type lVar31;\n  undefined4 uVar32;\n  int iVar33;\n  ltc_asn1_list *list_00;\n  long lVar34;\n  uint uVar35;\n  ulong uVar36;\n  bool bVar37;\n  \n  list_00 = (ltc_asn1_list *)calloc(inlen,0x40);\n  if (list_00 == (ltc_asn1_list *)0x0) {\n    return 0xd;\n  }\n  if (inlen != 0) {\n    lVar34 = 0;\n    uVar36 = 0;\n    uVar35 = (uint)inlen & 3;\n    if ((inlen & 3) != 0) {\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }\n    do {\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    } while (inlen != uVar36);\n  }\nLAB_001756da:\n  qsort(list_00,inlen,0x40,_qsort_helper);\n  iVar33 = der_encode_sequence_ex(list_00,inlen,out,outlen,0xe);\n  free(list_00);\n  return iVar33;\n}" primitive_type (function_declarator "der_encode_set(ltc_asn1_list *list,ulong inlen,uchar *out,ulong *outlen)" identifier (parameter_list "(ltc_asn1_list *list,ulong inlen,uchar *out,ulong *outlen)" ( (parameter_declaration "ltc_asn1_list *list" type_identifier (pointer_declarator "*list" * identifier)) , (parameter_declaration "ulong inlen" type_identifier identifier) , (parameter_declaration "uchar *out" type_identifier (pointer_declarator "*out" * identifier)) , (parameter_declaration "ulong *outlen" type_identifier (pointer_declarator "*outlen" * identifier)) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  void *pvVar3;\n  ltc_asn1_list_ *plVar4;\n  ltc_asn1_list_ *plVar5;\n  ltc_asn1_list_ *plVar6;\n  ltc_asn1_list_ *plVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined8 uVar26;\n  undefined8 uVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  ltc_asn1_type lVar31;\n  undefined4 uVar32;\n  int iVar33;\n  ltc_asn1_list *list_00;\n  long lVar34;\n  uint uVar35;\n  ulong uVar36;\n  bool bVar37;\n  \n  list_00 = (ltc_asn1_list *)calloc(inlen,0x40);\n  if (list_00 == (ltc_asn1_list *)0x0) {\n    return 0xd;\n  }\n  if (inlen != 0) {\n    lVar34 = 0;\n    uVar36 = 0;\n    uVar35 = (uint)inlen & 3;\n    if ((inlen & 3) != 0) {\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }\n    do {\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    } while (inlen != uVar36);\n  }\nLAB_001756da:\n  qsort(list_00,inlen,0x40,_qsort_helper);\n  iVar33 = der_encode_sequence_ex(list_00,inlen,out,outlen,0xe);\n  free(list_00);\n  return iVar33;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "ltc_asn1_list_ *plVar4;" type_identifier (pointer_declarator "*plVar4" * identifier) ;) (declaration "ltc_asn1_list_ *plVar5;" type_identifier (pointer_declarator "*plVar5" * identifier) ;) (declaration "ltc_asn1_list_ *plVar6;" type_identifier (pointer_declarator "*plVar6" * identifier) ;) (declaration "ltc_asn1_list_ *plVar7;" type_identifier (pointer_declarator "*plVar7" * identifier) ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "undefined8 uVar16;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "undefined8 uVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "ltc_asn1_type lVar31;" type_identifier identifier ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "ltc_asn1_list *list_00;" type_identifier (pointer_declarator "*list_00" * identifier) ;) (declaration "long lVar34;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "ulong uVar36;" type_identifier identifier ;) (declaration "bool bVar37;" primitive_type identifier ;) (expression_statement "list_00 = (ltc_asn1_list *)calloc(inlen,0x40);" (assignment_expression "list_00 = (ltc_asn1_list *)calloc(inlen,0x40)" identifier = (cast_expression "(ltc_asn1_list *)calloc(inlen,0x40)" ( (type_descriptor "ltc_asn1_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(inlen,0x40)" identifier (argument_list "(inlen,0x40)" ( identifier , number_literal ))))) ;) (if_statement "if (list_00 == (ltc_asn1_list *)0x0) {\n    return 0xd;\n  }" if (parenthesized_expression "(list_00 == (ltc_asn1_list *)0x0)" ( (binary_expression "list_00 == (ltc_asn1_list *)0x0" identifier == (cast_expression "(ltc_asn1_list *)0x0" ( (type_descriptor "ltc_asn1_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0xd;\n  }" { (return_statement "return 0xd;" return number_literal ;) })) (if_statement "if (inlen != 0) {\n    lVar34 = 0;\n    uVar36 = 0;\n    uVar35 = (uint)inlen & 3;\n    if ((inlen & 3) != 0) {\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }\n    do {\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    } while (inlen != uVar36);\n  }" if (parenthesized_expression "(inlen != 0)" ( (binary_expression "inlen != 0" identifier != number_literal) )) (compound_statement "{\n    lVar34 = 0;\n    uVar36 = 0;\n    uVar35 = (uint)inlen & 3;\n    if ((inlen & 3) != 0) {\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }\n    do {\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    } while (inlen != uVar36);\n  }" { (expression_statement "lVar34 = 0;" (assignment_expression "lVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar36 = 0;" (assignment_expression "uVar36 = 0" identifier = number_literal) ;) (expression_statement "uVar35 = (uint)inlen & 3;" (assignment_expression "uVar35 = (uint)inlen & 3" identifier = (binary_expression "(uint)inlen & 3" (cast_expression "(uint)inlen" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((inlen & 3) != 0) {\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }" if (parenthesized_expression "((inlen & 3) != 0)" ( (binary_expression "(inlen & 3) != 0" (parenthesized_expression "(inlen & 3)" ( (binary_expression "inlen & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar8 = puVar2[1];\n      puVar1 = (undefined8 *)((long)&list->type + lVar34);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar8;\n      *(int *)((long)&list_00->used + lVar34) = (int)uVar36;\n      uVar36 = uVar36 + 1;\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar9;\n      puVar2[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      lVar34 = lVar34 + 0x40;\n      if (inlen == uVar36) goto LAB_001756da;\n    }" { (if_statement "if (uVar35 != 1) {\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }" if (parenthesized_expression "(uVar35 != 1)" ( (binary_expression "uVar35 != 1" identifier != number_literal) )) (compound_statement "{\n        bVar37 = uVar35 != 2;\n        if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }\n        puVar2 = (undefined8 *)((long)&list->type + lVar34);\n        uVar8 = *puVar2;\n        uVar9 = puVar2[1];\n        puVar2 = (undefined8 *)((long)&list->size + lVar34);\n        uVar10 = puVar2[1];\n        puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n        uVar11 = *puVar1;\n        uVar12 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list->child + lVar34);\n        uVar13 = *puVar1;\n        uVar14 = puVar1[1];\n        puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n        *puVar1 = *puVar2;\n        puVar1[1] = uVar10;\n        puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n        *puVar2 = uVar8;\n        puVar2[1] = uVar9;\n        *(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;\n        uVar36 = (ulong)bVar37 + 1;\n        puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n        *puVar2 = uVar11;\n        puVar2[1] = uVar12;\n        puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n        *puVar2 = uVar13;\n        puVar2[1] = uVar14;\n        lVar34 = lVar34 + 0x40;\n      }" { (expression_statement "bVar37 = uVar35 != 2;" (assignment_expression "bVar37 = uVar35 != 2" identifier = (binary_expression "uVar35 != 2" identifier != number_literal)) ;) (if_statement "if (bVar37) {\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }" if (parenthesized_expression "(bVar37)" ( identifier )) (compound_statement "{\n          iVar33 = list->used;\n          uVar30 = *(undefined4 *)&list->field_0x1c;\n          lVar31 = list->type;\n          uVar32 = *(undefined4 *)&list->field_0x4;\n          pvVar3 = list->data;\n          lVar34 = 0x40;\n          plVar4 = list->prev;\n          plVar5 = list->next;\n          plVar6 = list->child;\n          plVar7 = list->parent;\n          list_00->size = list->size;\n          list_00->used = iVar33;\n          *(undefined4 *)&list_00->field_0x1c = uVar30;\n          list_00->used = 0;\n          list_00->type = lVar31;\n          *(undefined4 *)&list_00->field_0x4 = uVar32;\n          list_00->data = pvVar3;\n          list_00->prev = plVar4;\n          list_00->next = plVar5;\n          list_00->child = plVar6;\n          list_00->parent = plVar7;\n        }" { (expression_statement "iVar33 = list->used;" (assignment_expression "iVar33 = list->used" identifier = (field_expression "list->used" identifier -> field_identifier)) ;) (expression_statement "uVar30 = *(undefined4 *)&list->field_0x1c;" (assignment_expression "uVar30 = *(undefined4 *)&list->field_0x1c" identifier = (pointer_expression "*(undefined4 *)&list->field_0x1c" * (cast_expression "(undefined4 *)&list->field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&list->field_0x1c" & (field_expression "list->field_0x1c" identifier -> field_identifier))))) ;) (expression_statement "lVar31 = list->type;" (assignment_expression "lVar31 = list->type" identifier = (field_expression "list->type" identifier -> field_identifier)) ;) (expression_statement "uVar32 = *(undefined4 *)&list->field_0x4;" (assignment_expression "uVar32 = *(undefined4 *)&list->field_0x4" identifier = (pointer_expression "*(undefined4 *)&list->field_0x4" * (cast_expression "(undefined4 *)&list->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&list->field_0x4" & (field_expression "list->field_0x4" identifier -> field_identifier))))) ;) (expression_statement "pvVar3 = list->data;" (assignment_expression "pvVar3 = list->data" identifier = (field_expression "list->data" identifier -> field_identifier)) ;) (expression_statement "lVar34 = 0x40;" (assignment_expression "lVar34 = 0x40" identifier = number_literal) ;) (expression_statement "plVar4 = list->prev;" (assignment_expression "plVar4 = list->prev" identifier = (field_expression "list->prev" identifier -> field_identifier)) ;) (expression_statement "plVar5 = list->next;" (assignment_expression "plVar5 = list->next" identifier = (field_expression "list->next" identifier -> field_identifier)) ;) (expression_statement "plVar6 = list->child;" (assignment_expression "plVar6 = list->child" identifier = (field_expression "list->child" identifier -> field_identifier)) ;) (expression_statement "plVar7 = list->parent;" (assignment_expression "plVar7 = list->parent" identifier = (field_expression "list->parent" identifier -> field_identifier)) ;) (expression_statement "list_00->size = list->size;" (assignment_expression "list_00->size = list->size" (field_expression "list_00->size" identifier -> field_identifier) = (field_expression "list->size" identifier -> field_identifier)) ;) (expression_statement "list_00->used = iVar33;" (assignment_expression "list_00->used = iVar33" (field_expression "list_00->used" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&list_00->field_0x1c = uVar30;" (assignment_expression "*(undefined4 *)&list_00->field_0x1c = uVar30" (pointer_expression "*(undefined4 *)&list_00->field_0x1c" * (cast_expression "(undefined4 *)&list_00->field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&list_00->field_0x1c" & (field_expression "list_00->field_0x1c" identifier -> field_identifier)))) = identifier) ;) (expression_statement "list_00->used = 0;" (assignment_expression "list_00->used = 0" (field_expression "list_00->used" identifier -> field_identifier) = number_literal) ;) (expression_statement "list_00->type = lVar31;" (assignment_expression "list_00->type = lVar31" (field_expression "list_00->type" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&list_00->field_0x4 = uVar32;" (assignment_expression "*(undefined4 *)&list_00->field_0x4 = uVar32" (pointer_expression "*(undefined4 *)&list_00->field_0x4" * (cast_expression "(undefined4 *)&list_00->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&list_00->field_0x4" & (field_expression "list_00->field_0x4" identifier -> field_identifier)))) = identifier) ;) (expression_statement "list_00->data = pvVar3;" (assignment_expression "list_00->data = pvVar3" (field_expression "list_00->data" identifier -> field_identifier) = identifier) ;) (expression_statement "list_00->prev = plVar4;" (assignment_expression "list_00->prev = plVar4" (field_expression "list_00->prev" identifier -> field_identifier) = identifier) ;) (expression_statement "list_00->next = plVar5;" (assignment_expression "list_00->next = plVar5" (field_expression "list_00->next" identifier -> field_identifier) = identifier) ;) (expression_statement "list_00->child = plVar6;" (assignment_expression "list_00->child = plVar6" (field_expression "list_00->child" identifier -> field_identifier) = identifier) ;) (expression_statement "list_00->parent = plVar7;" (assignment_expression "list_00->parent = plVar7" (field_expression "list_00->parent" identifier -> field_identifier) = identifier) ;) })) (expression_statement "puVar2 = (undefined8 *)((long)&list->type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list->type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->type + lVar34)" ( (binary_expression "(long)&list->type + lVar34" (cast_expression "(long)&list->type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->type" & (field_expression "list->type" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar9 = puVar2[1];" (assignment_expression "uVar9 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list->size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list->size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->size + lVar34)" ( (binary_expression "(long)&list->size + lVar34" (cast_expression "(long)&list->size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->size" & (field_expression "list->size" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->prev + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->prev + lVar34)" ( (binary_expression "(long)&list->prev + lVar34" (cast_expression "(long)&list->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->prev" & (field_expression "list->prev" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar12 = puVar1[1];" (assignment_expression "uVar12 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->child + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->child + lVar34)" ( (binary_expression "(long)&list->child + lVar34" (cast_expression "(long)&list->child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->child" & (field_expression "list->child" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar13 = *puVar1;" (assignment_expression "uVar13 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar14 = puVar1[1];" (assignment_expression "uVar14 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list_00->size + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list_00->size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->size + lVar34)" ( (binary_expression "(long)&list_00->size + lVar34" (cast_expression "(long)&list_00->size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->size" & (field_expression "list_00->size" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar1 = *puVar2;" (assignment_expression "*puVar1 = *puVar2" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->type + lVar34)" ( (binary_expression "(long)&list_00->type + lVar34" (cast_expression "(long)&list_00->type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->type" & (field_expression "list_00->type" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar8;" (assignment_expression "*puVar2 = uVar8" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar9;" (assignment_expression "puVar2[1] = uVar9" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)((long)&list_00->used + lVar34) = (uint)bVar37;" (assignment_expression "*(uint *)((long)&list_00->used + lVar34) = (uint)bVar37" (pointer_expression "*(uint *)((long)&list_00->used + lVar34)" * (cast_expression "(uint *)((long)&list_00->used + lVar34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->used + lVar34)" ( (binary_expression "(long)&list_00->used + lVar34" (cast_expression "(long)&list_00->used" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->used" & (field_expression "list_00->used" identifier -> field_identifier))) + identifier) )))) = (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar36 = (ulong)bVar37 + 1;" (assignment_expression "uVar36 = (ulong)bVar37 + 1" identifier = (binary_expression "(ulong)bVar37 + 1" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal)) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->prev + lVar34)" ( (binary_expression "(long)&list_00->prev + lVar34" (cast_expression "(long)&list_00->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->prev" & (field_expression "list_00->prev" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar11;" (assignment_expression "*puVar2 = uVar11" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar12;" (assignment_expression "puVar2[1] = uVar12" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->child + lVar34)" ( (binary_expression "(long)&list_00->child + lVar34" (cast_expression "(long)&list_00->child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->child" & (field_expression "list_00->child" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar13;" (assignment_expression "*puVar2 = uVar13" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar14;" (assignment_expression "puVar2[1] = uVar14" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = lVar34 + 0x40;" (assignment_expression "lVar34 = lVar34 + 0x40" identifier = (binary_expression "lVar34 + 0x40" identifier + number_literal)) ;) })) (expression_statement "puVar2 = (undefined8 *)((long)&list->size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list->size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->size + lVar34)" ( (binary_expression "(long)&list->size + lVar34" (cast_expression "(long)&list->size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->size" & (field_expression "list->size" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->type + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->type + lVar34)" ( (binary_expression "(long)&list->type + lVar34" (cast_expression "(long)&list->type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->type" & (field_expression "list->type" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->prev + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->prev + lVar34)" ( (binary_expression "(long)&list->prev + lVar34" (cast_expression "(long)&list->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->prev" & (field_expression "list->prev" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar12 = puVar1[1];" (assignment_expression "uVar12 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->child + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->child + lVar34)" ( (binary_expression "(long)&list->child + lVar34" (cast_expression "(long)&list->child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->child" & (field_expression "list->child" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar13 = *puVar1;" (assignment_expression "uVar13 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar14 = puVar1[1];" (assignment_expression "uVar14 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list_00->size + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list_00->size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->size + lVar34)" ( (binary_expression "(long)&list_00->size + lVar34" (cast_expression "(long)&list_00->size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->size" & (field_expression "list_00->size" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar1 = *puVar2;" (assignment_expression "*puVar1 = *puVar2" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)&list_00->used + lVar34) = (int)uVar36;" (assignment_expression "*(int *)((long)&list_00->used + lVar34) = (int)uVar36" (pointer_expression "*(int *)((long)&list_00->used + lVar34)" * (cast_expression "(int *)((long)&list_00->used + lVar34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->used + lVar34)" ( (binary_expression "(long)&list_00->used + lVar34" (cast_expression "(long)&list_00->used" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->used" & (field_expression "list_00->used" identifier -> field_identifier))) + identifier) )))) = (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar36 = uVar36 + 1;" (assignment_expression "uVar36 = uVar36 + 1" identifier = (binary_expression "uVar36 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->type + lVar34)" ( (binary_expression "(long)&list_00->type + lVar34" (cast_expression "(long)&list_00->type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->type" & (field_expression "list_00->type" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar9;" (assignment_expression "*puVar2 = uVar9" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar10;" (assignment_expression "puVar2[1] = uVar10" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->prev + lVar34)" ( (binary_expression "(long)&list_00->prev + lVar34" (cast_expression "(long)&list_00->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->prev" & (field_expression "list_00->prev" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar11;" (assignment_expression "*puVar2 = uVar11" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar12;" (assignment_expression "puVar2[1] = uVar12" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->child + lVar34)" ( (binary_expression "(long)&list_00->child + lVar34" (cast_expression "(long)&list_00->child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->child" & (field_expression "list_00->child" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar13;" (assignment_expression "*puVar2 = uVar13" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar14;" (assignment_expression "puVar2[1] = uVar14" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = lVar34 + 0x40;" (assignment_expression "lVar34 = lVar34 + 0x40" identifier = (binary_expression "lVar34 + 0x40" identifier + number_literal)) ;) (if_statement "if (inlen == uVar36) goto LAB_001756da;" if (parenthesized_expression "(inlen == uVar36)" ( (binary_expression "inlen == uVar36" identifier == identifier) )) (goto_statement "goto LAB_001756da;" goto statement_identifier ;)) })) (do_statement "do {\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    } while (inlen != uVar36);" do (compound_statement "{\n      puVar2 = (undefined8 *)((long)&list->type + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list->size + lVar34);\n      uVar10 = puVar2[1];\n      iVar33 = (int)uVar36;\n      puVar1 = (undefined8 *)((long)&list[1].type + lVar34);\n      uVar11 = *puVar1;\n      uVar12 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list[1].size + lVar34);\n      uVar13 = *puVar1;\n      uVar14 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->prev + lVar34);\n      uVar15 = *puVar1;\n      uVar16 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list->child + lVar34);\n      uVar17 = *puVar1;\n      uVar18 = puVar1[1];\n      puVar1 = (undefined8 *)((long)&list_00->size + lVar34);\n      *puVar1 = *puVar2;\n      puVar1[1] = uVar10;\n      puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);\n      uVar10 = *puVar2;\n      uVar19 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[1].child + lVar34);\n      uVar20 = *puVar2;\n      uVar21 = puVar2[1];\n      *(int *)((long)&list_00->used + lVar34) = iVar33;\n      uVar36 = uVar36 + 4;\n      puVar2 = (undefined8 *)((long)&list[2].type + lVar34);\n      uVar22 = *puVar2;\n      uVar23 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[2].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);\n      uVar24 = *puVar2;\n      uVar25 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->type + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      puVar2 = (undefined8 *)((long)&list[2].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].type + lVar34);\n      uVar26 = *puVar2;\n      uVar27 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list[3].size + lVar34);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);\n      uVar28 = *puVar2;\n      uVar29 = puVar2[1];\n      puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);\n      *puVar2 = uVar15;\n      puVar2[1] = uVar16;\n      puVar2 = (undefined8 *)((long)&list_00->child + lVar34);\n      *puVar2 = uVar17;\n      puVar2[1] = uVar18;\n      puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);\n      *puVar2 = uVar11;\n      puVar2[1] = uVar12;\n      puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);\n      *puVar2 = uVar10;\n      puVar2[1] = uVar19;\n      puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);\n      *puVar2 = uVar20;\n      puVar2[1] = uVar21;\n      *(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;\n      puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);\n      *puVar2 = uVar22;\n      puVar2[1] = uVar23;\n      puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);\n      *puVar2 = uVar24;\n      puVar2[1] = uVar25;\n      puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      *(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;\n      puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);\n      *puVar2 = uVar26;\n      puVar2[1] = uVar27;\n      puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);\n      *puVar2 = uVar13;\n      puVar2[1] = uVar14;\n      puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);\n      *puVar2 = uVar28;\n      puVar2[1] = uVar29;\n      puVar2 = (undefined8 *)((long)&list[3].child + lVar34);\n      uVar8 = *puVar2;\n      uVar9 = puVar2[1];\n      *(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;\n      puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);\n      *puVar2 = uVar8;\n      puVar2[1] = uVar9;\n      lVar34 = lVar34 + 0x100;\n    }" { (expression_statement "puVar2 = (undefined8 *)((long)&list->type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list->type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->type + lVar34)" ( (binary_expression "(long)&list->type + lVar34" (cast_expression "(long)&list->type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->type" & (field_expression "list->type" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar9 = puVar2[1];" (assignment_expression "uVar9 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list->size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list->size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->size + lVar34)" ( (binary_expression "(long)&list->size + lVar34" (cast_expression "(long)&list->size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->size" & (field_expression "list->size" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar33 = (int)uVar36;" (assignment_expression "iVar33 = (int)uVar36" identifier = (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list[1].type + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list[1].type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[1].type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[1].type + lVar34)" ( (binary_expression "(long)&list[1].type + lVar34" (cast_expression "(long)&list[1].type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[1].type" & (field_expression "list[1].type" (subscript_expression "list[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar11 = *puVar1;" (assignment_expression "uVar11 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar12 = puVar1[1];" (assignment_expression "uVar12 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list[1].size + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list[1].size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[1].size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[1].size + lVar34)" ( (binary_expression "(long)&list[1].size + lVar34" (cast_expression "(long)&list[1].size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[1].size" & (field_expression "list[1].size" (subscript_expression "list[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar13 = *puVar1;" (assignment_expression "uVar13 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar14 = puVar1[1];" (assignment_expression "uVar14 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->prev + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->prev + lVar34)" ( (binary_expression "(long)&list->prev + lVar34" (cast_expression "(long)&list->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->prev" & (field_expression "list->prev" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar15 = *puVar1;" (assignment_expression "uVar15 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar16 = puVar1[1];" (assignment_expression "uVar16 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list->child + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list->child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list->child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list->child + lVar34)" ( (binary_expression "(long)&list->child + lVar34" (cast_expression "(long)&list->child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list->child" & (field_expression "list->child" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar17 = *puVar1;" (assignment_expression "uVar17 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)&list_00->size + lVar34);" (assignment_expression "puVar1 = (undefined8 *)((long)&list_00->size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->size + lVar34)" ( (binary_expression "(long)&list_00->size + lVar34" (cast_expression "(long)&list_00->size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->size" & (field_expression "list_00->size" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar1 = *puVar2;" (assignment_expression "*puVar1 = *puVar2" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[1].prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[1].prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[1].prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[1].prev + lVar34)" ( (binary_expression "(long)&list[1].prev + lVar34" (cast_expression "(long)&list[1].prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[1].prev" & (field_expression "list[1].prev" (subscript_expression "list[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar10 = *puVar2;" (assignment_expression "uVar10 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar19 = puVar2[1];" (assignment_expression "uVar19 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[1].child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[1].child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[1].child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[1].child + lVar34)" ( (binary_expression "(long)&list[1].child + lVar34" (cast_expression "(long)&list[1].child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[1].child" & (field_expression "list[1].child" (subscript_expression "list[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar20 = *puVar2;" (assignment_expression "uVar20 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar21 = puVar2[1];" (assignment_expression "uVar21 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((long)&list_00->used + lVar34) = iVar33;" (assignment_expression "*(int *)((long)&list_00->used + lVar34) = iVar33" (pointer_expression "*(int *)((long)&list_00->used + lVar34)" * (cast_expression "(int *)((long)&list_00->used + lVar34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->used + lVar34)" ( (binary_expression "(long)&list_00->used + lVar34" (cast_expression "(long)&list_00->used" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->used" & (field_expression "list_00->used" identifier -> field_identifier))) + identifier) )))) = identifier) ;) (expression_statement "uVar36 = uVar36 + 4;" (assignment_expression "uVar36 = uVar36 + 4" identifier = (binary_expression "uVar36 + 4" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[2].type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[2].type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[2].type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[2].type + lVar34)" ( (binary_expression "(long)&list[2].type + lVar34" (cast_expression "(long)&list[2].type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[2].type" & (field_expression "list[2].type" (subscript_expression "list[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar22 = *puVar2;" (assignment_expression "uVar22 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar23 = puVar2[1];" (assignment_expression "uVar23 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[1].size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[1].size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[1].size + lVar34)" ( (binary_expression "(long)&list_00[1].size + lVar34" (cast_expression "(long)&list_00[1].size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[1].size" & (field_expression "list_00[1].size" (subscript_expression "list_00[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar13;" (assignment_expression "*puVar2 = uVar13" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar14;" (assignment_expression "puVar2[1] = uVar14" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[2].size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[2].size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[2].size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[2].size + lVar34)" ( (binary_expression "(long)&list[2].size + lVar34" (cast_expression "(long)&list[2].size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[2].size" & (field_expression "list[2].size" (subscript_expression "list[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar13 = *puVar2;" (assignment_expression "uVar13 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar14 = puVar2[1];" (assignment_expression "uVar14 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[2].prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[2].prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[2].prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[2].prev + lVar34)" ( (binary_expression "(long)&list[2].prev + lVar34" (cast_expression "(long)&list[2].prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[2].prev" & (field_expression "list[2].prev" (subscript_expression "list[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar24 = *puVar2;" (assignment_expression "uVar24 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar25 = puVar2[1];" (assignment_expression "uVar25 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->type + lVar34)" ( (binary_expression "(long)&list_00->type + lVar34" (cast_expression "(long)&list_00->type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->type" & (field_expression "list_00->type" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar8;" (assignment_expression "*puVar2 = uVar8" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar9;" (assignment_expression "puVar2[1] = uVar9" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[2].child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[2].child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[2].child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[2].child + lVar34)" ( (binary_expression "(long)&list[2].child + lVar34" (cast_expression "(long)&list[2].child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[2].child" & (field_expression "list[2].child" (subscript_expression "list[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar9 = puVar2[1];" (assignment_expression "uVar9 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[3].type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[3].type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[3].type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[3].type + lVar34)" ( (binary_expression "(long)&list[3].type + lVar34" (cast_expression "(long)&list[3].type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[3].type" & (field_expression "list[3].type" (subscript_expression "list[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar26 = *puVar2;" (assignment_expression "uVar26 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar27 = puVar2[1];" (assignment_expression "uVar27 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[2].size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[2].size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[2].size + lVar34)" ( (binary_expression "(long)&list_00[2].size + lVar34" (cast_expression "(long)&list_00[2].size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[2].size" & (field_expression "list_00[2].size" (subscript_expression "list_00[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar13;" (assignment_expression "*puVar2 = uVar13" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar14;" (assignment_expression "puVar2[1] = uVar14" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[3].size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[3].size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[3].size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[3].size + lVar34)" ( (binary_expression "(long)&list[3].size + lVar34" (cast_expression "(long)&list[3].size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[3].size" & (field_expression "list[3].size" (subscript_expression "list[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar13 = *puVar2;" (assignment_expression "uVar13 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar14 = puVar2[1];" (assignment_expression "uVar14 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[3].prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[3].prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[3].prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[3].prev + lVar34)" ( (binary_expression "(long)&list[3].prev + lVar34" (cast_expression "(long)&list[3].prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[3].prev" & (field_expression "list[3].prev" (subscript_expression "list[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar28 = *puVar2;" (assignment_expression "uVar28 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar29 = puVar2[1];" (assignment_expression "uVar29 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->prev + lVar34)" ( (binary_expression "(long)&list_00->prev + lVar34" (cast_expression "(long)&list_00->prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->prev" & (field_expression "list_00->prev" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar15;" (assignment_expression "*puVar2 = uVar15" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar16;" (assignment_expression "puVar2[1] = uVar16" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00->child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00->child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00->child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00->child + lVar34)" ( (binary_expression "(long)&list_00->child + lVar34" (cast_expression "(long)&list_00->child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00->child" & (field_expression "list_00->child" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar17;" (assignment_expression "*puVar2 = uVar17" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar18;" (assignment_expression "puVar2[1] = uVar18" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[1].type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[1].type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[1].type + lVar34)" ( (binary_expression "(long)&list_00[1].type + lVar34" (cast_expression "(long)&list_00[1].type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[1].type" & (field_expression "list_00[1].type" (subscript_expression "list_00[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar11;" (assignment_expression "*puVar2 = uVar11" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar12;" (assignment_expression "puVar2[1] = uVar12" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[1].prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[1].prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[1].prev + lVar34)" ( (binary_expression "(long)&list_00[1].prev + lVar34" (cast_expression "(long)&list_00[1].prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[1].prev" & (field_expression "list_00[1].prev" (subscript_expression "list_00[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar10;" (assignment_expression "*puVar2 = uVar10" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar19;" (assignment_expression "puVar2[1] = uVar19" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[1].child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[1].child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[1].child + lVar34)" ( (binary_expression "(long)&list_00[1].child + lVar34" (cast_expression "(long)&list_00[1].child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[1].child" & (field_expression "list_00[1].child" (subscript_expression "list_00[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar20;" (assignment_expression "*puVar2 = uVar20" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar21;" (assignment_expression "puVar2[1] = uVar21" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1;" (assignment_expression "*(int *)((long)&list_00[1].used + lVar34) = iVar33 + 1" (pointer_expression "*(int *)((long)&list_00[1].used + lVar34)" * (cast_expression "(int *)((long)&list_00[1].used + lVar34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[1].used + lVar34)" ( (binary_expression "(long)&list_00[1].used + lVar34" (cast_expression "(long)&list_00[1].used" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[1].used" & (field_expression "list_00[1].used" (subscript_expression "list_00[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[2].type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[2].type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[2].type + lVar34)" ( (binary_expression "(long)&list_00[2].type + lVar34" (cast_expression "(long)&list_00[2].type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[2].type" & (field_expression "list_00[2].type" (subscript_expression "list_00[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar22;" (assignment_expression "*puVar2 = uVar22" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar23;" (assignment_expression "puVar2[1] = uVar23" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[2].prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[2].prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[2].prev + lVar34)" ( (binary_expression "(long)&list_00[2].prev + lVar34" (cast_expression "(long)&list_00[2].prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[2].prev" & (field_expression "list_00[2].prev" (subscript_expression "list_00[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar24;" (assignment_expression "*puVar2 = uVar24" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar25;" (assignment_expression "puVar2[1] = uVar25" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[2].child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[2].child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[2].child + lVar34)" ( (binary_expression "(long)&list_00[2].child + lVar34" (cast_expression "(long)&list_00[2].child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[2].child" & (field_expression "list_00[2].child" (subscript_expression "list_00[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar8;" (assignment_expression "*puVar2 = uVar8" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar9;" (assignment_expression "puVar2[1] = uVar9" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2;" (assignment_expression "*(int *)((long)&list_00[2].used + lVar34) = iVar33 + 2" (pointer_expression "*(int *)((long)&list_00[2].used + lVar34)" * (cast_expression "(int *)((long)&list_00[2].used + lVar34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[2].used + lVar34)" ( (binary_expression "(long)&list_00[2].used + lVar34" (cast_expression "(long)&list_00[2].used" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[2].used" & (field_expression "list_00[2].used" (subscript_expression "list_00[2]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) = (binary_expression "iVar33 + 2" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[3].type + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[3].type + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[3].type + lVar34)" ( (binary_expression "(long)&list_00[3].type + lVar34" (cast_expression "(long)&list_00[3].type" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[3].type" & (field_expression "list_00[3].type" (subscript_expression "list_00[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar26;" (assignment_expression "*puVar2 = uVar26" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar27;" (assignment_expression "puVar2[1] = uVar27" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[3].size + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[3].size + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[3].size + lVar34)" ( (binary_expression "(long)&list_00[3].size + lVar34" (cast_expression "(long)&list_00[3].size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[3].size" & (field_expression "list_00[3].size" (subscript_expression "list_00[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar13;" (assignment_expression "*puVar2 = uVar13" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar14;" (assignment_expression "puVar2[1] = uVar14" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[3].prev + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[3].prev + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[3].prev + lVar34)" ( (binary_expression "(long)&list_00[3].prev + lVar34" (cast_expression "(long)&list_00[3].prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[3].prev" & (field_expression "list_00[3].prev" (subscript_expression "list_00[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar28;" (assignment_expression "*puVar2 = uVar28" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar29;" (assignment_expression "puVar2[1] = uVar29" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list[3].child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list[3].child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list[3].child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list[3].child + lVar34)" ( (binary_expression "(long)&list[3].child + lVar34" (cast_expression "(long)&list[3].child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list[3].child" & (field_expression "list[3].child" (subscript_expression "list[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar9 = puVar2[1];" (assignment_expression "uVar9 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3;" (assignment_expression "*(int *)((long)&list_00[3].used + lVar34) = iVar33 + 3" (pointer_expression "*(int *)((long)&list_00[3].used + lVar34)" * (cast_expression "(int *)((long)&list_00[3].used + lVar34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[3].used + lVar34)" ( (binary_expression "(long)&list_00[3].used + lVar34" (cast_expression "(long)&list_00[3].used" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[3].used" & (field_expression "list_00[3].used" (subscript_expression "list_00[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) = (binary_expression "iVar33 + 3" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34);" (assignment_expression "puVar2 = (undefined8 *)((long)&list_00[3].child + lVar34)" identifier = (cast_expression "(undefined8 *)((long)&list_00[3].child + lVar34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&list_00[3].child + lVar34)" ( (binary_expression "(long)&list_00[3].child + lVar34" (cast_expression "(long)&list_00[3].child" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&list_00[3].child" & (field_expression "list_00[3].child" (subscript_expression "list_00[3]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*puVar2 = uVar8;" (assignment_expression "*puVar2 = uVar8" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = uVar9;" (assignment_expression "puVar2[1] = uVar9" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar34 = lVar34 + 0x100;" (assignment_expression "lVar34 = lVar34 + 0x100" identifier = (binary_expression "lVar34 + 0x100" identifier + number_literal)) ;) }) while (parenthesized_expression "(inlen != uVar36)" ( (binary_expression "inlen != uVar36" identifier != identifier) )) ;) })) (labeled_statement "LAB_001756da:\n  qsort(list_00,inlen,0x40,_qsort_helper);" statement_identifier : (expression_statement "qsort(list_00,inlen,0x40,_qsort_helper);" (call_expression "qsort(list_00,inlen,0x40,_qsort_helper)" identifier (argument_list "(list_00,inlen,0x40,_qsort_helper)" ( identifier , identifier , number_literal , identifier ))) ;)) (expression_statement "iVar33 = der_encode_sequence_ex(list_00,inlen,out,outlen,0xe);" (assignment_expression "iVar33 = der_encode_sequence_ex(list_00,inlen,out,outlen,0xe)" identifier = (call_expression "der_encode_sequence_ex(list_00,inlen,out,outlen,0xe)" identifier (argument_list "(list_00,inlen,out,outlen,0xe)" ( identifier , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "free(list_00);" (call_expression "free(list_00)" identifier (argument_list "(list_00)" ( identifier ))) ;) (return_statement "return iVar33;" return identifier ;) })))
(translation_unit "undefined4 der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}\n\n" (function_definition "undefined4 der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}" type_identifier (function_declarator "der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)" identifier (parameter_list "(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "size_t param_2" primitive_type identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "undefined8 uVar16;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "undefined8 uVar25;" type_identifier identifier ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "undefined8 *__base;" type_identifier (pointer_declarator "*__base" * identifier) ;) (declaration "long lVar27;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "size_t sVar29;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (expression_statement "__base = (undefined8 *)calloc(param_2,0x40);" (assignment_expression "__base = (undefined8 *)calloc(param_2,0x40)" identifier = (cast_expression "(undefined8 *)calloc(param_2,0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(param_2,0x40)" identifier (argument_list "(param_2,0x40)" ( identifier , number_literal ))))) ;) (if_statement "if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }" if (parenthesized_expression "(__base == (undefined8 *)0x0)" ( (binary_expression "__base == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0xd;\n  }" { (return_statement "return 0xd;" return number_literal ;) })) (if_statement "if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }" { (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" identifier = number_literal) ;) (expression_statement "sVar29 = 0;" (assignment_expression "sVar29 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = (uint)param_2 & 3;" (assignment_expression "uVar28 = (uint)param_2 & 3" identifier = (binary_expression "(uint)param_2 & 3" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }" if (parenthesized_expression "((param_2 & 3) != 0)" ( (binary_expression "(param_2 & 3) != 0" (parenthesized_expression "(param_2 & 3)" ( (binary_expression "param_2 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }" { (if_statement "if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }" if (parenthesized_expression "(uVar28 != 1)" ( (binary_expression "uVar28 != 1" identifier != number_literal) )) (compound_statement "{\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }" { (expression_statement "bVar30 = uVar28 != 2;" (assignment_expression "bVar30 = uVar28 != 2" identifier = (binary_expression "uVar28 != 2" identifier != number_literal)) ;) (if_statement "if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }" { (expression_statement "uVar4 = param_1[3];" (assignment_expression "uVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar6 = param_1[1];" (assignment_expression "uVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "lVar27 = 0x40;" (assignment_expression "lVar27 = 0x40" identifier = number_literal) ;) (expression_statement "uVar7 = param_1[4];" (assignment_expression "uVar7 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[5];" (assignment_expression "uVar8 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = param_1[6];" (assignment_expression "uVar9 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_1[7];" (assignment_expression "uVar10 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "__base[2] = param_1[2];" (assignment_expression "__base[2] = param_1[2]" (subscript_expression "__base[2]" identifier [ number_literal ]) = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "__base[3] = uVar4;" (assignment_expression "__base[3] = uVar4" (subscript_expression "__base[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(__base + 3) = 0;" (assignment_expression "*(undefined4 *)(__base + 3) = 0" (pointer_expression "*(undefined4 *)(__base + 3)" * (cast_expression "(undefined4 *)(__base + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__base + 3)" ( (binary_expression "__base + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*__base = uVar5;" (assignment_expression "*__base = uVar5" (pointer_expression "*__base" * identifier) = identifier) ;) (expression_statement "__base[1] = uVar6;" (assignment_expression "__base[1] = uVar6" (subscript_expression "__base[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[4] = uVar7;" (assignment_expression "__base[4] = uVar7" (subscript_expression "__base[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[5] = uVar8;" (assignment_expression "__base[5] = uVar8" (subscript_expression "__base[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[6] = uVar9;" (assignment_expression "__base[6] = uVar9" (subscript_expression "__base[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__base[7] = uVar10;" (assignment_expression "__base[7] = uVar10" (subscript_expression "__base[7]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar4 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar4 = *(undefined8 *)((long)param_1 + lVar27)" identifier = (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" * (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ;) (expression_statement "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1]" identifier = (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" ( (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" ( (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar6 = puVar1[1];" (assignment_expression "uVar6 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" ( (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" ( (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x10)" ( (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar2[1] = uVar6;" (assignment_expression "puVar2[1] = uVar6" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar4;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar4" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" * (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar5;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar5" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" ( (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;" (assignment_expression "*(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30" (pointer_expression "*(uint *)((long)__base + lVar27 + 0x18)" * (cast_expression "(uint *)((long)__base + lVar27 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x18)" ( (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "sVar29 = (ulong)bVar30 + 1;" (assignment_expression "sVar29 = (ulong)bVar30 + 1" identifier = (binary_expression "(ulong)bVar30 + 1" (cast_expression "(ulong)bVar30" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x20)" ( (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x30)" ( (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar27 = lVar27 + 0x40;" (assignment_expression "lVar27 = lVar27 + 0x40" identifier = (binary_expression "lVar27 + 0x40" identifier + number_literal)) ;) })) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" ( (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = puVar1[1];" (assignment_expression "uVar4 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar5 = *(undefined8 *)((long)param_1 + lVar27)" identifier = (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" * (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ;) (expression_statement "uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1]" identifier = (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" ( (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" ( (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" ( (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x10)" ( (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar2[1] = uVar4;" (assignment_expression "puVar2[1] = uVar4" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x18) = (int)sVar29" (pointer_expression "*(int *)((long)__base + lVar27 + 0x18)" * (cast_expression "(int *)((long)__base + lVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x18)" ( (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "sVar29 = sVar29 + 1;" (assignment_expression "sVar29 = sVar29 + 1" identifier = (binary_expression "sVar29 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar5;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar5" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" * (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar6;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar6" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" ( (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x20)" ( (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x30)" ( (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar27 = lVar27 + 0x40;" (assignment_expression "lVar27 = lVar27 + 0x40" identifier = (binary_expression "lVar27 + 0x40" identifier + number_literal)) ;) (if_statement "if (param_2 == sVar29) goto LAB_001756da;" if (parenthesized_expression "(param_2 == sVar29)" ( (binary_expression "param_2 == sVar29" identifier == identifier) )) (goto_statement "goto LAB_001756da;" goto statement_identifier ;)) })) (do_statement "do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);" do (compound_statement "{\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    }" { (expression_statement "uVar4 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar4 = *(undefined8 *)((long)param_1 + lVar27)" identifier = (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" * (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ;) (expression_statement "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1]" identifier = (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" ( (cast_expression "(undefined8 *)((long)param_1 + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27)" ( (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" ( (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar6 = puVar1[1];" (assignment_expression "uVar6 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (int)sVar29;" (assignment_expression "iVar3 = (int)sVar29" identifier = (cast_expression "(int)sVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x40)" ( (binary_expression "(long)param_1 + lVar27 + 0x40" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x50)" ( (binary_expression "(long)param_1 + lVar27 + 0x50" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" ( (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar11 = *puVar2;" (assignment_expression "uVar11 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar12 = puVar2[1];" (assignment_expression "uVar12 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" ( (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar13 = *puVar2;" (assignment_expression "uVar13 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar14 = puVar2[1];" (assignment_expression "uVar14 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x10)" ( (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar2[1] = uVar6;" (assignment_expression "puVar2[1] = uVar6" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x60)" ( (binary_expression "(long)param_1 + lVar27 + 0x60" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar6 = *puVar1;" (assignment_expression "uVar6 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar15 = puVar1[1];" (assignment_expression "uVar15 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x70)" ( (binary_expression "(long)param_1 + lVar27 + 0x70" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar16 = *puVar1;" (assignment_expression "uVar16 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar17 = puVar1[1];" (assignment_expression "uVar17 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x18) = iVar3;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x18) = iVar3" (pointer_expression "*(int *)((long)__base + lVar27 + 0x18)" * (cast_expression "(int *)((long)__base + lVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x18)" ( (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "sVar29 = sVar29 + 4;" (assignment_expression "sVar29 = sVar29 + 4" identifier = (binary_expression "sVar29 + 4" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x80)" ( (binary_expression "(long)param_1 + lVar27 + 0x80" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar18 = *puVar1;" (assignment_expression "uVar18 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar19 = puVar1[1];" (assignment_expression "uVar19 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x50)" ( (binary_expression "(long)__base + lVar27 + 0x50" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0x90)" ( (binary_expression "(long)param_1 + lVar27 + 0x90" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xa0)" ( (binary_expression "(long)param_1 + lVar27 + 0xa0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar20 = *puVar1;" (assignment_expression "uVar20 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar21 = puVar1[1];" (assignment_expression "uVar21 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar4;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar4" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" * (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar5;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar5" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" ( (cast_expression "(undefined8 *)((long)__base + lVar27)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27)" ( (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) )) [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xb0)" ( (binary_expression "(long)param_1 + lVar27 + 0xb0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = *puVar1;" (assignment_expression "uVar4 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar5 = puVar1[1];" (assignment_expression "uVar5 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xc0)" ( (binary_expression "(long)param_1 + lVar27 + 0xc0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar22 = *puVar1;" (assignment_expression "uVar22 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar23 = puVar1[1];" (assignment_expression "uVar23 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x90)" ( (binary_expression "(long)__base + lVar27 + 0x90" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xd0)" ( (binary_expression "(long)param_1 + lVar27 + 0xd0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xe0)" ( (binary_expression "(long)param_1 + lVar27 + 0xe0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar24 = *puVar1;" (assignment_expression "uVar24 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar25 = puVar1[1];" (assignment_expression "uVar25 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x20)" ( (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar11;" (assignment_expression "*puVar1 = uVar11" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar12;" (assignment_expression "puVar1[1] = uVar12" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x30)" ( (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar13;" (assignment_expression "*puVar1 = uVar13" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar14;" (assignment_expression "puVar1[1] = uVar14" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x40)" ( (binary_expression "(long)__base + lVar27 + 0x40" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x60)" ( (binary_expression "(long)__base + lVar27 + 0x60" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar6;" (assignment_expression "*puVar1 = uVar6" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar15;" (assignment_expression "puVar1[1] = uVar15" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x70)" ( (binary_expression "(long)__base + lVar27 + 0x70" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar16;" (assignment_expression "*puVar1 = uVar16" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar17;" (assignment_expression "puVar1[1] = uVar17" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1" (pointer_expression "*(int *)((long)__base + lVar27 + 0x58)" * (cast_expression "(int *)((long)__base + lVar27 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x58)" ( (binary_expression "(long)__base + lVar27 + 0x58" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x80)" ( (binary_expression "(long)__base + lVar27 + 0x80" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar18;" (assignment_expression "*puVar1 = uVar18" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar19;" (assignment_expression "puVar1[1] = uVar19" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xa0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xa0)" ( (binary_expression "(long)__base + lVar27 + 0xa0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar20;" (assignment_expression "*puVar1 = uVar20" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar21;" (assignment_expression "puVar1[1] = uVar21" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xb0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xb0)" ( (binary_expression "(long)__base + lVar27 + 0xb0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar4;" (assignment_expression "*puVar1 = uVar4" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar5;" (assignment_expression "puVar1[1] = uVar5" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2" (pointer_expression "*(int *)((long)__base + lVar27 + 0x98)" * (cast_expression "(int *)((long)__base + lVar27 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0x98)" ( (binary_expression "(long)__base + lVar27 + 0x98" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (binary_expression "iVar3 + 2" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xc0)" ( (binary_expression "(long)__base + lVar27 + 0xc0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar22;" (assignment_expression "*puVar1 = uVar22" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar23;" (assignment_expression "puVar1[1] = uVar23" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xd0)" ( (binary_expression "(long)__base + lVar27 + 0xd0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xe0)" ( (binary_expression "(long)__base + lVar27 + 0xe0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar24;" (assignment_expression "*puVar1 = uVar24" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar25;" (assignment_expression "puVar1[1] = uVar25" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0)" identifier = (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + lVar27 + 0xf0)" ( (binary_expression "(long)param_1 + lVar27 + 0xf0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = *puVar1;" (assignment_expression "uVar4 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar5 = puVar1[1];" (assignment_expression "uVar5 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;" (assignment_expression "*(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3" (pointer_expression "*(int *)((long)__base + lVar27 + 0xd8)" * (cast_expression "(int *)((long)__base + lVar27 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xd8)" ( (binary_expression "(long)__base + lVar27 + 0xd8" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) = (binary_expression "iVar3 + 3" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0)" identifier = (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__base + lVar27 + 0xf0)" ( (binary_expression "(long)__base + lVar27 + 0xf0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "*puVar1 = uVar4;" (assignment_expression "*puVar1 = uVar4" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar5;" (assignment_expression "puVar1[1] = uVar5" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar27 = lVar27 + 0x100;" (assignment_expression "lVar27 = lVar27 + 0x100" identifier = (binary_expression "lVar27 + 0x100" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != sVar29)" ( (binary_expression "param_2 != sVar29" identifier != identifier) )) ;) })) (labeled_statement "LAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);" statement_identifier : (expression_statement "qsort(__base,param_2,0x40,FUN_00175460);" (call_expression "qsort(__base,param_2,0x40,FUN_00175460)" identifier (argument_list "(__base,param_2,0x40,FUN_00175460)" ( identifier , identifier , number_literal , identifier ))) ;)) (expression_statement "uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);" (assignment_expression "uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe)" identifier = (call_expression "der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe)" identifier (argument_list "(__base,param_2,param_3,param_4,0xe)" ( identifier , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "free(__base);" (call_expression "free(__base)" identifier (argument_list "(__base)" ( identifier ))) ;) (return_statement "return uVar26;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 = 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 (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + 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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}" (type_identifier "undefined4") (function_declarator "der_encode_set(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)" (identifier "der_encode_set") (parameter_list "(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "size_t param_2" (primitive_type "size_t") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 *puVar2;\n  int iVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  undefined8 uVar25;\n  undefined4 uVar26;\n  undefined8 *__base;\n  long lVar27;\n  uint uVar28;\n  size_t sVar29;\n  bool bVar30;\n  \n  __base = (undefined8 *)calloc(param_2,0x40);\n  if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }\n  if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }\nLAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);\n  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);\n  free(__base);\n  return uVar26;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "undefined8 uVar13;" (type_identifier "undefined8") (identifier "uVar13") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (declaration "undefined8 uVar15;" (type_identifier "undefined8") (identifier "uVar15") (; ";")) (declaration "undefined8 uVar16;" (type_identifier "undefined8") (identifier "uVar16") (; ";")) (declaration "undefined8 uVar17;" (type_identifier "undefined8") (identifier "uVar17") (; ";")) (declaration "undefined8 uVar18;" (type_identifier "undefined8") (identifier "uVar18") (; ";")) (declaration "undefined8 uVar19;" (type_identifier "undefined8") (identifier "uVar19") (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "undefined8 uVar21;" (type_identifier "undefined8") (identifier "uVar21") (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "undefined8 uVar23;" (type_identifier "undefined8") (identifier "uVar23") (; ";")) (declaration "undefined8 uVar24;" (type_identifier "undefined8") (identifier "uVar24") (; ";")) (declaration "undefined8 uVar25;" (type_identifier "undefined8") (identifier "uVar25") (; ";")) (declaration "undefined4 uVar26;" (type_identifier "undefined4") (identifier "uVar26") (; ";")) (declaration "undefined8 *__base;" (type_identifier "undefined8") (pointer_declarator "*__base" (* "*") (identifier "__base")) (; ";")) (declaration "long lVar27;" (sized_type_specifier "long" (long "long")) (identifier "lVar27") (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "size_t sVar29;" (primitive_type "size_t") (identifier "sVar29") (; ";")) (declaration "bool bVar30;" (primitive_type "bool") (identifier "bVar30") (; ";")) (expression_statement "__base = (undefined8 *)calloc(param_2,0x40);" (assignment_expression "__base = (undefined8 *)calloc(param_2,0x40)" (identifier "__base") (= "=") (cast_expression "(undefined8 *)calloc(param_2,0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(param_2,0x40)" (identifier "calloc") (argument_list "(param_2,0x40)" (( "(") (identifier "param_2") (, ",") (number_literal "0x40") () ")"))))) (; ";")) (if_statement "if (__base == (undefined8 *)0x0) {\n    return 0xd;\n  }" (if "if") (parenthesized_expression "(__base == (undefined8 *)0x0)" (( "(") (binary_expression "__base == (undefined8 *)0x0" (identifier "__base") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return 0xd;\n  }" ({ "{") (return_statement "return 0xd;" (return "return") (number_literal "0xd") (; ";")) (} "}"))) (if_statement "if (param_2 != 0) {\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar27 = 0;\n    sVar29 = 0;\n    uVar28 = (uint)param_2 & 3;\n    if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }\n    do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);\n  }" ({ "{") (expression_statement "lVar27 = 0;" (assignment_expression "lVar27 = 0" (identifier "lVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar29 = 0;" (assignment_expression "sVar29 = 0" (identifier "sVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar28 = (uint)param_2 & 3;" (assignment_expression "uVar28 = (uint)param_2 & 3" (identifier "uVar28") (= "=") (binary_expression "(uint)param_2 & 3" (cast_expression "(uint)param_2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_2")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if ((param_2 & 3) != 0) {\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }" (if "if") (parenthesized_expression "((param_2 & 3) != 0)" (( "(") (binary_expression "(param_2 & 3) != 0" (parenthesized_expression "(param_2 & 3)" (( "(") (binary_expression "param_2 & 3" (identifier "param_2") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar4 = puVar1[1];\n      uVar5 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar4;\n      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;\n      sVar29 = sVar29 + 1;\n      *(undefined8 *)((long)__base + lVar27) = uVar5;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      lVar27 = lVar27 + 0x40;\n      if (param_2 == sVar29) goto LAB_001756da;\n    }" ({ "{") (if_statement "if (uVar28 != 1) {\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }" (if "if") (parenthesized_expression "(uVar28 != 1)" (( "(") (binary_expression "uVar28 != 1" (identifier "uVar28") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        bVar30 = uVar28 != 2;\n        if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }\n        uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n        uVar6 = puVar1[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n        uVar7 = *puVar2;\n        uVar8 = puVar2[1];\n        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n        uVar9 = *puVar2;\n        uVar10 = puVar2[1];\n        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n        *puVar2 = *puVar1;\n        puVar2[1] = uVar6;\n        *(undefined8 *)((long)__base + lVar27) = uVar4;\n        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;\n        sVar29 = (ulong)bVar30 + 1;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n        *puVar1 = uVar7;\n        puVar1[1] = uVar8;\n        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n        *puVar1 = uVar9;\n        puVar1[1] = uVar10;\n        lVar27 = lVar27 + 0x40;\n      }" ({ "{") (expression_statement "bVar30 = uVar28 != 2;" (assignment_expression "bVar30 = uVar28 != 2" (identifier "bVar30") (= "=") (binary_expression "uVar28 != 2" (identifier "uVar28") (!= "!=") (number_literal "2"))) (; ";")) (if_statement "if (bVar30) {\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }" (if "if") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (compound_statement "{\n          uVar4 = param_1[3];\n          uVar5 = *param_1;\n          uVar6 = param_1[1];\n          lVar27 = 0x40;\n          uVar7 = param_1[4];\n          uVar8 = param_1[5];\n          uVar9 = param_1[6];\n          uVar10 = param_1[7];\n          __base[2] = param_1[2];\n          __base[3] = uVar4;\n          *(undefined4 *)(__base + 3) = 0;\n          *__base = uVar5;\n          __base[1] = uVar6;\n          __base[4] = uVar7;\n          __base[5] = uVar8;\n          __base[6] = uVar9;\n          __base[7] = uVar10;\n        }" ({ "{") (expression_statement "uVar4 = param_1[3];" (assignment_expression "uVar4 = param_1[3]" (identifier "uVar4") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" (identifier "uVar5") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar6 = param_1[1];" (assignment_expression "uVar6 = param_1[1]" (identifier "uVar6") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "lVar27 = 0x40;" (assignment_expression "lVar27 = 0x40" (identifier "lVar27") (= "=") (number_literal "0x40")) (; ";")) (expression_statement "uVar7 = param_1[4];" (assignment_expression "uVar7 = param_1[4]" (identifier "uVar7") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar8 = param_1[5];" (assignment_expression "uVar8 = param_1[5]" (identifier "uVar8") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar9 = param_1[6];" (assignment_expression "uVar9 = param_1[6]" (identifier "uVar9") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar10 = param_1[7];" (assignment_expression "uVar10 = param_1[7]" (identifier "uVar10") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "__base[2] = param_1[2];" (assignment_expression "__base[2] = param_1[2]" (subscript_expression "__base[2]" (identifier "__base") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "__base[3] = uVar4;" (assignment_expression "__base[3] = uVar4" (subscript_expression "__base[3]" (identifier "__base") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(__base + 3) = 0;" (assignment_expression "*(undefined4 *)(__base + 3) = 0" (pointer_expression "*(undefined4 *)(__base + 3)" (* "*") (cast_expression "(undefined4 *)(__base + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__base + 3)" (( "(") (binary_expression "__base + 3" (identifier "__base") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*__base = uVar5;" (assignment_expression "*__base = uVar5" (pointer_expression "*__base" (* "*") (identifier "__base")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "__base[1] = uVar6;" (assignment_expression "__base[1] = uVar6" (subscript_expression "__base[1]" (identifier "__base") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "__base[4] = uVar7;" (assignment_expression "__base[4] = uVar7" (subscript_expression "__base[4]" (identifier "__base") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__base[5] = uVar8;" (assignment_expression "__base[5] = uVar8" (subscript_expression "__base[5]" (identifier "__base") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "__base[6] = uVar9;" (assignment_expression "__base[6] = uVar9" (subscript_expression "__base[6]" (identifier "__base") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "__base[7] = uVar10;" (assignment_expression "__base[7] = uVar10" (subscript_expression "__base[7]" (identifier "__base") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (} "}"))) (expression_statement "uVar4 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar4 = *(undefined8 *)((long)param_1 + lVar27)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27)" (( "(") (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) () ")"))))) (; ";")) (expression_statement "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1]" (identifier "uVar5") (= "=") (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" (( "(") (cast_expression "(undefined8 *)((long)param_1 + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27)" (( "(") (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar6 = puVar1[1];" (assignment_expression "uVar6 = puVar1[1]" (identifier "uVar6") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" (identifier "uVar7") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" (identifier "uVar8") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" (identifier "uVar9") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x10)" (( "(") (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "puVar2[1] = uVar6;" (assignment_expression "puVar2[1] = uVar6" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar4;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar4" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" (* "*") (cast_expression "(undefined8 *)((long)__base + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27)" (( "(") (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar5;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar5" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" (( "(") (cast_expression "(undefined8 *)((long)__base + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27)" (( "(") (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;" (assignment_expression "*(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30" (pointer_expression "*(uint *)((long)__base + lVar27 + 0x18)" (* "*") (cast_expression "(uint *)((long)__base + lVar27 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x18)" (( "(") (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (cast_expression "(uint)bVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar30"))) (; ";")) (expression_statement "sVar29 = (ulong)bVar30 + 1;" (assignment_expression "sVar29 = (ulong)bVar30 + 1" (identifier "sVar29") (= "=") (binary_expression "(ulong)bVar30 + 1" (cast_expression "(ulong)bVar30" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar30")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x20)" (( "(") (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x30)" (( "(") (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "lVar27 = lVar27 + 0x40;" (assignment_expression "lVar27 = lVar27 + 0x40" (identifier "lVar27") (= "=") (binary_expression "lVar27 + 0x40" (identifier "lVar27") (+ "+") (number_literal "0x40"))) (; ";")) (} "}"))) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar4 = puVar1[1];" (assignment_expression "uVar4 = puVar1[1]" (identifier "uVar4") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar5 = *(undefined8 *)((long)param_1 + lVar27)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27)" (( "(") (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) () ")"))))) (; ";")) (expression_statement "uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1]" (identifier "uVar6") (= "=") (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" (( "(") (cast_expression "(undefined8 *)((long)param_1 + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27)" (( "(") (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" (identifier "uVar7") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" (identifier "uVar8") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" (identifier "uVar9") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x10)" (( "(") (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "puVar2[1] = uVar4;" (assignment_expression "puVar2[1] = uVar4" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x18) = (int)sVar29" (pointer_expression "*(int *)((long)__base + lVar27 + 0x18)" (* "*") (cast_expression "(int *)((long)__base + lVar27 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x18)" (( "(") (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (cast_expression "(int)sVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar29"))) (; ";")) (expression_statement "sVar29 = sVar29 + 1;" (assignment_expression "sVar29 = sVar29 + 1" (identifier "sVar29") (= "=") (binary_expression "sVar29 + 1" (identifier "sVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar5;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar5" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" (* "*") (cast_expression "(undefined8 *)((long)__base + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27)" (( "(") (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar6;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar6" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" (( "(") (cast_expression "(undefined8 *)((long)__base + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27)" (( "(") (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x20)" (( "(") (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x30)" (( "(") (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "lVar27 = lVar27 + 0x40;" (assignment_expression "lVar27 = lVar27 + 0x40" (identifier "lVar27") (= "=") (binary_expression "lVar27 + 0x40" (identifier "lVar27") (+ "+") (number_literal "0x40"))) (; ";")) (if_statement "if (param_2 == sVar29) goto LAB_001756da;" (if "if") (parenthesized_expression "(param_2 == sVar29)" (( "(") (binary_expression "param_2 == sVar29" (identifier "param_2") (== "==") (identifier "sVar29")) () ")")) (goto_statement "goto LAB_001756da;" (goto "goto") (statement_identifier "LAB_001756da") (; ";"))) (} "}"))) (do_statement "do {\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    } while (param_2 != sVar29);" (do "do") (compound_statement "{\n      uVar4 = *(undefined8 *)((long)param_1 + lVar27);\n      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);\n      uVar6 = puVar1[1];\n      iVar3 = (int)sVar29;\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);\n      uVar7 = *puVar2;\n      uVar8 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);\n      uVar9 = *puVar2;\n      uVar10 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);\n      uVar11 = *puVar2;\n      uVar12 = puVar2[1];\n      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);\n      uVar13 = *puVar2;\n      uVar14 = puVar2[1];\n      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);\n      *puVar2 = *puVar1;\n      puVar2[1] = uVar6;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);\n      uVar6 = *puVar1;\n      uVar15 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);\n      uVar16 = *puVar1;\n      uVar17 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0x18) = iVar3;\n      sVar29 = sVar29 + 4;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);\n      uVar18 = *puVar1;\n      uVar19 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);\n      uVar20 = *puVar1;\n      uVar21 = puVar1[1];\n      *(undefined8 *)((long)__base + lVar27) = uVar4;\n      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);\n      uVar22 = *puVar1;\n      uVar23 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);\n      uVar9 = *puVar1;\n      uVar10 = puVar1[1];\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);\n      uVar24 = *puVar1;\n      uVar25 = puVar1[1];\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);\n      *puVar1 = uVar11;\n      puVar1[1] = uVar12;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);\n      *puVar1 = uVar13;\n      puVar1[1] = uVar14;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);\n      *puVar1 = uVar7;\n      puVar1[1] = uVar8;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);\n      *puVar1 = uVar6;\n      puVar1[1] = uVar15;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);\n      *puVar1 = uVar16;\n      puVar1[1] = uVar17;\n      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);\n      *puVar1 = uVar18;\n      puVar1[1] = uVar19;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);\n      *puVar1 = uVar20;\n      puVar1[1] = uVar21;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);\n      *puVar1 = uVar22;\n      puVar1[1] = uVar23;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);\n      *puVar1 = uVar9;\n      puVar1[1] = uVar10;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);\n      *puVar1 = uVar24;\n      puVar1[1] = uVar25;\n      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);\n      uVar4 = *puVar1;\n      uVar5 = puVar1[1];\n      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;\n      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);\n      *puVar1 = uVar4;\n      puVar1[1] = uVar5;\n      lVar27 = lVar27 + 0x100;\n    }" ({ "{") (expression_statement "uVar4 = *(undefined8 *)((long)param_1 + lVar27);" (assignment_expression "uVar4 = *(undefined8 *)((long)param_1 + lVar27)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)((long)param_1 + lVar27)" (* "*") (cast_expression "(undefined8 *)((long)param_1 + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27)" (( "(") (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) () ")"))))) (; ";")) (expression_statement "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];" (assignment_expression "uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1]" (identifier "uVar5") (= "=") (subscript_expression "((undefined8 *)((long)param_1 + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)param_1 + lVar27))" (( "(") (cast_expression "(undefined8 *)((long)param_1 + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27)" (( "(") (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x10)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x10" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar6 = puVar1[1];" (assignment_expression "uVar6 = puVar1[1]" (identifier "uVar6") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar3 = (int)sVar29;" (assignment_expression "iVar3 = (int)sVar29" (identifier "iVar3") (= "=") (cast_expression "(int)sVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar29"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x40)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x40" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x40")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar2;" (assignment_expression "uVar7 = *puVar2" (identifier "uVar7") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar8 = puVar2[1];" (assignment_expression "uVar8 = puVar2[1]" (identifier "uVar8") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x50)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x50)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x50" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "uVar9 = *puVar2;" (assignment_expression "uVar9 = *puVar2" (identifier "uVar9") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar10 = puVar2[1];" (assignment_expression "uVar10 = puVar2[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x20)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x20" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar11 = *puVar2;" (assignment_expression "uVar11 = *puVar2" (identifier "uVar11") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar12 = puVar2[1];" (assignment_expression "uVar12 = puVar2[1]" (identifier "uVar12") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);" (assignment_expression "puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x30)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x30" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "uVar13 = *puVar2;" (assignment_expression "uVar13 = *puVar2" (identifier "uVar13") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar14 = puVar2[1];" (assignment_expression "uVar14 = puVar2[1]" (identifier "uVar14") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);" (assignment_expression "puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x10)" (( "(") (binary_expression "(long)__base + lVar27 + 0x10" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "*puVar2 = *puVar1;" (assignment_expression "*puVar2 = *puVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "puVar2[1] = uVar6;" (assignment_expression "puVar2[1] = uVar6" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x60)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x60)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x60" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x60")) () ")")))) (; ";")) (expression_statement "uVar6 = *puVar1;" (assignment_expression "uVar6 = *puVar1" (identifier "uVar6") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar15 = puVar1[1];" (assignment_expression "uVar15 = puVar1[1]" (identifier "uVar15") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x70)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x70)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x70" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x70")) () ")")))) (; ";")) (expression_statement "uVar16 = *puVar1;" (assignment_expression "uVar16 = *puVar1" (identifier "uVar16") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar17 = puVar1[1];" (assignment_expression "uVar17 = puVar1[1]" (identifier "uVar17") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int *)((long)__base + lVar27 + 0x18) = iVar3;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x18) = iVar3" (pointer_expression "*(int *)((long)__base + lVar27 + 0x18)" (* "*") (cast_expression "(int *)((long)__base + lVar27 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x18)" (( "(") (binary_expression "(long)__base + lVar27 + 0x18" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "sVar29 = sVar29 + 4;" (assignment_expression "sVar29 = sVar29 + 4" (identifier "sVar29") (= "=") (binary_expression "sVar29 + 4" (identifier "sVar29") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x80)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x80)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x80" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "uVar18 = *puVar1;" (assignment_expression "uVar18 = *puVar1" (identifier "uVar18") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar19 = puVar1[1];" (assignment_expression "uVar19 = puVar1[1]" (identifier "uVar19") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x50)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x50)" (( "(") (binary_expression "(long)__base + lVar27 + 0x50" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0x90)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0x90)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0x90" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" (identifier "uVar9") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xa0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0xa0)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0xa0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xa0")) () ")")))) (; ";")) (expression_statement "uVar20 = *puVar1;" (assignment_expression "uVar20 = *puVar1" (identifier "uVar20") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar21 = puVar1[1];" (assignment_expression "uVar21 = puVar1[1]" (identifier "uVar21") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined8 *)((long)__base + lVar27) = uVar4;" (assignment_expression "*(undefined8 *)((long)__base + lVar27) = uVar4" (pointer_expression "*(undefined8 *)((long)__base + lVar27)" (* "*") (cast_expression "(undefined8 *)((long)__base + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27)" (( "(") (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "((undefined8 *)((long)__base + lVar27))[1] = uVar5;" (assignment_expression "((undefined8 *)((long)__base + lVar27))[1] = uVar5" (subscript_expression "((undefined8 *)((long)__base + lVar27))[1]" (parenthesized_expression "((undefined8 *)((long)__base + lVar27))" (( "(") (cast_expression "(undefined8 *)((long)__base + lVar27)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27)" (( "(") (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xb0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0xb0)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0xb0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xb0")) () ")")))) (; ";")) (expression_statement "uVar4 = *puVar1;" (assignment_expression "uVar4 = *puVar1" (identifier "uVar4") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar5 = puVar1[1];" (assignment_expression "uVar5 = puVar1[1]" (identifier "uVar5") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xc0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0xc0)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0xc0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xc0")) () ")")))) (; ";")) (expression_statement "uVar22 = *puVar1;" (assignment_expression "uVar22 = *puVar1" (identifier "uVar22") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar23 = puVar1[1];" (assignment_expression "uVar23 = puVar1[1]" (identifier "uVar23") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x90)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x90)" (( "(") (binary_expression "(long)__base + lVar27 + 0x90" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xd0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0xd0)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0xd0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xd0")) () ")")))) (; ";")) (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" (identifier "uVar9") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar10 = puVar1[1];" (assignment_expression "uVar10 = puVar1[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xe0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0xe0)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0xe0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xe0")) () ")")))) (; ";")) (expression_statement "uVar24 = *puVar1;" (assignment_expression "uVar24 = *puVar1" (identifier "uVar24") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar25 = puVar1[1];" (assignment_expression "uVar25 = puVar1[1]" (identifier "uVar25") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x20)" (( "(") (binary_expression "(long)__base + lVar27 + 0x20" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar11;" (assignment_expression "*puVar1 = uVar11" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "puVar1[1] = uVar12;" (assignment_expression "puVar1[1] = uVar12" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x30)" (( "(") (binary_expression "(long)__base + lVar27 + 0x30" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar13;" (assignment_expression "*puVar1 = uVar13" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "puVar1[1] = uVar14;" (assignment_expression "puVar1[1] = uVar14" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x40)" (( "(") (binary_expression "(long)__base + lVar27 + 0x40" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x40")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar7;" (assignment_expression "*puVar1 = uVar7" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar1[1] = uVar8;" (assignment_expression "puVar1[1] = uVar8" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x60)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x60)" (( "(") (binary_expression "(long)__base + lVar27 + 0x60" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x60")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar6;" (assignment_expression "*puVar1 = uVar6" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar1[1] = uVar15;" (assignment_expression "puVar1[1] = uVar15" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x70)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x70)" (( "(") (binary_expression "(long)__base + lVar27 + 0x70" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x70")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar16;" (assignment_expression "*puVar1 = uVar16" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "puVar1[1] = uVar17;" (assignment_expression "puVar1[1] = uVar17" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1" (pointer_expression "*(int *)((long)__base + lVar27 + 0x58)" (* "*") (cast_expression "(int *)((long)__base + lVar27 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x58)" (( "(") (binary_expression "(long)__base + lVar27 + 0x58" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x58")) () ")")))) (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0x80)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x80)" (( "(") (binary_expression "(long)__base + lVar27 + 0x80" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar18;" (assignment_expression "*puVar1 = uVar18" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar1[1] = uVar19;" (assignment_expression "puVar1[1] = uVar19" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xa0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xa0)" (( "(") (binary_expression "(long)__base + lVar27 + 0xa0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xa0")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar20;" (assignment_expression "*puVar1 = uVar20" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar20")) (; ";")) (expression_statement "puVar1[1] = uVar21;" (assignment_expression "puVar1[1] = uVar21" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar21")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xb0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xb0)" (( "(") (binary_expression "(long)__base + lVar27 + 0xb0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xb0")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar4;" (assignment_expression "*puVar1 = uVar4" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar1[1] = uVar5;" (assignment_expression "puVar1[1] = uVar5" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;" (assignment_expression "*(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2" (pointer_expression "*(int *)((long)__base + lVar27 + 0x98)" (* "*") (cast_expression "(int *)((long)__base + lVar27 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0x98)" (( "(") (binary_expression "(long)__base + lVar27 + 0x98" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0x98")) () ")")))) (= "=") (binary_expression "iVar3 + 2" (identifier "iVar3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xc0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xc0)" (( "(") (binary_expression "(long)__base + lVar27 + 0xc0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xc0")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar22;" (assignment_expression "*puVar1 = uVar22" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "puVar1[1] = uVar23;" (assignment_expression "puVar1[1] = uVar23" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xd0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xd0)" (( "(") (binary_expression "(long)__base + lVar27 + 0xd0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xd0")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar9;" (assignment_expression "*puVar1 = uVar9" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xe0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xe0)" (( "(") (binary_expression "(long)__base + lVar27 + 0xe0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xe0")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar24;" (assignment_expression "*puVar1 = uVar24" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "puVar1[1] = uVar25;" (assignment_expression "puVar1[1] = uVar25" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);" (assignment_expression "puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)param_1 + lVar27 + 0xf0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + lVar27 + 0xf0)" (( "(") (binary_expression "(long)param_1 + lVar27 + 0xf0" (binary_expression "(long)param_1 + lVar27" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xf0")) () ")")))) (; ";")) (expression_statement "uVar4 = *puVar1;" (assignment_expression "uVar4 = *puVar1" (identifier "uVar4") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar5 = puVar1[1];" (assignment_expression "uVar5 = puVar1[1]" (identifier "uVar5") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;" (assignment_expression "*(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3" (pointer_expression "*(int *)((long)__base + lVar27 + 0xd8)" (* "*") (cast_expression "(int *)((long)__base + lVar27 + 0xd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xd8)" (( "(") (binary_expression "(long)__base + lVar27 + 0xd8" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xd8")) () ")")))) (= "=") (binary_expression "iVar3 + 3" (identifier "iVar3") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);" (assignment_expression "puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)((long)__base + lVar27 + 0xf0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__base + lVar27 + 0xf0)" (( "(") (binary_expression "(long)__base + lVar27 + 0xf0" (binary_expression "(long)__base + lVar27" (cast_expression "(long)__base" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__base")) (+ "+") (identifier "lVar27")) (+ "+") (number_literal "0xf0")) () ")")))) (; ";")) (expression_statement "*puVar1 = uVar4;" (assignment_expression "*puVar1 = uVar4" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar1[1] = uVar5;" (assignment_expression "puVar1[1] = uVar5" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "lVar27 = lVar27 + 0x100;" (assignment_expression "lVar27 = lVar27 + 0x100" (identifier "lVar27") (= "=") (binary_expression "lVar27 + 0x100" (identifier "lVar27") (+ "+") (number_literal "0x100"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 != sVar29)" (( "(") (binary_expression "param_2 != sVar29" (identifier "param_2") (!= "!=") (identifier "sVar29")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_001756da:\n  qsort(__base,param_2,0x40,FUN_00175460);" (statement_identifier "LAB_001756da") (: ":") (expression_statement "qsort(__base,param_2,0x40,FUN_00175460);" (call_expression "qsort(__base,param_2,0x40,FUN_00175460)" (identifier "qsort") (argument_list "(__base,param_2,0x40,FUN_00175460)" (( "(") (identifier "__base") (, ",") (identifier "param_2") (, ",") (number_literal "0x40") (, ",") (identifier "FUN_00175460") () ")"))) (; ";"))) (expression_statement "uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);" (assignment_expression "uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe)" (identifier "uVar26") (= "=") (call_expression "der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe)" (identifier "der_encode_sequence_ex") (argument_list "(__base,param_2,param_3,param_4,0xe)" (( "(") (identifier "__base") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (number_literal "0xe") () ")")))) (; ";")) (expression_statement "free(__base);" (call_expression "free(__base)" (identifier "free") (argument_list "(__base)" (( "(") (identifier "__base") () ")"))) (; ";")) (return_statement "return uVar26;" (return "return") (identifier "uVar26") (; ";")) (} "}")))

int function_1(type_1 *list,type_2 var_3,type_3 *out,type_2 *outlen)

{
  type_4 *puVar1;
  type_4 *puVar2;
  void *pvVar3;
  type_5 *plVar4;
  type_5 *plVar5;
  type_5 *plVar6;
  type_5 *plVar7;
  type_4 uVar8;
  type_4 uVar9;
  type_4 uVar10;
  type_4 uVar11;
  type_4 uVar12;
  type_4 uVar13;
  type_4 uVar14;
  type_4 uVar15;
  type_4 uVar16;
  type_4 uVar17;
  type_4 uVar18;
  type_4 uVar19;
  type_4 uVar20;
  type_4 uVar21;
  type_4 uVar22;
  type_4 uVar23;
  type_4 uVar24;
  type_4 uVar25;
  type_4 uVar26;
  type_4 uVar27;
  type_4 uVar28;
  type_4 uVar29;
  type_6 uVar30;
  type_7 lVar31;
  type_6 uVar32;
  int var_7;
  type_1 *var_2;
  long var_5;
  type_8 var_4;
  type_2 var_6;
  bool bVar37;
  
  var_2 = (type_1 *)var_1(var_3,0x40);
  if (var_2 == (type_1 *)0x0) {
    return 0xd;
  }
  if (var_3 != 0) {
    var_5 = 0;
    var_6 = 0;
    var_4 = (type_8)var_3 & 3;
    if ((var_3 & 3) != 0) {
      if (var_4 != 1) {
        bVar37 = var_4 != 2;
        if (bVar37) {
          var_7 = list->used;
          uVar30 = *(type_6 *)&list->field_0x1c;
          lVar31 = list->type;
          uVar32 = *(type_6 *)&list->field_0x4;
          pvVar3 = list->data;
          var_5 = 0x40;
          plVar4 = list->prev;
          plVar5 = list->next;
          plVar6 = list->child;
          plVar7 = list->parent;
          var_2->size = list->size;
          var_2->used = var_7;
          *(type_6 *)&var_2->field_0x1c = uVar30;
          var_2->used = 0;
          var_2->type = lVar31;
          *(type_6 *)&var_2->field_0x4 = uVar32;
          var_2->data = pvVar3;
          var_2->prev = plVar4;
          var_2->next = plVar5;
          var_2->child = plVar6;
          var_2->parent = plVar7;
        }
        puVar2 = (type_4 *)((long)&list->type + var_5);
        uVar8 = *puVar2;
        uVar9 = puVar2[1];
        puVar2 = (type_4 *)((long)&list->size + var_5);
        uVar10 = puVar2[1];
        puVar1 = (type_4 *)((long)&list->prev + var_5);
        uVar11 = *puVar1;
        uVar12 = puVar1[1];
        puVar1 = (type_4 *)((long)&list->child + var_5);
        uVar13 = *puVar1;
        uVar14 = puVar1[1];
        puVar1 = (type_4 *)((long)&var_2->size + var_5);
        *puVar1 = *puVar2;
        puVar1[1] = uVar10;
        puVar2 = (type_4 *)((long)&var_2->type + var_5);
        *puVar2 = uVar8;
        puVar2[1] = uVar9;
        *(type_8 *)((long)&var_2->used + var_5) = (type_8)bVar37;
        var_6 = (type_2)bVar37 + 1;
        puVar2 = (type_4 *)((long)&var_2->prev + var_5);
        *puVar2 = uVar11;
        puVar2[1] = uVar12;
        puVar2 = (type_4 *)((long)&var_2->child + var_5);
        *puVar2 = uVar13;
        puVar2[1] = uVar14;
        var_5 = var_5 + 0x40;
      }
      puVar2 = (type_4 *)((long)&list->size + var_5);
      uVar8 = puVar2[1];
      puVar1 = (type_4 *)((long)&list->type + var_5);
      uVar9 = *puVar1;
      uVar10 = puVar1[1];
      puVar1 = (type_4 *)((long)&list->prev + var_5);
      uVar11 = *puVar1;
      uVar12 = puVar1[1];
      puVar1 = (type_4 *)((long)&list->child + var_5);
      uVar13 = *puVar1;
      uVar14 = puVar1[1];
      puVar1 = (type_4 *)((long)&var_2->size + var_5);
      *puVar1 = *puVar2;
      puVar1[1] = uVar8;
      *(int *)((long)&var_2->used + var_5) = (int)var_6;
      var_6 = var_6 + 1;
      puVar2 = (type_4 *)((long)&var_2->type + var_5);
      *puVar2 = uVar9;
      puVar2[1] = uVar10;
      puVar2 = (type_4 *)((long)&var_2->prev + var_5);
      *puVar2 = uVar11;
      puVar2[1] = uVar12;
      puVar2 = (type_4 *)((long)&var_2->child + var_5);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      var_5 = var_5 + 0x40;
      if (var_3 == var_6) goto LAB_001756da;
    }
    do {
      puVar2 = (type_4 *)((long)&list->type + var_5);
      uVar8 = *puVar2;
      uVar9 = puVar2[1];
      puVar2 = (type_4 *)((long)&list->size + var_5);
      uVar10 = puVar2[1];
      var_7 = (int)var_6;
      puVar1 = (type_4 *)((long)&list[1].type + var_5);
      uVar11 = *puVar1;
      uVar12 = puVar1[1];
      puVar1 = (type_4 *)((long)&list[1].size + var_5);
      uVar13 = *puVar1;
      uVar14 = puVar1[1];
      puVar1 = (type_4 *)((long)&list->prev + var_5);
      uVar15 = *puVar1;
      uVar16 = puVar1[1];
      puVar1 = (type_4 *)((long)&list->child + var_5);
      uVar17 = *puVar1;
      uVar18 = puVar1[1];
      puVar1 = (type_4 *)((long)&var_2->size + var_5);
      *puVar1 = *puVar2;
      puVar1[1] = uVar10;
      puVar2 = (type_4 *)((long)&list[1].prev + var_5);
      uVar10 = *puVar2;
      uVar19 = puVar2[1];
      puVar2 = (type_4 *)((long)&list[1].child + var_5);
      uVar20 = *puVar2;
      uVar21 = puVar2[1];
      *(int *)((long)&var_2->used + var_5) = var_7;
      var_6 = var_6 + 4;
      puVar2 = (type_4 *)((long)&list[2].type + var_5);
      uVar22 = *puVar2;
      uVar23 = puVar2[1];
      puVar2 = (type_4 *)((long)&var_2[1].size + var_5);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      puVar2 = (type_4 *)((long)&list[2].size + var_5);
      uVar13 = *puVar2;
      uVar14 = puVar2[1];
      puVar2 = (type_4 *)((long)&list[2].prev + var_5);
      uVar24 = *puVar2;
      uVar25 = puVar2[1];
      puVar2 = (type_4 *)((long)&var_2->type + var_5);
      *puVar2 = uVar8;
      puVar2[1] = uVar9;
      puVar2 = (type_4 *)((long)&list[2].child + var_5);
      uVar8 = *puVar2;
      uVar9 = puVar2[1];
      puVar2 = (type_4 *)((long)&list[3].type + var_5);
      uVar26 = *puVar2;
      uVar27 = puVar2[1];
      puVar2 = (type_4 *)((long)&var_2[2].size + var_5);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      puVar2 = (type_4 *)((long)&list[3].size + var_5);
      uVar13 = *puVar2;
      uVar14 = puVar2[1];
      puVar2 = (type_4 *)((long)&list[3].prev + var_5);
      uVar28 = *puVar2;
      uVar29 = puVar2[1];
      puVar2 = (type_4 *)((long)&var_2->prev + var_5);
      *puVar2 = uVar15;
      puVar2[1] = uVar16;
      puVar2 = (type_4 *)((long)&var_2->child + var_5);
      *puVar2 = uVar17;
      puVar2[1] = uVar18;
      puVar2 = (type_4 *)((long)&var_2[1].type + var_5);
      *puVar2 = uVar11;
      puVar2[1] = uVar12;
      puVar2 = (type_4 *)((long)&var_2[1].prev + var_5);
      *puVar2 = uVar10;
      puVar2[1] = uVar19;
      puVar2 = (type_4 *)((long)&var_2[1].child + var_5);
      *puVar2 = uVar20;
      puVar2[1] = uVar21;
      *(int *)((long)&var_2[1].used + var_5) = var_7 + 1;
      puVar2 = (type_4 *)((long)&var_2[2].type + var_5);
      *puVar2 = uVar22;
      puVar2[1] = uVar23;
      puVar2 = (type_4 *)((long)&var_2[2].prev + var_5);
      *puVar2 = uVar24;
      puVar2[1] = uVar25;
      puVar2 = (type_4 *)((long)&var_2[2].child + var_5);
      *puVar2 = uVar8;
      puVar2[1] = uVar9;
      *(int *)((long)&var_2[2].used + var_5) = var_7 + 2;
      puVar2 = (type_4 *)((long)&var_2[3].type + var_5);
      *puVar2 = uVar26;
      puVar2[1] = uVar27;
      puVar2 = (type_4 *)((long)&var_2[3].size + var_5);
      *puVar2 = uVar13;
      puVar2[1] = uVar14;
      puVar2 = (type_4 *)((long)&var_2[3].prev + var_5);
      *puVar2 = uVar28;
      puVar2[1] = uVar29;
      puVar2 = (type_4 *)((long)&list[3].child + var_5);
      uVar8 = *puVar2;
      uVar9 = puVar2[1];
      *(int *)((long)&var_2[3].used + var_5) = var_7 + 3;
      puVar2 = (type_4 *)((long)&var_2[3].child + var_5);
      *puVar2 = uVar8;
      puVar2[1] = uVar9;
      var_5 = var_5 + 0x100;
    } while (var_3 != var_6);
  }
LAB_001756da:
  var_8(var_2,var_3,0x40,_qsort_helper);
  var_7 = var_9(var_2,var_3,out,outlen,0xe);
  var_10(var_2);
  return var_7;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (identifier)))))

undefined4 MASKED(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  undefined8 *puVar2;
  int iVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  undefined8 uVar11;
  undefined8 uVar12;
  undefined8 uVar13;
  undefined8 uVar14;
  undefined8 uVar15;
  undefined8 uVar16;
  undefined8 uVar17;
  undefined8 uVar18;
  undefined8 uVar19;
  undefined8 uVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  undefined8 uVar24;
  undefined8 uVar25;
  undefined4 uVar26;
  undefined8 *__base;
  long lVar27;
  uint uVar28;
  size_t sVar29;
  bool bVar30;
  
  __base = (undefined8 *)calloc(param_2,0x40);
  if (__base == (undefined8 *)0x0) {
    return 0xd;
  }
  if (param_2 != 0) {
    lVar27 = 0;
    sVar29 = 0;
    uVar28 = (uint)param_2 & 3;
    if ((param_2 & 3) != 0) {
      if (uVar28 != 1) {
        bVar30 = uVar28 != 2;
        if (bVar30) {
          uVar4 = param_1[3];
          uVar5 = *param_1;
          uVar6 = param_1[1];
          lVar27 = 0x40;
          uVar7 = param_1[4];
          uVar8 = param_1[5];
          uVar9 = param_1[6];
          uVar10 = param_1[7];
          __base[2] = param_1[2];
          __base[3] = uVar4;
          *(undefined4 *)(__base + 3) = 0;
          *__base = uVar5;
          __base[1] = uVar6;
          __base[4] = uVar7;
          __base[5] = uVar8;
          __base[6] = uVar9;
          __base[7] = uVar10;
        }
        uVar4 = *(undefined8 *)((long)param_1 + lVar27);
        uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];
        puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);
        uVar6 = puVar1[1];
        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);
        uVar7 = *puVar2;
        uVar8 = puVar2[1];
        puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);
        uVar9 = *puVar2;
        uVar10 = puVar2[1];
        puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);
        *puVar2 = *puVar1;
        puVar2[1] = uVar6;
        *(undefined8 *)((long)__base + lVar27) = uVar4;
        ((undefined8 *)((long)__base + lVar27))[1] = uVar5;
        *(uint *)((long)__base + lVar27 + 0x18) = (uint)bVar30;
        sVar29 = (ulong)bVar30 + 1;
        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);
        *puVar1 = uVar7;
        puVar1[1] = uVar8;
        puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);
        *puVar1 = uVar9;
        puVar1[1] = uVar10;
        lVar27 = lVar27 + 0x40;
      }
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);
      uVar4 = puVar1[1];
      uVar5 = *(undefined8 *)((long)param_1 + lVar27);
      uVar6 = ((undefined8 *)((long)param_1 + lVar27))[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);
      uVar7 = *puVar2;
      uVar8 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);
      uVar9 = *puVar2;
      uVar10 = puVar2[1];
      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);
      *puVar2 = *puVar1;
      puVar2[1] = uVar4;
      *(int *)((long)__base + lVar27 + 0x18) = (int)sVar29;
      sVar29 = sVar29 + 1;
      *(undefined8 *)((long)__base + lVar27) = uVar5;
      ((undefined8 *)((long)__base + lVar27))[1] = uVar6;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);
      *puVar1 = uVar7;
      puVar1[1] = uVar8;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      lVar27 = lVar27 + 0x40;
      if (param_2 == sVar29) goto LAB_001756da;
    }
    do {
      uVar4 = *(undefined8 *)((long)param_1 + lVar27);
      uVar5 = ((undefined8 *)((long)param_1 + lVar27))[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x10);
      uVar6 = puVar1[1];
      iVar3 = (int)sVar29;
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x40);
      uVar7 = *puVar2;
      uVar8 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x50);
      uVar9 = *puVar2;
      uVar10 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x20);
      uVar11 = *puVar2;
      uVar12 = puVar2[1];
      puVar2 = (undefined8 *)((long)param_1 + lVar27 + 0x30);
      uVar13 = *puVar2;
      uVar14 = puVar2[1];
      puVar2 = (undefined8 *)((long)__base + lVar27 + 0x10);
      *puVar2 = *puVar1;
      puVar2[1] = uVar6;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x60);
      uVar6 = *puVar1;
      uVar15 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x70);
      uVar16 = *puVar1;
      uVar17 = puVar1[1];
      *(int *)((long)__base + lVar27 + 0x18) = iVar3;
      sVar29 = sVar29 + 4;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x80);
      uVar18 = *puVar1;
      uVar19 = puVar1[1];
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x50);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0x90);
      uVar9 = *puVar1;
      uVar10 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xa0);
      uVar20 = *puVar1;
      uVar21 = puVar1[1];
      *(undefined8 *)((long)__base + lVar27) = uVar4;
      ((undefined8 *)((long)__base + lVar27))[1] = uVar5;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xb0);
      uVar4 = *puVar1;
      uVar5 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xc0);
      uVar22 = *puVar1;
      uVar23 = puVar1[1];
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x90);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xd0);
      uVar9 = *puVar1;
      uVar10 = puVar1[1];
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xe0);
      uVar24 = *puVar1;
      uVar25 = puVar1[1];
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x20);
      *puVar1 = uVar11;
      puVar1[1] = uVar12;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x30);
      *puVar1 = uVar13;
      puVar1[1] = uVar14;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x40);
      *puVar1 = uVar7;
      puVar1[1] = uVar8;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x60);
      *puVar1 = uVar6;
      puVar1[1] = uVar15;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x70);
      *puVar1 = uVar16;
      puVar1[1] = uVar17;
      *(int *)((long)__base + lVar27 + 0x58) = iVar3 + 1;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0x80);
      *puVar1 = uVar18;
      puVar1[1] = uVar19;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xa0);
      *puVar1 = uVar20;
      puVar1[1] = uVar21;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xb0);
      *puVar1 = uVar4;
      puVar1[1] = uVar5;
      *(int *)((long)__base + lVar27 + 0x98) = iVar3 + 2;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xc0);
      *puVar1 = uVar22;
      puVar1[1] = uVar23;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xd0);
      *puVar1 = uVar9;
      puVar1[1] = uVar10;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xe0);
      *puVar1 = uVar24;
      puVar1[1] = uVar25;
      puVar1 = (undefined8 *)((long)param_1 + lVar27 + 0xf0);
      uVar4 = *puVar1;
      uVar5 = puVar1[1];
      *(int *)((long)__base + lVar27 + 0xd8) = iVar3 + 3;
      puVar1 = (undefined8 *)((long)__base + lVar27 + 0xf0);
      *puVar1 = uVar4;
      puVar1[1] = uVar5;
      lVar27 = lVar27 + 0x100;
    } while (param_2 != sVar29);
  }
LAB_001756da:
  qsort(__base,param_2,0x40,FUN_00175460);
  uVar26 = der_encode_sequence_ex(__base,param_2,param_3,param_4,0xe);
  free(__base);
  return uVar26;
}

