
agent_pending_query *
agent_query(void *in,int inlen,void **out,int *outlen,_func_void_void_ptr_void_ptr_int *callback,
           void *callback_ctx)

{
  int *piVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  agent_pending_query *paVar5;
  undefined4 *puVar6;
  sockaddr_un *psVar7;
  sockaddr_un *psVar8;
  void **ppvVar9;
  void **callback_00;
  int iVar10;
  int *piVar11;
  int unaff_s2;
  undefined *puVar12;
  code *pcVar13;
  undefined4 uVar14;
  undefined4 auStack_e4 [2];
  agent_pending_query *paStack_dc;
  agent_pending_query *paStack_d4;
  undefined *puStack_d0;
  int iStack_cc;
  void *pvStack_c8;
  int *piStack_c4;
  void **ppvStack_c0;
  undefined4 uStack_bc;
  sockaddr_un addr;
  
  piVar1 = *(int **)PTR___stack_chk_guard_00122654;
  psVar7 = (sockaddr_un *)inlen;
  ppvVar9 = out;
  iVar2 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);
  if (iVar2 == 0) {
LAB_000cdf24:
    *out = (void *)0x0;
    callback_00 = ppvVar9;
LAB_000cdf28:
    *outlen = 0;
LAB_000cdf30:
    paVar5 = (agent_pending_query *)0x0;
  }
  else {
    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);
    ppvVar9 = (void **)0x0;
    if (0x6b < uVar3) goto LAB_000cdf24;
    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);
    if (unaff_s2 < 0) {
      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);
      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);
      return paVar5;
    }
    cloexec(unaff_s2);
    addr.sun_family = 1;
    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);
    callback_00 = (void **)0x6e;
    psVar7 = &addr;
    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);
    if (iVar2 < 0) {
      (*(code *)PTR_close_00122078)(unaff_s2);
      *out = (void *)0x0;
      goto LAB_000cdf28;
    }
    iVar2 = 0;
    ppvVar9 = (void **)inlen;
    if (0 < inlen) {
      do {
        psVar7 = (sockaddr_un *)((int)in + iVar2);
        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);
        iVar2 = iVar2 + iVar4;
        if (iVar4 < 1) {
          (*(code *)PTR_close_00122078)(unaff_s2);
          goto LAB_000cdf24;
        }
        callback_00 = (void **)(inlen - iVar2);
        ppvVar9 = callback_00;
      } while (iVar2 < inlen);
    }
    psVar7 = (sockaddr_un *)0x1c;
    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);
    paVar5->fd = unaff_s2;
    paVar5->retbuf = paVar5->sizebuf;
    paVar5->retsize = 4;
    paVar5->retlen = 0;
    paVar5->callback = callback;
    paVar5->callback_ctx = callback_ctx;
    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {
      no_nonblock(unaff_s2);
      inlen = (int)(PTR_LAB_00121d4c + -0x2668);
      do {
        iVar2 = agent_try_read(paVar5);
      } while (iVar2 == 0);
      *out = paVar5->retbuf;
      *outlen = paVar5->retlen;
      (*(code *)PTR_safefree_00121304)();
      goto LAB_000cdf30;
    }
    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {
      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);
      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;
    }
    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)
    ;
    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);
    psVar7 = (sockaddr_un *)&DAT_00000001;
    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);
  }
  if (piVar1 == *(int **)PTR___stack_chk_guard_00122654) {
    return paVar5;
  }
  uVar14 = 0xcdffc;
  puVar12 = PTR___stack_chk_fail_001222ec;
  (*(code *)PTR___stack_chk_fail_001222ec)();
  paStack_dc = (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);
  iVar4 = *(int *)(puVar12 + 0x53348) + 0x235c;
  psVar8 = (sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4);
  paStack_d4 = paVar5;
  puStack_d0 = (undefined *)inlen;
  iStack_cc = unaff_s2;
  pvStack_c8 = in;
  piStack_c4 = outlen;
  ppvStack_c0 = out;
  uStack_bc = uVar14;
  iVar2 = (**(code **)(puVar12 + 0x534cc))();
  if (*(int *)(iVar2 + 0x10) != 1) {
LAB_000ce100:
    paVar5 = (agent_pending_query *)
             (**(code **)(puVar12 + 0x53f78))
                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,
                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);
    return paVar5;
  }
  iVar10 = *(int *)(puVar12 + 0x534e0) + -0x6c20;
  if (*(int *)**(int **)(iVar2 + 0x18) != 1) goto LAB_000ce100;
  ((int *)**(int **)(iVar2 + 0x18))[10] = 0;
  if (psVar7 == (sockaddr_un *)0x0) {
    iVar2 = (**(code **)(puVar12 + 0x534cc))
                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,
                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);
    iVar4 = *(int *)(iVar2 + 0x10);
    if (0 < iVar4) {
      puVar6 = *(undefined4 **)(iVar2 + 0x18);
      iVar10 = 0;
      do {
        piVar11 = (int *)*puVar6;
        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {
          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {
            paVar5 = (agent_pending_query *)
                     (**(code **)(puVar12 + 0x53f78))
                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,
                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,
                                *(int *)(puVar12 + 0x534e0) + -0x6c20);
            return paVar5;
          }
          iVar4 = piVar11[9];
          piVar11[9] = iVar4 + 1;
          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);
          piVar11[10] = iVar4;
          iVar10 = piVar11[9];
          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);
          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;
          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);
          piVar11[0xc] = iVar4;
          iVar10 = piVar11[9];
          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);
          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];
          iVar4 = *(int *)(iVar2 + 0x10);
          if (iVar4 < 1) goto LAB_000ce0a8;
          break;
        }
        iVar10 = iVar10 + 1;
        puVar6 = puVar6 + 1;
      } while (iVar10 != iVar4);
      puVar6 = *(undefined4 **)(iVar2 + 0x18);
      iVar2 = 0;
      do {
        piVar11 = (int *)*puVar6;
        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {
          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {
            paVar5 = (agent_pending_query *)
                     (**(code **)(puVar12 + 0x53f78))
                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,
                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,
                                *(int *)(puVar12 + 0x534e0) + -0x6c20);
            return paVar5;
          }
          (**(code **)(puVar12 + 0x53304))(piVar11[1]);
          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);
          piVar11[1] = iVar2;
          break;
        }
        iVar2 = iVar2 + 1;
        puVar6 = puVar6 + 1;
      } while (iVar2 < iVar4);
    }
  }
  else {
    piVar11 = (int *)&DAT_00000001;
    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;
  }
LAB_000ce0a8:
  iVar10 = 7;
  iVar4 = 7;
  (**(code **)(puVar12 + 0x53e58))();
  piVar11 = piVar1;
  psVar8 = psVar7;
LAB_000ce0c8:
  if (paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)) {
    pcVar13 = *(code **)(puVar12 + 0x542ec);
    (*pcVar13)();
    *piVar11 = iVar4;
    piVar11[1] = iVar10;
    piVar11[0x14] = (int)psVar8;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);
    piVar11[0xc] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);
    piVar11[0xd] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);
    piVar11[0xe] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);
    piVar11[0xf] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);
    piVar11[0x10] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);
    piVar11[0x11] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);
    piVar11[0x12] = iVar2;
    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);
    piVar11[0x13] = iVar2;
    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);
    return paVar5;
  }
  return (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);
}



int * agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)

{
  int iVar1;
  uint uVar2;
  int iVar3;
  undefined4 *puVar4;
  int *piVar5;
  int *piVar6;
  int *piVar7;
  int *piVar8;
  int *piVar9;
  int iVar10;
  int unaff_s2;
  undefined *puVar11;
  code *pcVar12;
  undefined4 uVar13;
  undefined4 auStack_e4 [2];
  int *piStack_dc;
  int *piStack_d4;
  int *piStack_d0;
  int iStack_cc;
  int iStack_c8;
  int *piStack_c4;
  int *piStack_c0;
  undefined4 uStack_bc;
  undefined2 local_9c;
  undefined1 auStack_9a [110];
  int *local_2c;
  
  local_2c = *(int **)PTR___stack_chk_guard_00122654;
  piVar6 = param_2;
  piVar8 = param_3;
  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);
  if (iVar1 == 0) {
LAB_000cdf24:
    *param_3 = 0;
    piVar9 = piVar8;
LAB_000cdf28:
    *param_4 = 0;
LAB_000cdf30:
    piVar8 = (int *)0x0;
  }
  else {
    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);
    piVar8 = (int *)0x0;
    if (0x6b < uVar2) goto LAB_000cdf24;
    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);
    if (unaff_s2 < 0) {
      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);
      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);
      return piVar6;
    }
    cloexec(unaff_s2);
    local_9c = 1;
    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);
    piVar9 = (int *)0x6e;
    piVar6 = (int *)&local_9c;
    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);
    if (iVar1 < 0) {
      (*(code *)PTR_close_00122078)(unaff_s2);
      *param_3 = 0;
      goto LAB_000cdf28;
    }
    iVar1 = 0;
    piVar8 = param_2;
    if (0 < (int)param_2) {
      do {
        piVar6 = (int *)(param_1 + iVar1);
        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);
        iVar1 = iVar1 + iVar3;
        if (iVar3 < 1) {
          (*(code *)PTR_close_00122078)(unaff_s2);
          goto LAB_000cdf24;
        }
        piVar9 = (int *)((int)param_2 - iVar1);
        piVar8 = piVar9;
      } while (iVar1 < (int)param_2);
    }
    piVar6 = (int *)0x1c;
    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);
    *piVar8 = unaff_s2;
    piVar8[1] = (int)(piVar8 + 2);
    piVar8[3] = 4;
    piVar8[4] = 0;
    piVar8[5] = param_5;
    piVar8[6] = param_6;
    if (param_5 == 0) {
      no_nonblock(unaff_s2);
      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);
      do {
        iVar1 = FUN_000cd998(piVar8);
      } while (iVar1 == 0);
      *param_3 = piVar8[1];
      *param_4 = piVar8[4];
      (*(code *)PTR_safefree_00121304)();
      goto LAB_000cdf30;
    }
    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {
      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);
      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;
    }
    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);
    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);
    piVar6 = (int *)0x1;
    uxsel_set(unaff_s2);
  }
  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {
    return piVar8;
  }
  uVar13 = 0xcdffc;
  piVar5 = local_2c;
  puVar11 = PTR___stack_chk_fail_001222ec;
  (*(code *)PTR___stack_chk_fail_001222ec)();
  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);
  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;
  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);
  piStack_d4 = piVar8;
  piStack_d0 = param_2;
  iStack_cc = unaff_s2;
  iStack_c8 = param_1;
  piStack_c4 = param_4;
  piStack_c0 = param_3;
  uStack_bc = uVar13;
  iVar1 = (**(code **)(puVar11 + 0x534cc))();
  if (*(int *)(iVar1 + 0x10) != 1) {
LAB_000ce100:
    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))
                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,
                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,
                               *(int *)(puVar11 + 0x534e0) + -0x6c20);
    return piVar6;
  }
  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;
  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;
  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;
  if (piVar6 == (int *)0x0) {
    iVar1 = (**(code **)(puVar11 + 0x534cc))
                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,
                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);
    iVar3 = *(int *)(iVar1 + 0x10);
    if (0 < iVar3) {
      puVar4 = *(undefined4 **)(iVar1 + 0x18);
      iVar10 = 0;
      do {
        piVar8 = (int *)*puVar4;
        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {
          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {
            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))
                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,
                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,
                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);
            return piVar6;
          }
          iVar3 = piVar8[9];
          piVar8[9] = iVar3 + 1;
          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);
          piVar8[10] = iVar3;
          iVar10 = piVar8[9];
          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);
          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;
          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);
          piVar8[0xc] = iVar3;
          iVar10 = piVar8[9];
          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);
          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];
          iVar3 = *(int *)(iVar1 + 0x10);
          if (iVar3 < 1) goto LAB_000ce0a8;
          break;
        }
        iVar10 = iVar10 + 1;
        puVar4 = puVar4 + 1;
      } while (iVar10 != iVar3);
      puVar4 = *(undefined4 **)(iVar1 + 0x18);
      iVar1 = 0;
      do {
        piVar8 = (int *)*puVar4;
        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {
          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {
            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))
                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,
                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,
                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);
            return piVar6;
          }
          (**(code **)(puVar11 + 0x53304))(piVar8[1]);
          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);
          piVar8[1] = iVar1;
          break;
        }
        iVar1 = iVar1 + 1;
        puVar4 = puVar4 + 1;
      } while (iVar1 < iVar3);
    }
  }
  else {
    piVar8 = (int *)0x1;
    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;
  }
LAB_000ce0a8:
  iVar10 = 7;
  iVar3 = 7;
  (**(code **)(puVar11 + 0x53e58))();
  piVar8 = piVar5;
  piVar7 = piVar6;
LAB_000ce0c8:
  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {
    pcVar12 = *(code **)(puVar11 + 0x542ec);
    (*pcVar12)();
    *piVar8 = iVar3;
    piVar8[1] = iVar10;
    piVar8[0x14] = (int)piVar7;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);
    piVar8[0xc] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);
    piVar8[0xd] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);
    piVar8[0xe] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);
    piVar8[0xf] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);
    piVar8[0x10] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);
    piVar8[0x11] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);
    piVar8[0x12] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);
    piVar8[0x13] = iVar1;
    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);
    return piVar6;
  }
  return (int *)**(int **)(puVar11 + 0x54654);
}


lui gp,0x6
addiu gp,gp,-0x4a3c
addu gp,gp,t9
addiu sp,sp,-0xb8
sw ra,0xb4(sp)
sw s7,0xb0(sp)
sw s6,0xac(sp)
sw s5,0xa8(sp)
sw s4,0xa4(sp)
sw s3,0xa0(sp)
sw s2,0x9c(sp)
sw s1,0x98(sp)
sw s0,0x94(sp)
sw gp,0x10(sp)
or s3,a0,zero
or s1,a1,zero
or s5,a2,zero
or s4,a3,zero
lw s6,0xc8(sp)
lw s7,0xcc(sp)
lw v0,-0x6c5c(gp)
lw v0,0x0(v0)
sw v0,0x8c(sp)
lw a0,-0x7dd0(gp)
addiu a0,a0,-0x6d70
lw t9,-0x6ee8(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x000cdf24
_or s0,v0,zero
or a0,v0,zero
lw t9,-0x6d58(gp)
jalr t9
_nop
lw gp,0x10(sp)
sltiu v0,v0,0x6c
beq v0,zero,0x000cdf24
_or a2,zero,zero
li a1,0x2
li a0,0x1
lw t9,-0x6b90(gp)
jalr t9
_nop
lw gp,0x10(sp)
bltz v0,0x000cded0
_or s2,v0,zero
or a0,v0,zero
lw t9,-0x7464(gp)
bal 0x000cec30
_nop
lw gp,0x10(sp)
li v0,0x1
sh v0,0x1c(sp)
li a2,0x6c
or a1,s0,zero
addiu a0,sp,0x1e
lw t9,-0x6ea4(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a2,0x6e
addiu a1,sp,0x1c
or a0,s2,zero
lw t9,-0x6c88(gp)
jalr t9
_nop
lw gp,0x10(sp)
bltz v0,0x000cdef8
_or a0,s2,zero
blez s1,0x000cde3c
_or s0,zero,zero
subu a2,s1,s0
addu a1,s3,s0
or a0,s2,zero
lw t9,-0x6d40(gp)
jalr t9
_nop
lw gp,0x10(sp)
blez v0,0x000cdf10
_addu s0,s0,v0
slt v0,s0,s1
bne v0,zero,0x000cde10
_subu a2,s1,s0
li a1,0x1c
li a0,0x1
lw t9,-0x7f9c(gp)
jalr t9
_nop
lw gp,0x10(sp)
or s0,v0,zero
sw s2,0x0(v0)
addiu v0,v0,0x8
sw v0,0x4(s0)
li v0,0x4
sw v0,0xc(s0)
sw zero,0x10(s0)
sw s6,0x14(s0)
beq s6,zero,0x000cdf70
_sw s7,0x18(s0)
lw v0,-0x7fd8(gp)
lw v0,0x2f00(v0)
beq v0,zero,0x000cdfd0
_lw a0,-0x7564(gp)
or a1,s0,zero
lw v0,-0x7fd8(gp)
lw a0,0x2f00(v0)
lw t9,-0x7f04(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a2,-0x7564(gp)
addiu a2,a2,-0x240c
li a1,0x1
or a0,s2,zero
lw t9,-0x7460(gp)
bal 0x000d4ee4
_nop
lw gp,0x10(sp)
b 0x000cdf34
_or v0,s0,zero
lw a0,-0x7dd0(gp)
addiu a0,a0,-0x6d4c
lw t9,-0x7168(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a0,0x1
lw t9,-0x70f0(gp)
jalr t9
_nop
lw t9,-0x7238(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000cdf28
_sw zero,0x0(s5)
or a0,s2,zero
lw t9,-0x7238(gp)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0x0(s5)
sw zero,0x0(s4)
or s0,zero,zero
or v0,s0,zero
lw a0,0x8c(sp)
lw v1,-0x6c5c(gp)
lw v1,0x0(v1)
bne a0,v1,0x000cdff0
_lw ra,0xb4(sp)
lw s7,0xb0(sp)
lw s6,0xac(sp)
lw s5,0xa8(sp)
lw s4,0xa4(sp)
lw s3,0xa0(sp)
lw s2,0x9c(sp)
lw s1,0x98(sp)
lw s0,0x94(sp)
jr ra
_addiu sp,sp,0xb8
or a0,s2,zero
lw t9,-0x745c(gp)
bal 0x000cefe4
_nop
lw gp,0x10(sp)
lw s1,-0x7564(gp)
addiu s1,s1,-0x2668
or a0,s0,zero
or t9,s1,zero
bal 0x000cd998
_nop
lw gp,0x10(sp)
beq v0,zero,0x000cdf90
_or a0,s0,zero
lw v0,0x4(s0)
sw v0,0x0(s5)
lw v0,0x10(s0)
sw v0,0x0(s4)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000cdf30
_or s0,zero,zero
addiu a0,a0,-0x26b0
lw t9,-0x7efc(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw v1,-0x7fd8(gp)
b 0x000cde8c
_sw v0,0x2f00(v1)
lw t9,-0x6fc4(gp)
jalr t9
_nop
nop
(translation_unit "int * agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}\n\n" (function_definition "int * agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}" primitive_type (pointer_declarator "* agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" * (function_declarator "agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" identifier (parameter_list "(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) )))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int unaff_s2;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined4 auStack_e4 [2];" type_identifier (array_declarator "auStack_e4 [2]" identifier [ number_literal ]) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "int *piStack_d4;" primitive_type (pointer_declarator "*piStack_d4" * identifier) ;) (declaration "int *piStack_d0;" primitive_type (pointer_declarator "*piStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "int iStack_c8;" primitive_type identifier ;) (declaration "int *piStack_c4;" primitive_type (pointer_declarator "*piStack_c4" * identifier) ;) (declaration "int *piStack_c0;" primitive_type (pointer_declarator "*piStack_c0" * identifier) ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "undefined2 local_9c;" type_identifier identifier ;) (declaration "undefined1 auStack_9a [110];" type_identifier (array_declarator "auStack_9a [110]" identifier [ number_literal ]) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_00122654;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_00122654" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" * (cast_expression "(int **)PTR___stack_chk_guard_00122654" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" identifier = identifier) ;) (expression_statement "piVar8 = param_3;" (assignment_expression "piVar8 = param_3" identifier = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);" (assignment_expression "iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" identifier = (call_expression "(*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" (parenthesized_expression "(*(code *)PTR_getenv_001223c8)" ( (pointer_expression "*(code *)PTR_getenv_001223c8" * (cast_expression "(code *)PTR_getenv_001223c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_001214e0 + -0x6d70)" ( (binary_expression "PTR_DAT_001214e0 + -0x6d70" identifier + number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }" { (labeled_statement "LAB_000cdf24:\n    *param_3 = 0;" statement_identifier : (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;)) (expression_statement "piVar9 = piVar8;" (assignment_expression "piVar9 = piVar8" identifier = identifier) ;) (labeled_statement "LAB_000cdf28:\n    *param_4 = 0;" statement_identifier : (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" * identifier) = number_literal) ;)) (labeled_statement "LAB_000cdf30:\n    piVar8 = (int *)0x0;" statement_identifier : (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" else (compound_statement "{\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" { (expression_statement "uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_00122558)(iVar1)" identifier = (call_expression "(*(code *)PTR_strlen_00122558)(iVar1)" (parenthesized_expression "(*(code *)PTR_strlen_00122558)" ( (pointer_expression "*(code *)PTR_strlen_00122558" * (cast_expression "(code *)PTR_strlen_00122558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0x6b < uVar2) goto LAB_000cdf24;" if (parenthesized_expression "(0x6b < uVar2)" ( (binary_expression "0x6b < uVar2" number_literal < identifier) )) (goto_statement "goto LAB_000cdf24;" goto statement_identifier ;)) (expression_statement "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);" (assignment_expression "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2)" identifier = (call_expression "(*(code *)PTR_socket_00122720)(1,2)" (parenthesized_expression "(*(code *)PTR_socket_00122720)" ( (pointer_expression "*(code *)PTR_socket_00122720" * (cast_expression "(code *)PTR_socket_00122720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,2)" ( number_literal , number_literal )))) ;) (if_statement "if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }" if (parenthesized_expression "(unaff_s2 < 0)" ( (binary_expression "unaff_s2 < 0" identifier < number_literal) )) (compound_statement "{\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }" { (expression_statement "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);" (call_expression "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c)" (parenthesized_expression "(*(code *)PTR_perror_00122148)" ( (pointer_expression "*(code *)PTR_perror_00122148" * (cast_expression "(code *)PTR_perror_00122148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_001214e0 + -0x6d4c)" ( (binary_expression "PTR_DAT_001214e0 + -0x6d4c" identifier + number_literal) ))) ;) (expression_statement "piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);" (assignment_expression "piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1)" identifier = (cast_expression "(int *)(*(code *)PTR_exit_001221c0)(1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_exit_001221c0)(1)" (parenthesized_expression "(*(code *)PTR_exit_001221c0)" ( (pointer_expression "*(code *)PTR_exit_001221c0" * (cast_expression "(code *)PTR_exit_001221c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))))) ;) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "cloexec(unaff_s2);" (call_expression "cloexec(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "local_9c = 1;" (assignment_expression "local_9c = 1" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);" (call_expression "(*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c)" (parenthesized_expression "(*(code *)PTR___strcpy_chk_0012240c)" ( (pointer_expression "*(code *)PTR___strcpy_chk_0012240c" * (cast_expression "(code *)PTR___strcpy_chk_0012240c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_9a,iVar1,0x6c)" ( identifier , identifier , number_literal ))) ;) (expression_statement "piVar9 = (int *)0x6e;" (assignment_expression "piVar9 = (int *)0x6e" identifier = (cast_expression "(int *)0x6e" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar6 = (int *)&local_9c;" (assignment_expression "piVar6 = (int *)&local_9c" identifier = (cast_expression "(int *)&local_9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_9c" & identifier))) ;) (expression_statement "iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);" (assignment_expression "iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_connect_00122628)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_connect_00122628)" ( (pointer_expression "*(code *)PTR_connect_00122628" * (cast_expression "(code *)PTR_connect_00122628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }" { (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" ( (pointer_expression "*(code *)PTR_close_00122078" * (cast_expression "(code *)PTR_close_00122078" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (goto_statement "goto LAB_000cdf28;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (if_statement "if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }" if (parenthesized_expression "(0 < (int)param_2)" ( (binary_expression "0 < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }" { (do_statement "do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);" do (compound_statement "{\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      }" { (expression_statement "piVar6 = (int *)(param_1 + iVar1);" (assignment_expression "piVar6 = (int *)(param_1 + iVar1)" identifier = (cast_expression "(int *)(param_1 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar1)" ( (binary_expression "param_1 + iVar1" identifier + identifier) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_write_00122570)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_write_00122570)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_write_00122570)" ( (pointer_expression "*(code *)PTR_write_00122570" * (cast_expression "(code *)PTR_write_00122570" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (expression_statement "iVar1 = iVar1 + iVar3;" (assignment_expression "iVar1 = iVar1 + iVar3" identifier = (binary_expression "iVar1 + iVar3" identifier + identifier)) ;) (if_statement "if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (compound_statement "{\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" { (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" ( (pointer_expression "*(code *)PTR_close_00122078" * (cast_expression "(code *)PTR_close_00122078" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (goto_statement "goto LAB_000cdf24;" goto statement_identifier ;) })) (expression_statement "piVar9 = (int *)((int)param_2 - iVar1);" (assignment_expression "piVar9 = (int *)((int)param_2 - iVar1)" identifier = (cast_expression "(int *)((int)param_2 - iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 - iVar1)" ( (binary_expression "(int)param_2 - iVar1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar1 < (int)param_2)" ( (binary_expression "iVar1 < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "piVar6 = (int *)0x1c;" (assignment_expression "piVar6 = (int *)0x1c" identifier = (cast_expression "(int *)0x1c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);" (assignment_expression "piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1)" identifier = (cast_expression "(int *)(*(code *)PTR_safemalloc_00121314)(1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_00121314)(1)" (parenthesized_expression "(*(code *)PTR_safemalloc_00121314)" ( (pointer_expression "*(code *)PTR_safemalloc_00121314" * (cast_expression "(code *)PTR_safemalloc_00121314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))))) ;) (expression_statement "*piVar8 = unaff_s2;" (assignment_expression "*piVar8 = unaff_s2" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8[1] = (int)(piVar8 + 2);" (assignment_expression "piVar8[1] = (int)(piVar8 + 2)" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar8 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 2)" ( (binary_expression "piVar8 + 2" identifier + number_literal) )))) ;) (expression_statement "piVar8[3] = 4;" (assignment_expression "piVar8[3] = 4" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[4] = 0;" (assignment_expression "piVar8[4] = 0" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = param_5;" (assignment_expression "piVar8[5] = param_5" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[6] = param_6;" (assignment_expression "piVar8[6] = param_6" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" { (expression_statement "no_nonblock(unaff_s2);" (call_expression "no_nonblock(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);" (assignment_expression "param_2 = (int *)(PTR_LAB_00121d4c + -0x2668)" identifier = (cast_expression "(int *)(PTR_LAB_00121d4c + -0x2668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00121d4c + -0x2668)" ( (binary_expression "PTR_LAB_00121d4c + -0x2668" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);" do (compound_statement "{\n        iVar1 = FUN_000cd998(piVar8);\n      }" { (expression_statement "iVar1 = FUN_000cd998(piVar8);" (assignment_expression "iVar1 = FUN_000cd998(piVar8)" identifier = (call_expression "FUN_000cd998(piVar8)" identifier (argument_list "(piVar8)" ( identifier )))) ;) }) while (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) ;) (expression_statement "*param_3 = piVar8[1];" (assignment_expression "*param_3 = piVar8[1]" (pointer_expression "*param_3" * identifier) = (subscript_expression "piVar8[1]" identifier [ number_literal ])) ;) (expression_statement "*param_4 = piVar8[4];" (assignment_expression "*param_4 = piVar8[4]" (pointer_expression "*param_4" * identifier) = (subscript_expression "piVar8[4]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)PTR_safefree_00121304)();" (call_expression "(*(code *)PTR_safefree_00121304)()" (parenthesized_expression "(*(code *)PTR_safefree_00121304)" ( (pointer_expression "*(code *)PTR_safefree_00121304" * (cast_expression "(code *)PTR_safefree_00121304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000cdf30;" goto statement_identifier ;) })) (if_statement "if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }" if (parenthesized_expression "(*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0)" ( (binary_expression "*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0" (pointer_expression "*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" * (cast_expression "(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }" { (expression_statement "uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);" (assignment_expression "uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" identifier = (call_expression "(*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" (parenthesized_expression "(*(code *)PTR_newtree234_001213b4)" ( (pointer_expression "*(code *)PTR_newtree234_001213b4" * (cast_expression "(code *)PTR_newtree234_001213b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00121d4c + -0x26b0)" ( (binary_expression "PTR_LAB_00121d4c + -0x26b0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;" (assignment_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13" (pointer_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" * (cast_expression "(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);" (call_expression "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8)" (parenthesized_expression "(*(code *)PTR_add234_001213ac)" ( (pointer_expression "*(code *)PTR_add234_001213ac" * (cast_expression "(code *)PTR_add234_001213ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8)" ( (pointer_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" * (cast_expression "(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);" (assignment_expression "piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c)" identifier = (cast_expression "(int *)(PTR_LAB_00121d4c + -0x240c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00121d4c + -0x240c)" ( (binary_expression "PTR_LAB_00121d4c + -0x240c" identifier + number_literal) )))) ;) (expression_statement "piVar6 = (int *)0x1;" (assignment_expression "piVar6 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uxsel_set(unaff_s2);" (call_expression "uxsel_set(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (if_statement "if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }" if (parenthesized_expression "(local_2c == *(int **)PTR___stack_chk_guard_00122654)" ( (binary_expression "local_2c == *(int **)PTR___stack_chk_guard_00122654" identifier == (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" * (cast_expression "(int **)PTR___stack_chk_guard_00122654" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return piVar8;\n  }" { (return_statement "return piVar8;" return identifier ;) })) (expression_statement "uVar13 = 0xcdffc;" (assignment_expression "uVar13 = 0xcdffc" identifier = number_literal) ;) (expression_statement "piVar5 = local_2c;" (assignment_expression "piVar5 = local_2c" identifier = identifier) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_001222ec;" (assignment_expression "puVar11 = PTR___stack_chk_fail_001222ec" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_001222ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_001222ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001222ec)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001222ec" * (cast_expression "(code *)PTR___stack_chk_fail_001222ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_dc = (int *)**(int **)(puVar11 + 0x54654);" (assignment_expression "piStack_dc = (int *)**(int **)(puVar11 + 0x54654)" identifier = (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar11 + 0x54654)" * (pointer_expression "*(int **)(puVar11 + 0x54654)" * (cast_expression "(int **)(puVar11 + 0x54654)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x54654)" ( (binary_expression "puVar11 + 0x54654" identifier + number_literal) ))))))) ;) (expression_statement "iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;" (assignment_expression "iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c" identifier = (binary_expression "*(int *)(puVar11 + 0x53348) + 0x235c" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4)" identifier = (cast_expression "(int *)(*(int *)(puVar11 + 0x53348) + 0x21f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x53348) + 0x21f4)" ( (binary_expression "*(int *)(puVar11 + 0x53348) + 0x21f4" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_d4 = piVar8;" (assignment_expression "piStack_d4 = piVar8" identifier = identifier) ;) (expression_statement "piStack_d0 = param_2;" (assignment_expression "piStack_d0 = param_2" identifier = identifier) ;) (expression_statement "iStack_cc = unaff_s2;" (assignment_expression "iStack_cc = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_c8 = param_1;" (assignment_expression "iStack_c8 = param_1" identifier = identifier) ;) (expression_statement "piStack_c4 = param_4;" (assignment_expression "piStack_c4 = param_4" identifier = identifier) ;) (expression_statement "piStack_c0 = param_3;" (assignment_expression "piStack_c0 = param_3" identifier = identifier) ;) (expression_statement "uStack_bc = uVar13;" (assignment_expression "uStack_bc = uVar13" identifier = identifier) ;) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x534cc))();" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x534cc))()" identifier = (call_expression "(**(code **)(puVar11 + 0x534cc))()" (parenthesized_expression "(**(code **)(puVar11 + 0x534cc))" ( (pointer_expression "**(code **)(puVar11 + 0x534cc)" * (pointer_expression "*(code **)(puVar11 + 0x534cc)" * (cast_expression "(code **)(puVar11 + 0x534cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x534cc)" ( (binary_expression "puVar11 + 0x534cc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }" if (parenthesized_expression "(*(int *)(iVar1 + 0x10) != 1)" ( (binary_expression "*(int *)(iVar1 + 0x10) != 1" (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }" { (labeled_statement "LAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);" statement_identifier : (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" ( (pointer_expression "**(code **)(puVar11 + 0x53f78)" * (pointer_expression "*(code **)(puVar11 + 0x53f78)" * (cast_expression "(code **)(puVar11 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53f78)" ( (binary_expression "puVar11 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6cf0" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;)) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20" identifier = (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;" if (parenthesized_expression "(*(int *)**(int **)(iVar1 + 0x18) != 1)" ( (binary_expression "*(int *)**(int **)(iVar1 + 0x18) != 1" (pointer_expression "*(int *)**(int **)(iVar1 + 0x18)" * (cast_expression "(int *)**(int **)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar1 + 0x18)" * (pointer_expression "*(int **)(iVar1 + 0x18)" * (cast_expression "(int **)(iVar1 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))))) != number_literal) )) (goto_statement "goto LAB_000ce100;" goto statement_identifier ;)) (expression_statement "((int *)**(int **)(iVar1 + 0x18))[10] = 0;" (assignment_expression "((int *)**(int **)(iVar1 + 0x18))[10] = 0" (subscript_expression "((int *)**(int **)(iVar1 + 0x18))[10]" (parenthesized_expression "((int *)**(int **)(iVar1 + 0x18))" ( (cast_expression "(int *)**(int **)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar1 + 0x18)" * (pointer_expression "*(int **)(iVar1 + 0x18)" * (cast_expression "(int **)(iVar1 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))))) )) [ number_literal ]) = number_literal) ;) (if_statement "if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }" { (expression_statement "iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" identifier = (call_expression "(**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" (parenthesized_expression "(**(code **)(puVar11 + 0x534cc))" ( (pointer_expression "**(code **)(puVar11 + 0x534cc)" * (pointer_expression "*(code **)(puVar11 + 0x534cc)" * (cast_expression "(code **)(puVar11 + 0x534cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x534cc)" ( (binary_expression "puVar11 + 0x534cc" identifier + number_literal) ))))) )) (argument_list "(piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x53348) + 0x33dc" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x53348) + 0x33f0" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar3 = *(int *)(iVar1 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x10)" identifier = (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }" { (expression_statement "puVar4 = *(undefined4 **)(iVar1 + 0x18);" (assignment_expression "puVar4 = *(undefined4 **)(iVar1 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar1 + 0x18)" * (cast_expression "(undefined4 **)(iVar1 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);" do (compound_statement "{\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      }" { (expression_statement "piVar8 = (int *)*puVar4;" (assignment_expression "piVar8 = (int *)*puVar4" identifier = (cast_expression "(int *)*puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) ;) (if_statement "if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }" if (parenthesized_expression "((*piVar8 == 2) && (piVar8[5] == 0xd))" ( (binary_expression "(*piVar8 == 2) && (piVar8[5] == 0xd)" (parenthesized_expression "(*piVar8 == 2)" ( (binary_expression "*piVar8 == 2" (pointer_expression "*piVar8" * identifier) == number_literal) )) && (parenthesized_expression "(piVar8[5] == 0xd)" ( (binary_expression "piVar8[5] == 0xd" (subscript_expression "piVar8[5]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }" { (if_statement "if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" if (parenthesized_expression "(piVar8[4] != *(int *)(puVar11 + 0x534f4))" ( (binary_expression "piVar8[4] != *(int *)(puVar11 + 0x534f4)" (subscript_expression "piVar8[4]" identifier [ number_literal ]) != (pointer_expression "*(int *)(puVar11 + 0x534f4)" * (cast_expression "(int *)(puVar11 + 0x534f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534f4)" ( (binary_expression "puVar11 + 0x534f4" identifier + number_literal) ))))) )) (compound_statement "{\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" ( (pointer_expression "**(code **)(puVar11 + 0x53f78)" * (pointer_expression "*(code **)(puVar11 + 0x53f78)" * (cast_expression "(code **)(puVar11 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53f78)" ( (binary_expression "puVar11 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6cb0" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "iVar3 = piVar8[9];" (assignment_expression "iVar3 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "piVar8[9] = iVar3 + 1;" (assignment_expression "piVar8[9] = iVar3 + 1" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);" (assignment_expression "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4)" identifier = (call_expression "(**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4)" (parenthesized_expression "(**(code **)(puVar11 + 0x53354))" ( (pointer_expression "**(code **)(puVar11 + 0x53354)" * (pointer_expression "*(code **)(puVar11 + 0x53354)" * (cast_expression "(code **)(puVar11 + 0x53354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53354)" ( (binary_expression "puVar11 + 0x53354" identifier + number_literal) ))))) )) (argument_list "(piVar8[10],iVar3 + 1,4)" ( (subscript_expression "piVar8[10]" identifier [ number_literal ]) , (binary_expression "iVar3 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar8[10] = iVar3;" (assignment_expression "piVar8[10] = iVar3" (subscript_expression "piVar8[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = piVar8[9];" (assignment_expression "iVar10 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);" (assignment_expression "uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0)" identifier = (call_expression "(**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0)" (parenthesized_expression "(**(code **)(puVar11 + 0x53350))" ( (pointer_expression "**(code **)(puVar11 + 0x53350)" * (pointer_expression "*(code **)(puVar11 + 0x53350)" * (cast_expression "(code **)(puVar11 + 0x53350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53350)" ( (binary_expression "puVar11 + 0x53350" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x53348) + 0x3ed0)" ( (binary_expression "*(int *)(puVar11 + 0x53348) + 0x3ed0" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;" (assignment_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13" (pointer_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" * (cast_expression "(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (binary_expression "iVar3 + (iVar10 + 0x3fffffff) * 4" identifier + (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);" (assignment_expression "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4)" identifier = (call_expression "(**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4)" (parenthesized_expression "(**(code **)(puVar11 + 0x53354))" ( (pointer_expression "**(code **)(puVar11 + 0x53354)" * (pointer_expression "*(code **)(puVar11 + 0x53354)" * (cast_expression "(code **)(puVar11 + 0x53354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53354)" ( (binary_expression "puVar11 + 0x53354" identifier + number_literal) ))))) )) (argument_list "(piVar8[0xc],piVar8[9],4)" ( (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) , (subscript_expression "piVar8[9]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar8[0xc] = iVar3;" (assignment_expression "piVar8[0xc] = iVar3" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = piVar8[9];" (assignment_expression "iVar10 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "(**(code **)(puVar11 + 0x534f0))(auStack_e4,5);" (call_expression "(**(code **)(puVar11 + 0x534f0))(auStack_e4,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x534f0))" ( (pointer_expression "**(code **)(puVar11 + 0x534f0)" * (pointer_expression "*(code **)(puVar11 + 0x534f0)" * (cast_expression "(code **)(puVar11 + 0x534f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x534f0)" ( (binary_expression "puVar11 + 0x534f0" identifier + number_literal) ))))) )) (argument_list "(auStack_e4,5)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];" (assignment_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0]" (pointer_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" * (cast_expression "(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (binary_expression "iVar3 + (iVar10 + 0x3fffffff) * 4" identifier + (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) )))) = (subscript_expression "auStack_e4[0]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(iVar1 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x10)" identifier = (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 < 1) goto LAB_000ce0a8;" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000ce0a8;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != iVar3)" ( (binary_expression "iVar10 != iVar3" identifier != identifier) )) ;) (expression_statement "puVar4 = *(undefined4 **)(iVar1 + 0x18);" (assignment_expression "puVar4 = *(undefined4 **)(iVar1 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar1 + 0x18)" * (cast_expression "(undefined4 **)(iVar1 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);" do (compound_statement "{\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      }" { (expression_statement "piVar8 = (int *)*puVar4;" (assignment_expression "piVar8 = (int *)*puVar4" identifier = (cast_expression "(int *)*puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) ;) (if_statement "if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }" if (parenthesized_expression "((*piVar8 == 1) && (piVar8[5] == 0x12))" ( (binary_expression "(*piVar8 == 1) && (piVar8[5] == 0x12)" (parenthesized_expression "(*piVar8 == 1)" ( (binary_expression "*piVar8 == 1" (pointer_expression "*piVar8" * identifier) == number_literal) )) && (parenthesized_expression "(piVar8[5] == 0x12)" ( (binary_expression "piVar8[5] == 0x12" (subscript_expression "piVar8[5]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }" { (if_statement "if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" if (parenthesized_expression "(piVar8[4] != *(int *)(puVar11 + 0x53518))" ( (binary_expression "piVar8[4] != *(int *)(puVar11 + 0x53518)" (subscript_expression "piVar8[4]" identifier [ number_literal ]) != (pointer_expression "*(int *)(puVar11 + 0x53518)" * (cast_expression "(int *)(puVar11 + 0x53518)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53518)" ( (binary_expression "puVar11 + 0x53518" identifier + number_literal) ))))) )) (compound_statement "{\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" ( (pointer_expression "**(code **)(puVar11 + 0x53f78)" * (pointer_expression "*(code **)(puVar11 + 0x53f78)" * (cast_expression "(code **)(puVar11 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53f78)" ( (binary_expression "puVar11 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c80" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "(**(code **)(puVar11 + 0x53304))(piVar8[1]);" (call_expression "(**(code **)(puVar11 + 0x53304))(piVar8[1])" (parenthesized_expression "(**(code **)(puVar11 + 0x53304))" ( (pointer_expression "**(code **)(puVar11 + 0x53304)" * (pointer_expression "*(code **)(puVar11 + 0x53304)" * (cast_expression "(code **)(puVar11 + 0x53304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53304)" ( (binary_expression "puVar11 + 0x53304" identifier + number_literal) ))))) )) (argument_list "(piVar8[1])" ( (subscript_expression "piVar8[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54)" identifier = (call_expression "(**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54)" (parenthesized_expression "(**(code **)(puVar11 + 0x53350))" ( (pointer_expression "**(code **)(puVar11 + 0x53350)" * (pointer_expression "*(code **)(puVar11 + 0x53350)" * (cast_expression "(code **)(puVar11 + 0x53350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53350)" ( (binary_expression "puVar11 + 0x53350" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6c54)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c54" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[1] = iVar1;" (assignment_expression "piVar8[1] = iVar1" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 < iVar3)" ( (binary_expression "iVar1 < iVar3" identifier < identifier) )) ;) })) }) (else_clause "else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" else (compound_statement "{\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" { (expression_statement "piVar8 = (int *)0x1;" (assignment_expression "piVar8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;" if (parenthesized_expression "(piVar9 != (int *)&DAT_00000004)" ( (binary_expression "piVar9 != (int *)&DAT_00000004" identifier != (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) )) (goto_statement "goto LAB_000ce0c8;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000ce0a8:\n  iVar10 = 7;" statement_identifier : (expression_statement "iVar10 = 7;" (assignment_expression "iVar10 = 7" identifier = number_literal) ;)) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar11 + 0x53e58))();" (call_expression "(**(code **)(puVar11 + 0x53e58))()" (parenthesized_expression "(**(code **)(puVar11 + 0x53e58))" ( (pointer_expression "**(code **)(puVar11 + 0x53e58)" * (pointer_expression "*(code **)(puVar11 + 0x53e58)" * (cast_expression "(code **)(puVar11 + 0x53e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53e58)" ( (binary_expression "puVar11 + 0x53e58" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar8 = piVar5;" (assignment_expression "piVar8 = piVar5" identifier = identifier) ;) (expression_statement "piVar7 = piVar6;" (assignment_expression "piVar7 = piVar6" identifier = identifier) ;) (labeled_statement "LAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" statement_identifier : (if_statement "if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" if (parenthesized_expression "(piStack_dc != (int *)**(int **)(puVar11 + 0x54654))" ( (binary_expression "piStack_dc != (int *)**(int **)(puVar11 + 0x54654)" identifier != (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar11 + 0x54654)" * (pointer_expression "*(int **)(puVar11 + 0x54654)" * (cast_expression "(int **)(puVar11 + 0x54654)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x54654)" ( (binary_expression "puVar11 + 0x54654" identifier + number_literal) ))))))) )) (compound_statement "{\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" { (expression_statement "pcVar12 = *(code **)(puVar11 + 0x542ec);" (assignment_expression "pcVar12 = *(code **)(puVar11 + 0x542ec)" identifier = (pointer_expression "*(code **)(puVar11 + 0x542ec)" * (cast_expression "(code **)(puVar11 + 0x542ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x542ec)" ( (binary_expression "puVar11 + 0x542ec" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*piVar8 = iVar3;" (assignment_expression "*piVar8 = iVar3" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8[1] = iVar10;" (assignment_expression "piVar8[1] = iVar10" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[0x14] = (int)piVar7;" (assignment_expression "piVar8[0x14] = (int)piVar7" (subscript_expression "piVar8[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6c00" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xc] = iVar1;" (assignment_expression "piVar8[0xc] = iVar1" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6be8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xd] = iVar1;" (assignment_expression "piVar8[0xd] = iVar1" (subscript_expression "piVar8[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bd4" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xe] = iVar1;" (assignment_expression "piVar8[0xe] = iVar1" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bc8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xf] = iVar1;" (assignment_expression "piVar8[0xf] = iVar1" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bb8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x10] = iVar1;" (assignment_expression "piVar8[0x10] = iVar1" (subscript_expression "piVar8[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6ba0" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x11] = iVar1;" (assignment_expression "piVar8[0x11] = iVar1" (subscript_expression "piVar8[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6b8c" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x12] = iVar1;" (assignment_expression "piVar8[0x12] = iVar1" (subscript_expression "piVar8[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6b78" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x13] = iVar1;" (assignment_expression "piVar8[0x13] = iVar1" (subscript_expression "piVar8[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8)" identifier = (cast_expression "(int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar12 + 0x53b2c))(piVar8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x53b2c))" ( (pointer_expression "**(code **)(pcVar12 + 0x53b2c)" * (pointer_expression "*(code **)(pcVar12 + 0x53b2c)" * (cast_expression "(code **)(pcVar12 + 0x53b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x53b2c)" ( (binary_expression "pcVar12 + 0x53b2c" identifier + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))))) ;) (return_statement "return piVar6;" return identifier ;) }))) (return_statement "return (int *)**(int **)(puVar11 + 0x54654);" return (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar11 + 0x54654)" * (pointer_expression "*(int **)(puVar11 + 0x54654)" * (cast_expression "(int **)(puVar11 + 0x54654)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x54654)" ( (binary_expression "puVar11 + 0x54654" identifier + number_literal) )))))) ;) })))
(translation_unit "agent_pending_query *\nagent_query(void *in,int inlen,void **out,int *outlen,_func_void_void_ptr_void_ptr_int *callback,\n           void *callback_ctx)\n\n{\n  int *piVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  agent_pending_query *paVar5;\n  undefined4 *puVar6;\n  sockaddr_un *psVar7;\n  sockaddr_un *psVar8;\n  void **ppvVar9;\n  void **callback_00;\n  int iVar10;\n  int *piVar11;\n  int unaff_s2;\n  undefined *puVar12;\n  code *pcVar13;\n  undefined4 uVar14;\n  undefined4 auStack_e4 [2];\n  agent_pending_query *paStack_dc;\n  agent_pending_query *paStack_d4;\n  undefined *puStack_d0;\n  int iStack_cc;\n  void *pvStack_c8;\n  int *piStack_c4;\n  void **ppvStack_c0;\n  undefined4 uStack_bc;\n  sockaddr_un addr;\n  \n  piVar1 = *(int **)PTR___stack_chk_guard_00122654;\n  psVar7 = (sockaddr_un *)inlen;\n  ppvVar9 = out;\n  iVar2 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar2 == 0) {\nLAB_000cdf24:\n    *out = (void *)0x0;\n    callback_00 = ppvVar9;\nLAB_000cdf28:\n    *outlen = 0;\nLAB_000cdf30:\n    paVar5 = (agent_pending_query *)0x0;\n  }\n  else {\n    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);\n    ppvVar9 = (void **)0x0;\n    if (0x6b < uVar3) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }\n    cloexec(unaff_s2);\n    addr.sun_family = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);\n    callback_00 = (void **)0x6e;\n    psVar7 = &addr;\n    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }\n    iVar2 = 0;\n    ppvVar9 = (void **)inlen;\n    if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }\n    psVar7 = (sockaddr_un *)0x1c;\n    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);\n    paVar5->fd = unaff_s2;\n    paVar5->retbuf = paVar5->sizebuf;\n    paVar5->retsize = 4;\n    paVar5->retlen = 0;\n    paVar5->callback = callback;\n    paVar5->callback_ctx = callback_ctx;\n    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;\n    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);\n    psVar7 = (sockaddr_un *)&DAT_00000001;\n    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);\n  }\n  if (piVar1 == *(int **)PTR___stack_chk_guard_00122654) {\n    return paVar5;\n  }\n  uVar14 = 0xcdffc;\n  puVar12 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  paStack_dc = (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);\n  iVar4 = *(int *)(puVar12 + 0x53348) + 0x235c;\n  psVar8 = (sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4);\n  paStack_d4 = paVar5;\n  puStack_d0 = (undefined *)inlen;\n  iStack_cc = unaff_s2;\n  pvStack_c8 = in;\n  piStack_c4 = outlen;\n  ppvStack_c0 = out;\n  uStack_bc = uVar14;\n  iVar2 = (**(code **)(puVar12 + 0x534cc))();\n  if (*(int *)(iVar2 + 0x10) != 1) {\nLAB_000ce100:\n    paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);\n    return paVar5;\n  }\n  iVar10 = *(int *)(puVar12 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar2 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar2 + 0x18))[10] = 0;\n  if (psVar7 == (sockaddr_un *)0x0) {\n    iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);\n    iVar4 = *(int *)(iVar2 + 0x10);\n    if (0 < iVar4) {\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }\n  }\n  else {\n    piVar11 = (int *)&DAT_00000001;\n    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar4 = 7;\n  (**(code **)(puVar12 + 0x53e58))();\n  piVar11 = piVar1;\n  psVar8 = psVar7;\nLAB_000ce0c8:\n  if (paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)) {\n    pcVar13 = *(code **)(puVar12 + 0x542ec);\n    (*pcVar13)();\n    *piVar11 = iVar4;\n    piVar11[1] = iVar10;\n    piVar11[0x14] = (int)psVar8;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);\n    piVar11[0xc] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);\n    piVar11[0xd] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);\n    piVar11[0xe] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);\n    piVar11[0xf] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);\n    piVar11[0x10] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);\n    piVar11[0x11] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);\n    piVar11[0x12] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);\n    piVar11[0x13] = iVar2;\n    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);\n    return paVar5;\n  }\n  return (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);\n}\n\n" (function_definition "agent_pending_query *\nagent_query(void *in,int inlen,void **out,int *outlen,_func_void_void_ptr_void_ptr_int *callback,\n           void *callback_ctx)\n\n{\n  int *piVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  agent_pending_query *paVar5;\n  undefined4 *puVar6;\n  sockaddr_un *psVar7;\n  sockaddr_un *psVar8;\n  void **ppvVar9;\n  void **callback_00;\n  int iVar10;\n  int *piVar11;\n  int unaff_s2;\n  undefined *puVar12;\n  code *pcVar13;\n  undefined4 uVar14;\n  undefined4 auStack_e4 [2];\n  agent_pending_query *paStack_dc;\n  agent_pending_query *paStack_d4;\n  undefined *puStack_d0;\n  int iStack_cc;\n  void *pvStack_c8;\n  int *piStack_c4;\n  void **ppvStack_c0;\n  undefined4 uStack_bc;\n  sockaddr_un addr;\n  \n  piVar1 = *(int **)PTR___stack_chk_guard_00122654;\n  psVar7 = (sockaddr_un *)inlen;\n  ppvVar9 = out;\n  iVar2 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar2 == 0) {\nLAB_000cdf24:\n    *out = (void *)0x0;\n    callback_00 = ppvVar9;\nLAB_000cdf28:\n    *outlen = 0;\nLAB_000cdf30:\n    paVar5 = (agent_pending_query *)0x0;\n  }\n  else {\n    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);\n    ppvVar9 = (void **)0x0;\n    if (0x6b < uVar3) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }\n    cloexec(unaff_s2);\n    addr.sun_family = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);\n    callback_00 = (void **)0x6e;\n    psVar7 = &addr;\n    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }\n    iVar2 = 0;\n    ppvVar9 = (void **)inlen;\n    if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }\n    psVar7 = (sockaddr_un *)0x1c;\n    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);\n    paVar5->fd = unaff_s2;\n    paVar5->retbuf = paVar5->sizebuf;\n    paVar5->retsize = 4;\n    paVar5->retlen = 0;\n    paVar5->callback = callback;\n    paVar5->callback_ctx = callback_ctx;\n    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;\n    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);\n    psVar7 = (sockaddr_un *)&DAT_00000001;\n    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);\n  }\n  if (piVar1 == *(int **)PTR___stack_chk_guard_00122654) {\n    return paVar5;\n  }\n  uVar14 = 0xcdffc;\n  puVar12 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  paStack_dc = (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);\n  iVar4 = *(int *)(puVar12 + 0x53348) + 0x235c;\n  psVar8 = (sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4);\n  paStack_d4 = paVar5;\n  puStack_d0 = (undefined *)inlen;\n  iStack_cc = unaff_s2;\n  pvStack_c8 = in;\n  piStack_c4 = outlen;\n  ppvStack_c0 = out;\n  uStack_bc = uVar14;\n  iVar2 = (**(code **)(puVar12 + 0x534cc))();\n  if (*(int *)(iVar2 + 0x10) != 1) {\nLAB_000ce100:\n    paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);\n    return paVar5;\n  }\n  iVar10 = *(int *)(puVar12 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar2 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar2 + 0x18))[10] = 0;\n  if (psVar7 == (sockaddr_un *)0x0) {\n    iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);\n    iVar4 = *(int *)(iVar2 + 0x10);\n    if (0 < iVar4) {\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }\n  }\n  else {\n    piVar11 = (int *)&DAT_00000001;\n    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar4 = 7;\n  (**(code **)(puVar12 + 0x53e58))();\n  piVar11 = piVar1;\n  psVar8 = psVar7;\nLAB_000ce0c8:\n  if (paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)) {\n    pcVar13 = *(code **)(puVar12 + 0x542ec);\n    (*pcVar13)();\n    *piVar11 = iVar4;\n    piVar11[1] = iVar10;\n    piVar11[0x14] = (int)psVar8;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);\n    piVar11[0xc] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);\n    piVar11[0xd] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);\n    piVar11[0xe] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);\n    piVar11[0xf] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);\n    piVar11[0x10] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);\n    piVar11[0x11] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);\n    piVar11[0x12] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);\n    piVar11[0x13] = iVar2;\n    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);\n    return paVar5;\n  }\n  return (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);\n}" type_identifier (pointer_declarator "*\nagent_query(void *in,int inlen,void **out,int *outlen,_func_void_void_ptr_void_ptr_int *callback,\n           void *callback_ctx)" * (function_declarator "agent_query(void *in,int inlen,void **out,int *outlen,_func_void_void_ptr_void_ptr_int *callback,\n           void *callback_ctx)" identifier (parameter_list "(void *in,int inlen,void **out,int *outlen,_func_void_void_ptr_void_ptr_int *callback,\n           void *callback_ctx)" ( (parameter_declaration "void *in" primitive_type (pointer_declarator "*in" * identifier)) , (parameter_declaration "int inlen" primitive_type identifier) , (parameter_declaration "void **out" primitive_type (pointer_declarator "**out" * (pointer_declarator "*out" * identifier))) , (parameter_declaration "int *outlen" primitive_type (pointer_declarator "*outlen" * identifier)) , (parameter_declaration "_func_void_void_ptr_void_ptr_int *callback" type_identifier (pointer_declarator "*callback" * identifier)) , (parameter_declaration "void *callback_ctx" primitive_type (pointer_declarator "*callback_ctx" * identifier)) )))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  agent_pending_query *paVar5;\n  undefined4 *puVar6;\n  sockaddr_un *psVar7;\n  sockaddr_un *psVar8;\n  void **ppvVar9;\n  void **callback_00;\n  int iVar10;\n  int *piVar11;\n  int unaff_s2;\n  undefined *puVar12;\n  code *pcVar13;\n  undefined4 uVar14;\n  undefined4 auStack_e4 [2];\n  agent_pending_query *paStack_dc;\n  agent_pending_query *paStack_d4;\n  undefined *puStack_d0;\n  int iStack_cc;\n  void *pvStack_c8;\n  int *piStack_c4;\n  void **ppvStack_c0;\n  undefined4 uStack_bc;\n  sockaddr_un addr;\n  \n  piVar1 = *(int **)PTR___stack_chk_guard_00122654;\n  psVar7 = (sockaddr_un *)inlen;\n  ppvVar9 = out;\n  iVar2 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar2 == 0) {\nLAB_000cdf24:\n    *out = (void *)0x0;\n    callback_00 = ppvVar9;\nLAB_000cdf28:\n    *outlen = 0;\nLAB_000cdf30:\n    paVar5 = (agent_pending_query *)0x0;\n  }\n  else {\n    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);\n    ppvVar9 = (void **)0x0;\n    if (0x6b < uVar3) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }\n    cloexec(unaff_s2);\n    addr.sun_family = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);\n    callback_00 = (void **)0x6e;\n    psVar7 = &addr;\n    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }\n    iVar2 = 0;\n    ppvVar9 = (void **)inlen;\n    if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }\n    psVar7 = (sockaddr_un *)0x1c;\n    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);\n    paVar5->fd = unaff_s2;\n    paVar5->retbuf = paVar5->sizebuf;\n    paVar5->retsize = 4;\n    paVar5->retlen = 0;\n    paVar5->callback = callback;\n    paVar5->callback_ctx = callback_ctx;\n    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;\n    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);\n    psVar7 = (sockaddr_un *)&DAT_00000001;\n    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);\n  }\n  if (piVar1 == *(int **)PTR___stack_chk_guard_00122654) {\n    return paVar5;\n  }\n  uVar14 = 0xcdffc;\n  puVar12 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  paStack_dc = (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);\n  iVar4 = *(int *)(puVar12 + 0x53348) + 0x235c;\n  psVar8 = (sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4);\n  paStack_d4 = paVar5;\n  puStack_d0 = (undefined *)inlen;\n  iStack_cc = unaff_s2;\n  pvStack_c8 = in;\n  piStack_c4 = outlen;\n  ppvStack_c0 = out;\n  uStack_bc = uVar14;\n  iVar2 = (**(code **)(puVar12 + 0x534cc))();\n  if (*(int *)(iVar2 + 0x10) != 1) {\nLAB_000ce100:\n    paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);\n    return paVar5;\n  }\n  iVar10 = *(int *)(puVar12 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar2 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar2 + 0x18))[10] = 0;\n  if (psVar7 == (sockaddr_un *)0x0) {\n    iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);\n    iVar4 = *(int *)(iVar2 + 0x10);\n    if (0 < iVar4) {\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }\n  }\n  else {\n    piVar11 = (int *)&DAT_00000001;\n    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar4 = 7;\n  (**(code **)(puVar12 + 0x53e58))();\n  piVar11 = piVar1;\n  psVar8 = psVar7;\nLAB_000ce0c8:\n  if (paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)) {\n    pcVar13 = *(code **)(puVar12 + 0x542ec);\n    (*pcVar13)();\n    *piVar11 = iVar4;\n    piVar11[1] = iVar10;\n    piVar11[0x14] = (int)psVar8;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);\n    piVar11[0xc] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);\n    piVar11[0xd] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);\n    piVar11[0xe] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);\n    piVar11[0xf] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);\n    piVar11[0x10] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);\n    piVar11[0x11] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);\n    piVar11[0x12] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);\n    piVar11[0x13] = iVar2;\n    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);\n    return paVar5;\n  }\n  return (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "agent_pending_query *paVar5;" type_identifier (pointer_declarator "*paVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "sockaddr_un *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "sockaddr_un *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "void **ppvVar9;" primitive_type (pointer_declarator "**ppvVar9" * (pointer_declarator "*ppvVar9" * identifier)) ;) (declaration "void **callback_00;" primitive_type (pointer_declarator "**callback_00" * (pointer_declarator "*callback_00" * identifier)) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int unaff_s2;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 auStack_e4 [2];" type_identifier (array_declarator "auStack_e4 [2]" identifier [ number_literal ]) ;) (declaration "agent_pending_query *paStack_dc;" type_identifier (pointer_declarator "*paStack_dc" * identifier) ;) (declaration "agent_pending_query *paStack_d4;" type_identifier (pointer_declarator "*paStack_d4" * identifier) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "void *pvStack_c8;" primitive_type (pointer_declarator "*pvStack_c8" * identifier) ;) (declaration "int *piStack_c4;" primitive_type (pointer_declarator "*piStack_c4" * identifier) ;) (declaration "void **ppvStack_c0;" primitive_type (pointer_declarator "**ppvStack_c0" * (pointer_declarator "*ppvStack_c0" * identifier)) ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "sockaddr_un addr;" type_identifier identifier ;) (expression_statement "piVar1 = *(int **)PTR___stack_chk_guard_00122654;" (assignment_expression "piVar1 = *(int **)PTR___stack_chk_guard_00122654" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" * (cast_expression "(int **)PTR___stack_chk_guard_00122654" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar7 = (sockaddr_un *)inlen;" (assignment_expression "psVar7 = (sockaddr_un *)inlen" identifier = (cast_expression "(sockaddr_un *)inlen" ( (type_descriptor "sockaddr_un *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppvVar9 = out;" (assignment_expression "ppvVar9 = out" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);" (assignment_expression "iVar2 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" identifier = (call_expression "(*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" (parenthesized_expression "(*(code *)PTR_getenv_001223c8)" ( (pointer_expression "*(code *)PTR_getenv_001223c8" * (cast_expression "(code *)PTR_getenv_001223c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_001214e0 + -0x6d70)" ( (binary_expression "PTR_DAT_001214e0 + -0x6d70" identifier + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\nLAB_000cdf24:\n    *out = (void *)0x0;\n    callback_00 = ppvVar9;\nLAB_000cdf28:\n    *outlen = 0;\nLAB_000cdf30:\n    paVar5 = (agent_pending_query *)0x0;\n  }\n  else {\n    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);\n    ppvVar9 = (void **)0x0;\n    if (0x6b < uVar3) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }\n    cloexec(unaff_s2);\n    addr.sun_family = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);\n    callback_00 = (void **)0x6e;\n    psVar7 = &addr;\n    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }\n    iVar2 = 0;\n    ppvVar9 = (void **)inlen;\n    if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }\n    psVar7 = (sockaddr_un *)0x1c;\n    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);\n    paVar5->fd = unaff_s2;\n    paVar5->retbuf = paVar5->sizebuf;\n    paVar5->retsize = 4;\n    paVar5->retlen = 0;\n    paVar5->callback = callback;\n    paVar5->callback_ctx = callback_ctx;\n    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;\n    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);\n    psVar7 = (sockaddr_un *)&DAT_00000001;\n    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdf24:\n    *out = (void *)0x0;\n    callback_00 = ppvVar9;\nLAB_000cdf28:\n    *outlen = 0;\nLAB_000cdf30:\n    paVar5 = (agent_pending_query *)0x0;\n  }" { (labeled_statement "LAB_000cdf24:\n    *out = (void *)0x0;" statement_identifier : (expression_statement "*out = (void *)0x0;" (assignment_expression "*out = (void *)0x0" (pointer_expression "*out" * identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "callback_00 = ppvVar9;" (assignment_expression "callback_00 = ppvVar9" identifier = identifier) ;) (labeled_statement "LAB_000cdf28:\n    *outlen = 0;" statement_identifier : (expression_statement "*outlen = 0;" (assignment_expression "*outlen = 0" (pointer_expression "*outlen" * identifier) = number_literal) ;)) (labeled_statement "LAB_000cdf30:\n    paVar5 = (agent_pending_query *)0x0;" statement_identifier : (expression_statement "paVar5 = (agent_pending_query *)0x0;" (assignment_expression "paVar5 = (agent_pending_query *)0x0" identifier = (cast_expression "(agent_pending_query *)0x0" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);\n    ppvVar9 = (void **)0x0;\n    if (0x6b < uVar3) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }\n    cloexec(unaff_s2);\n    addr.sun_family = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);\n    callback_00 = (void **)0x6e;\n    psVar7 = &addr;\n    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }\n    iVar2 = 0;\n    ppvVar9 = (void **)inlen;\n    if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }\n    psVar7 = (sockaddr_un *)0x1c;\n    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);\n    paVar5->fd = unaff_s2;\n    paVar5->retbuf = paVar5->sizebuf;\n    paVar5->retsize = 4;\n    paVar5->retlen = 0;\n    paVar5->callback = callback;\n    paVar5->callback_ctx = callback_ctx;\n    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;\n    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);\n    psVar7 = (sockaddr_un *)&DAT_00000001;\n    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);\n  }" else (compound_statement "{\n    uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);\n    ppvVar9 = (void **)0x0;\n    if (0x6b < uVar3) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }\n    cloexec(unaff_s2);\n    addr.sun_family = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);\n    callback_00 = (void **)0x6e;\n    psVar7 = &addr;\n    iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }\n    iVar2 = 0;\n    ppvVar9 = (void **)inlen;\n    if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }\n    psVar7 = (sockaddr_un *)0x1c;\n    paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);\n    paVar5->fd = unaff_s2;\n    paVar5->retbuf = paVar5->sizebuf;\n    paVar5->retsize = 4;\n    paVar5->retlen = 0;\n    paVar5->callback = callback;\n    paVar5->callback_ctx = callback_ctx;\n    if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;\n    callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);\n    psVar7 = (sockaddr_un *)&DAT_00000001;\n    uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);\n  }" { (expression_statement "uVar3 = (*(code *)PTR_strlen_00122558)(iVar2);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_00122558)(iVar2)" identifier = (call_expression "(*(code *)PTR_strlen_00122558)(iVar2)" (parenthesized_expression "(*(code *)PTR_strlen_00122558)" ( (pointer_expression "*(code *)PTR_strlen_00122558" * (cast_expression "(code *)PTR_strlen_00122558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "ppvVar9 = (void **)0x0;" (assignment_expression "ppvVar9 = (void **)0x0" identifier = (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (0x6b < uVar3) goto LAB_000cdf24;" if (parenthesized_expression "(0x6b < uVar3)" ( (binary_expression "0x6b < uVar3" number_literal < identifier) )) (goto_statement "goto LAB_000cdf24;" goto statement_identifier ;)) (expression_statement "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);" (assignment_expression "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2)" identifier = (call_expression "(*(code *)PTR_socket_00122720)(1,2)" (parenthesized_expression "(*(code *)PTR_socket_00122720)" ( (pointer_expression "*(code *)PTR_socket_00122720" * (cast_expression "(code *)PTR_socket_00122720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,2)" ( number_literal , number_literal )))) ;) (if_statement "if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }" if (parenthesized_expression "(unaff_s2 < 0)" ( (binary_expression "unaff_s2 < 0" identifier < number_literal) )) (compound_statement "{\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);\n      return paVar5;\n    }" { (expression_statement "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);" (call_expression "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c)" (parenthesized_expression "(*(code *)PTR_perror_00122148)" ( (pointer_expression "*(code *)PTR_perror_00122148" * (cast_expression "(code *)PTR_perror_00122148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_001214e0 + -0x6d4c)" ( (binary_expression "PTR_DAT_001214e0 + -0x6d4c" identifier + number_literal) ))) ;) (expression_statement "paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1);" (assignment_expression "paVar5 = (agent_pending_query *)(*(code *)PTR_exit_001221c0)(1)" identifier = (cast_expression "(agent_pending_query *)(*(code *)PTR_exit_001221c0)(1)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_exit_001221c0)(1)" (parenthesized_expression "(*(code *)PTR_exit_001221c0)" ( (pointer_expression "*(code *)PTR_exit_001221c0" * (cast_expression "(code *)PTR_exit_001221c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))))) ;) (return_statement "return paVar5;" return identifier ;) })) (expression_statement "cloexec(unaff_s2);" (call_expression "cloexec(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "addr.sun_family = 1;" (assignment_expression "addr.sun_family = 1" (field_expression "addr.sun_family" identifier . field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c);" (call_expression "(*(code *)PTR___strcpy_chk_0012240c)(addr.sun_path,iVar2,0x6c)" (parenthesized_expression "(*(code *)PTR___strcpy_chk_0012240c)" ( (pointer_expression "*(code *)PTR___strcpy_chk_0012240c" * (cast_expression "(code *)PTR___strcpy_chk_0012240c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(addr.sun_path,iVar2,0x6c)" ( (field_expression "addr.sun_path" identifier . field_identifier) , identifier , number_literal ))) ;) (expression_statement "callback_00 = (void **)0x6e;" (assignment_expression "callback_00 = (void **)0x6e" identifier = (cast_expression "(void **)0x6e" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar7 = &addr;" (assignment_expression "psVar7 = &addr" identifier = (pointer_expression "&addr" & identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2);" (assignment_expression "iVar2 = (*(code *)PTR_connect_00122628)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_connect_00122628)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_connect_00122628)" ( (pointer_expression "*(code *)PTR_connect_00122628" * (cast_expression "(code *)PTR_connect_00122628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar2 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *out = (void *)0x0;\n      goto LAB_000cdf28;\n    }" { (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" ( (pointer_expression "*(code *)PTR_close_00122078" * (cast_expression "(code *)PTR_close_00122078" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "*out = (void *)0x0;" (assignment_expression "*out = (void *)0x0" (pointer_expression "*out" * identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cdf28;" goto statement_identifier ;) })) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "ppvVar9 = (void **)inlen;" (assignment_expression "ppvVar9 = (void **)inlen" identifier = (cast_expression "(void **)inlen" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (0 < inlen) {\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }" if (parenthesized_expression "(0 < inlen)" ( (binary_expression "0 < inlen" number_literal < identifier) )) (compound_statement "{\n      do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);\n    }" { (do_statement "do {\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      } while (iVar2 < inlen);" do (compound_statement "{\n        psVar7 = (sockaddr_un *)((int)in + iVar2);\n        iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar2 = iVar2 + iVar4;\n        if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        callback_00 = (void **)(inlen - iVar2);\n        ppvVar9 = callback_00;\n      }" { (expression_statement "psVar7 = (sockaddr_un *)((int)in + iVar2);" (assignment_expression "psVar7 = (sockaddr_un *)((int)in + iVar2)" identifier = (cast_expression "(sockaddr_un *)((int)in + iVar2)" ( (type_descriptor "sockaddr_un *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in + iVar2)" ( (binary_expression "(int)in + iVar2" (cast_expression "(int)in" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar4 = (*(code *)PTR_write_00122570)(unaff_s2);" (assignment_expression "iVar4 = (*(code *)PTR_write_00122570)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_write_00122570)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_write_00122570)" ( (pointer_expression "*(code *)PTR_write_00122570" * (cast_expression "(code *)PTR_write_00122570" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (expression_statement "iVar2 = iVar2 + iVar4;" (assignment_expression "iVar2 = iVar2 + iVar4" identifier = (binary_expression "iVar2 + iVar4" identifier + identifier)) ;) (if_statement "if (iVar4 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" if (parenthesized_expression "(iVar4 < 1)" ( (binary_expression "iVar4 < 1" identifier < number_literal) )) (compound_statement "{\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" { (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" ( (pointer_expression "*(code *)PTR_close_00122078" * (cast_expression "(code *)PTR_close_00122078" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (goto_statement "goto LAB_000cdf24;" goto statement_identifier ;) })) (expression_statement "callback_00 = (void **)(inlen - iVar2);" (assignment_expression "callback_00 = (void **)(inlen - iVar2)" identifier = (cast_expression "(void **)(inlen - iVar2)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(inlen - iVar2)" ( (binary_expression "inlen - iVar2" identifier - identifier) )))) ;) (expression_statement "ppvVar9 = callback_00;" (assignment_expression "ppvVar9 = callback_00" identifier = identifier) ;) }) while (parenthesized_expression "(iVar2 < inlen)" ( (binary_expression "iVar2 < inlen" identifier < identifier) )) ;) })) (expression_statement "psVar7 = (sockaddr_un *)0x1c;" (assignment_expression "psVar7 = (sockaddr_un *)0x1c" identifier = (cast_expression "(sockaddr_un *)0x1c" ( (type_descriptor "sockaddr_un *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1);" (assignment_expression "paVar5 = (agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1)" identifier = (cast_expression "(agent_pending_query *)(*(code *)PTR_safemalloc_00121314)(1)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_00121314)(1)" (parenthesized_expression "(*(code *)PTR_safemalloc_00121314)" ( (pointer_expression "*(code *)PTR_safemalloc_00121314" * (cast_expression "(code *)PTR_safemalloc_00121314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))))) ;) (expression_statement "paVar5->fd = unaff_s2;" (assignment_expression "paVar5->fd = unaff_s2" (field_expression "paVar5->fd" identifier -> field_identifier) = identifier) ;) (expression_statement "paVar5->retbuf = paVar5->sizebuf;" (assignment_expression "paVar5->retbuf = paVar5->sizebuf" (field_expression "paVar5->retbuf" identifier -> field_identifier) = (field_expression "paVar5->sizebuf" identifier -> field_identifier)) ;) (expression_statement "paVar5->retsize = 4;" (assignment_expression "paVar5->retsize = 4" (field_expression "paVar5->retsize" identifier -> field_identifier) = number_literal) ;) (expression_statement "paVar5->retlen = 0;" (assignment_expression "paVar5->retlen = 0" (field_expression "paVar5->retlen" identifier -> field_identifier) = number_literal) ;) (expression_statement "paVar5->callback = callback;" (assignment_expression "paVar5->callback = callback" (field_expression "paVar5->callback" identifier -> field_identifier) = identifier) ;) (expression_statement "paVar5->callback_ctx = callback_ctx;" (assignment_expression "paVar5->callback_ctx = callback_ctx" (field_expression "paVar5->callback_ctx" identifier -> field_identifier) = identifier) ;) (if_statement "if (callback == (_func_void_void_ptr_void_ptr_int *)0x0) {\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" if (parenthesized_expression "(callback == (_func_void_void_ptr_void_ptr_int *)0x0)" ( (binary_expression "callback == (_func_void_void_ptr_void_ptr_int *)0x0" identifier == (cast_expression "(_func_void_void_ptr_void_ptr_int *)0x0" ( (type_descriptor "_func_void_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      no_nonblock(unaff_s2);\n      inlen = (int)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);\n      *out = paVar5->retbuf;\n      *outlen = paVar5->retlen;\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" { (expression_statement "no_nonblock(unaff_s2);" (call_expression "no_nonblock(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "inlen = (int)(PTR_LAB_00121d4c + -0x2668);" (assignment_expression "inlen = (int)(PTR_LAB_00121d4c + -0x2668)" identifier = (cast_expression "(int)(PTR_LAB_00121d4c + -0x2668)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_LAB_00121d4c + -0x2668)" ( (binary_expression "PTR_LAB_00121d4c + -0x2668" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar2 = agent_try_read(paVar5);\n      } while (iVar2 == 0);" do (compound_statement "{\n        iVar2 = agent_try_read(paVar5);\n      }" { (expression_statement "iVar2 = agent_try_read(paVar5);" (assignment_expression "iVar2 = agent_try_read(paVar5)" identifier = (call_expression "agent_try_read(paVar5)" identifier (argument_list "(paVar5)" ( identifier )))) ;) }) while (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) ;) (expression_statement "*out = paVar5->retbuf;" (assignment_expression "*out = paVar5->retbuf" (pointer_expression "*out" * identifier) = (field_expression "paVar5->retbuf" identifier -> field_identifier)) ;) (expression_statement "*outlen = paVar5->retlen;" (assignment_expression "*outlen = paVar5->retlen" (pointer_expression "*outlen" * identifier) = (field_expression "paVar5->retlen" identifier -> field_identifier)) ;) (expression_statement "(*(code *)PTR_safefree_00121304)();" (call_expression "(*(code *)PTR_safefree_00121304)()" (parenthesized_expression "(*(code *)PTR_safefree_00121304)" ( (pointer_expression "*(code *)PTR_safefree_00121304" * (cast_expression "(code *)PTR_safefree_00121304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000cdf30;" goto statement_identifier ;) })) (if_statement "if (*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0) {\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }" if (parenthesized_expression "(*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0)" ( (binary_expression "*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) == 0" (pointer_expression "*(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" * (cast_expression "(int *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" ( (binary_expression "PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;\n    }" { (expression_statement "uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);" (assignment_expression "uVar14 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" identifier = (call_expression "(*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" (parenthesized_expression "(*(code *)PTR_newtree234_001213b4)" ( (pointer_expression "*(code *)PTR_newtree234_001213b4" * (cast_expression "(code *)PTR_newtree234_001213b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00121d4c + -0x26b0)" ( (binary_expression "PTR_LAB_00121d4c + -0x26b0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14;" (assignment_expression "*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00) = uVar14" (pointer_expression "*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" * (cast_expression "(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" ( (binary_expression "PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)\n    ;" (call_expression "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)" (parenthesized_expression "(*(code *)PTR_add234_001213ac)" ( (pointer_expression "*(code *)PTR_add234_001213ac" * (cast_expression "(code *)PTR_add234_001213ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00),paVar5)" ( (pointer_expression "*(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" * (cast_expression "(undefined4 *)(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00)" ( (binary_expression "PTR_ssh_3des_ssh2_name_001212d8 + 0x2f00" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c);" (assignment_expression "callback_00 = (void **)(PTR_LAB_00121d4c + -0x240c)" identifier = (cast_expression "(void **)(PTR_LAB_00121d4c + -0x240c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_LAB_00121d4c + -0x240c)" ( (binary_expression "PTR_LAB_00121d4c + -0x240c" identifier + number_literal) )))) ;) (expression_statement "psVar7 = (sockaddr_un *)&DAT_00000001;" (assignment_expression "psVar7 = (sockaddr_un *)&DAT_00000001" identifier = (cast_expression "(sockaddr_un *)&DAT_00000001" ( (type_descriptor "sockaddr_un *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00);" (call_expression "uxsel_set(unaff_s2,1,(uxsel_callback_fn)callback_00)" identifier (argument_list "(unaff_s2,1,(uxsel_callback_fn)callback_00)" ( identifier , number_literal , (cast_expression "(uxsel_callback_fn)callback_00" ( (type_descriptor "uxsel_callback_fn" type_identifier) ) identifier) ))) ;) }))) (if_statement "if (piVar1 == *(int **)PTR___stack_chk_guard_00122654) {\n    return paVar5;\n  }" if (parenthesized_expression "(piVar1 == *(int **)PTR___stack_chk_guard_00122654)" ( (binary_expression "piVar1 == *(int **)PTR___stack_chk_guard_00122654" identifier == (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" * (cast_expression "(int **)PTR___stack_chk_guard_00122654" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return paVar5;\n  }" { (return_statement "return paVar5;" return identifier ;) })) (expression_statement "uVar14 = 0xcdffc;" (assignment_expression "uVar14 = 0xcdffc" identifier = number_literal) ;) (expression_statement "puVar12 = PTR___stack_chk_fail_001222ec;" (assignment_expression "puVar12 = PTR___stack_chk_fail_001222ec" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_001222ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_001222ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001222ec)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001222ec" * (cast_expression "(code *)PTR___stack_chk_fail_001222ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "paStack_dc = (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);" (assignment_expression "paStack_dc = (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)" identifier = (cast_expression "(agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar12 + 0x54654)" * (pointer_expression "*(undefined4 **)(puVar12 + 0x54654)" * (cast_expression "(undefined4 **)(puVar12 + 0x54654)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x54654)" ( (binary_expression "puVar12 + 0x54654" identifier + number_literal) ))))))) ;) (expression_statement "iVar4 = *(int *)(puVar12 + 0x53348) + 0x235c;" (assignment_expression "iVar4 = *(int *)(puVar12 + 0x53348) + 0x235c" identifier = (binary_expression "*(int *)(puVar12 + 0x53348) + 0x235c" (pointer_expression "*(int *)(puVar12 + 0x53348)" * (cast_expression "(int *)(puVar12 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x53348)" ( (binary_expression "puVar12 + 0x53348" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "psVar8 = (sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4);" (assignment_expression "psVar8 = (sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4)" identifier = (cast_expression "(sockaddr_un *)(*(int *)(puVar12 + 0x53348) + 0x21f4)" ( (type_descriptor "sockaddr_un *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar12 + 0x53348) + 0x21f4)" ( (binary_expression "*(int *)(puVar12 + 0x53348) + 0x21f4" (pointer_expression "*(int *)(puVar12 + 0x53348)" * (cast_expression "(int *)(puVar12 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x53348)" ( (binary_expression "puVar12 + 0x53348" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "paStack_d4 = paVar5;" (assignment_expression "paStack_d4 = paVar5" identifier = identifier) ;) (expression_statement "puStack_d0 = (undefined *)inlen;" (assignment_expression "puStack_d0 = (undefined *)inlen" identifier = (cast_expression "(undefined *)inlen" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_cc = unaff_s2;" (assignment_expression "iStack_cc = unaff_s2" identifier = identifier) ;) (expression_statement "pvStack_c8 = in;" (assignment_expression "pvStack_c8 = in" identifier = identifier) ;) (expression_statement "piStack_c4 = outlen;" (assignment_expression "piStack_c4 = outlen" identifier = identifier) ;) (expression_statement "ppvStack_c0 = out;" (assignment_expression "ppvStack_c0 = out" identifier = identifier) ;) (expression_statement "uStack_bc = uVar14;" (assignment_expression "uStack_bc = uVar14" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(puVar12 + 0x534cc))();" (assignment_expression "iVar2 = (**(code **)(puVar12 + 0x534cc))()" identifier = (call_expression "(**(code **)(puVar12 + 0x534cc))()" (parenthesized_expression "(**(code **)(puVar12 + 0x534cc))" ( (pointer_expression "**(code **)(puVar12 + 0x534cc)" * (pointer_expression "*(code **)(puVar12 + 0x534cc)" * (cast_expression "(code **)(puVar12 + 0x534cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x534cc)" ( (binary_expression "puVar12 + 0x534cc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (*(int *)(iVar2 + 0x10) != 1) {\nLAB_000ce100:\n    paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);\n    return paVar5;\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0x10) != 1)" ( (binary_expression "*(int *)(iVar2 + 0x10) != 1" (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_000ce100:\n    paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);\n    return paVar5;\n  }" { (labeled_statement "LAB_000ce100:\n    paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);" statement_identifier : (expression_statement "paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20);" (assignment_expression "paVar5 = (agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(agent_pending_query *)\n             (**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar12 + 0x53f78))\n                       (*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar12 + 0x53f78))" ( (pointer_expression "**(code **)(puVar12 + 0x53f78)" * (pointer_expression "*(code **)(puVar12 + 0x53f78)" * (cast_expression "(code **)(puVar12 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53f78)" ( (binary_expression "puVar12 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x534e0) + -0x6cf0,*(int *)(puVar12 + 0x534e0) + -0x6d00,\n                        0x1f,*(int *)(puVar12 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6cf0" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;)) (return_statement "return paVar5;" return identifier ;) })) (expression_statement "iVar10 = *(int *)(puVar12 + 0x534e0) + -0x6c20;" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x534e0) + -0x6c20" identifier = (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)**(int **)(iVar2 + 0x18) != 1) goto LAB_000ce100;" if (parenthesized_expression "(*(int *)**(int **)(iVar2 + 0x18) != 1)" ( (binary_expression "*(int *)**(int **)(iVar2 + 0x18) != 1" (pointer_expression "*(int *)**(int **)(iVar2 + 0x18)" * (cast_expression "(int *)**(int **)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar2 + 0x18)" * (pointer_expression "*(int **)(iVar2 + 0x18)" * (cast_expression "(int **)(iVar2 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))))) != number_literal) )) (goto_statement "goto LAB_000ce100;" goto statement_identifier ;)) (expression_statement "((int *)**(int **)(iVar2 + 0x18))[10] = 0;" (assignment_expression "((int *)**(int **)(iVar2 + 0x18))[10] = 0" (subscript_expression "((int *)**(int **)(iVar2 + 0x18))[10]" (parenthesized_expression "((int *)**(int **)(iVar2 + 0x18))" ( (cast_expression "(int *)**(int **)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar2 + 0x18)" * (pointer_expression "*(int **)(iVar2 + 0x18)" * (cast_expression "(int **)(iVar2 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))))) )) [ number_literal ]) = number_literal) ;) (if_statement "if (psVar7 == (sockaddr_un *)0x0) {\n    iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);\n    iVar4 = *(int *)(iVar2 + 0x10);\n    if (0 < iVar4) {\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }\n  }\n  else {\n    piVar11 = (int *)&DAT_00000001;\n    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;\n  }" if (parenthesized_expression "(psVar7 == (sockaddr_un *)0x0)" ( (binary_expression "psVar7 == (sockaddr_un *)0x0" identifier == (cast_expression "(sockaddr_un *)0x0" ( (type_descriptor "sockaddr_un *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);\n    iVar4 = *(int *)(iVar2 + 0x10);\n    if (0 < iVar4) {\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }\n  }" { (expression_statement "iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0);" (assignment_expression "iVar2 = (**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0)" identifier = (call_expression "(**(code **)(puVar12 + 0x534cc))\n                      (piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0)" (parenthesized_expression "(**(code **)(puVar12 + 0x534cc))" ( (pointer_expression "**(code **)(puVar12 + 0x534cc)" * (pointer_expression "*(code **)(puVar12 + 0x534cc)" * (cast_expression "(code **)(puVar12 + 0x534cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x534cc)" ( (binary_expression "puVar12 + 0x534cc" identifier + number_literal) ))))) )) (argument_list "(piVar1,*(int *)(puVar12 + 0x53348) + 0x33dc,\n                       *(int *)(puVar12 + 0x53348) + 0x33f0,0)" ( identifier , (binary_expression "*(int *)(puVar12 + 0x53348) + 0x33dc" (pointer_expression "*(int *)(puVar12 + 0x53348)" * (cast_expression "(int *)(puVar12 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x53348)" ( (binary_expression "puVar12 + 0x53348" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x53348) + 0x33f0" (pointer_expression "*(int *)(puVar12 + 0x53348)" * (cast_expression "(int *)(puVar12 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x53348)" ( (binary_expression "puVar12 + 0x53348" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar4 = *(int *)(iVar2 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar2 + 0x10)" identifier = (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);\n      puVar6 = *(undefined4 **)(iVar2 + 0x18);\n      iVar2 = 0;\n      do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);\n    }" { (expression_statement "puVar6 = *(undefined4 **)(iVar2 + 0x18);" (assignment_expression "puVar6 = *(undefined4 **)(iVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x18)" * (cast_expression "(undefined4 **)(iVar2 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar10 != iVar4);" do (compound_statement "{\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar6 = puVar6 + 1;\n      }" { (expression_statement "piVar11 = (int *)*puVar6;" (assignment_expression "piVar11 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if ((*piVar11 == 2) && (piVar11[5] == 0xd)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }" if (parenthesized_expression "((*piVar11 == 2) && (piVar11[5] == 0xd))" ( (binary_expression "(*piVar11 == 2) && (piVar11[5] == 0xd)" (parenthesized_expression "(*piVar11 == 2)" ( (binary_expression "*piVar11 == 2" (pointer_expression "*piVar11" * identifier) == number_literal) )) && (parenthesized_expression "(piVar11[5] == 0xd)" ( (binary_expression "piVar11[5] == 0xd" (subscript_expression "piVar11[5]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          iVar4 = piVar11[9];\n          piVar11[9] = iVar4 + 1;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);\n          piVar11[10] = iVar4;\n          iVar10 = piVar11[9];\n          uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;\n          iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);\n          piVar11[0xc] = iVar4;\n          iVar10 = piVar11[9];\n          (**(code **)(puVar12 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar4 = *(int *)(iVar2 + 0x10);\n          if (iVar4 < 1) goto LAB_000ce0a8;\n          break;\n        }" { (if_statement "if (piVar11[4] != *(int *)(puVar12 + 0x534f4)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }" if (parenthesized_expression "(piVar11[4] != *(int *)(puVar12 + 0x534f4))" ( (binary_expression "piVar11[4] != *(int *)(puVar12 + 0x534f4)" (subscript_expression "piVar11[4]" identifier [ number_literal ]) != (pointer_expression "*(int *)(puVar12 + 0x534f4)" * (cast_expression "(int *)(puVar12 + 0x534f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534f4)" ( (binary_expression "puVar12 + 0x534f4" identifier + number_literal) ))))) )) (compound_statement "{\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }" { (expression_statement "paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);" (assignment_expression "paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar12 + 0x53f78))" ( (pointer_expression "**(code **)(puVar12 + 0x53f78)" * (pointer_expression "*(code **)(puVar12 + 0x53f78)" * (cast_expression "(code **)(puVar12 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53f78)" ( (binary_expression "puVar12 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x534e0) + -0x6cb0,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x2d,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6cb0" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return paVar5;" return identifier ;) })) (expression_statement "iVar4 = piVar11[9];" (assignment_expression "iVar4 = piVar11[9]" identifier = (subscript_expression "piVar11[9]" identifier [ number_literal ])) ;) (expression_statement "piVar11[9] = iVar4 + 1;" (assignment_expression "piVar11[9] = iVar4 + 1" (subscript_expression "piVar11[9]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4);" (assignment_expression "iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4)" identifier = (call_expression "(**(code **)(puVar12 + 0x53354))(piVar11[10],iVar4 + 1,4)" (parenthesized_expression "(**(code **)(puVar12 + 0x53354))" ( (pointer_expression "**(code **)(puVar12 + 0x53354)" * (pointer_expression "*(code **)(puVar12 + 0x53354)" * (cast_expression "(code **)(puVar12 + 0x53354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53354)" ( (binary_expression "puVar12 + 0x53354" identifier + number_literal) ))))) )) (argument_list "(piVar11[10],iVar4 + 1,4)" ( (subscript_expression "piVar11[10]" identifier [ number_literal ]) , (binary_expression "iVar4 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar11[10] = iVar4;" (assignment_expression "piVar11[10] = iVar4" (subscript_expression "piVar11[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = piVar11[9];" (assignment_expression "iVar10 = piVar11[9]" identifier = (subscript_expression "piVar11[9]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0);" (assignment_expression "uVar14 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0)" identifier = (call_expression "(**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x53348) + 0x3ed0)" (parenthesized_expression "(**(code **)(puVar12 + 0x53350))" ( (pointer_expression "**(code **)(puVar12 + 0x53350)" * (pointer_expression "*(code **)(puVar12 + 0x53350)" * (cast_expression "(code **)(puVar12 + 0x53350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53350)" ( (binary_expression "puVar12 + 0x53350" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x53348) + 0x3ed0)" ( (binary_expression "*(int *)(puVar12 + 0x53348) + 0x3ed0" (pointer_expression "*(int *)(puVar12 + 0x53348)" * (cast_expression "(int *)(puVar12 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x53348)" ( (binary_expression "puVar12 + 0x53348" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14;" (assignment_expression "*(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = uVar14" (pointer_expression "*(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4)" * (cast_expression "(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + (iVar10 + 0x3fffffff) * 4)" ( (binary_expression "iVar4 + (iVar10 + 0x3fffffff) * 4" identifier + (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4);" (assignment_expression "iVar4 = (**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4)" identifier = (call_expression "(**(code **)(puVar12 + 0x53354))(piVar11[0xc],piVar11[9],4)" (parenthesized_expression "(**(code **)(puVar12 + 0x53354))" ( (pointer_expression "**(code **)(puVar12 + 0x53354)" * (pointer_expression "*(code **)(puVar12 + 0x53354)" * (cast_expression "(code **)(puVar12 + 0x53354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53354)" ( (binary_expression "puVar12 + 0x53354" identifier + number_literal) ))))) )) (argument_list "(piVar11[0xc],piVar11[9],4)" ( (subscript_expression "piVar11[0xc]" identifier [ number_literal ]) , (subscript_expression "piVar11[9]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar11[0xc] = iVar4;" (assignment_expression "piVar11[0xc] = iVar4" (subscript_expression "piVar11[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = piVar11[9];" (assignment_expression "iVar10 = piVar11[9]" identifier = (subscript_expression "piVar11[9]" identifier [ number_literal ])) ;) (expression_statement "(**(code **)(puVar12 + 0x534f0))(auStack_e4,5);" (call_expression "(**(code **)(puVar12 + 0x534f0))(auStack_e4,5)" (parenthesized_expression "(**(code **)(puVar12 + 0x534f0))" ( (pointer_expression "**(code **)(puVar12 + 0x534f0)" * (pointer_expression "*(code **)(puVar12 + 0x534f0)" * (cast_expression "(code **)(puVar12 + 0x534f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x534f0)" ( (binary_expression "puVar12 + 0x534f0" identifier + number_literal) ))))) )) (argument_list "(auStack_e4,5)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];" (assignment_expression "*(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0]" (pointer_expression "*(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4)" * (cast_expression "(undefined4 *)(iVar4 + (iVar10 + 0x3fffffff) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + (iVar10 + 0x3fffffff) * 4)" ( (binary_expression "iVar4 + (iVar10 + 0x3fffffff) * 4" identifier + (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) )))) = (subscript_expression "auStack_e4[0]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = *(int *)(iVar2 + 0x10);" (assignment_expression "iVar4 = *(int *)(iVar2 + 0x10)" identifier = (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 1) goto LAB_000ce0a8;" if (parenthesized_expression "(iVar4 < 1)" ( (binary_expression "iVar4 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000ce0a8;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != iVar4)" ( (binary_expression "iVar10 != iVar4" identifier != identifier) )) ;) (expression_statement "puVar6 = *(undefined4 **)(iVar2 + 0x18);" (assignment_expression "puVar6 = *(undefined4 **)(iVar2 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x18)" * (cast_expression "(undefined4 **)(iVar2 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      } while (iVar2 < iVar4);" do (compound_statement "{\n        piVar11 = (int *)*puVar6;\n        if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }\n        iVar2 = iVar2 + 1;\n        puVar6 = puVar6 + 1;\n      }" { (expression_statement "piVar11 = (int *)*puVar6;" (assignment_expression "piVar11 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if ((*piVar11 == 1) && (piVar11[5] == 0x12)) {\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }" if (parenthesized_expression "((*piVar11 == 1) && (piVar11[5] == 0x12))" ( (binary_expression "(*piVar11 == 1) && (piVar11[5] == 0x12)" (parenthesized_expression "(*piVar11 == 1)" ( (binary_expression "*piVar11 == 1" (pointer_expression "*piVar11" * identifier) == number_literal) )) && (parenthesized_expression "(piVar11[5] == 0x12)" ( (binary_expression "piVar11[5] == 0x12" (subscript_expression "piVar11[5]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }\n          (**(code **)(puVar12 + 0x53304))(piVar11[1]);\n          iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);\n          piVar11[1] = iVar2;\n          break;\n        }" { (if_statement "if (piVar11[4] != *(int *)(puVar12 + 0x53518)) {\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }" if (parenthesized_expression "(piVar11[4] != *(int *)(puVar12 + 0x53518))" ( (binary_expression "piVar11[4] != *(int *)(puVar12 + 0x53518)" (subscript_expression "piVar11[4]" identifier [ number_literal ]) != (pointer_expression "*(int *)(puVar12 + 0x53518)" * (cast_expression "(int *)(puVar12 + 0x53518)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x53518)" ( (binary_expression "puVar12 + 0x53518" identifier + number_literal) ))))) )) (compound_statement "{\n            paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);\n            return paVar5;\n          }" { (expression_statement "paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20);" (assignment_expression "paVar5 = (agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(agent_pending_query *)\n                     (**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar12 + 0x53f78))\n                               (*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar12 + 0x53f78))" ( (pointer_expression "**(code **)(puVar12 + 0x53f78)" * (pointer_expression "*(code **)(puVar12 + 0x53f78)" * (cast_expression "(code **)(puVar12 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53f78)" ( (binary_expression "puVar12 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x534e0) + -0x6c80,\n                                *(int *)(puVar12 + 0x534e0) + -0x6d00,0x3e,\n                                *(int *)(puVar12 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6c80" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return paVar5;" return identifier ;) })) (expression_statement "(**(code **)(puVar12 + 0x53304))(piVar11[1]);" (call_expression "(**(code **)(puVar12 + 0x53304))(piVar11[1])" (parenthesized_expression "(**(code **)(puVar12 + 0x53304))" ( (pointer_expression "**(code **)(puVar12 + 0x53304)" * (pointer_expression "*(code **)(puVar12 + 0x53304)" * (cast_expression "(code **)(puVar12 + 0x53304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53304)" ( (binary_expression "puVar12 + 0x53304" identifier + number_literal) ))))) )) (argument_list "(piVar11[1])" ( (subscript_expression "piVar11[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54);" (assignment_expression "iVar2 = (**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54)" identifier = (call_expression "(**(code **)(puVar12 + 0x53350))(*(int *)(puVar12 + 0x534e0) + -0x6c54)" (parenthesized_expression "(**(code **)(puVar12 + 0x53350))" ( (pointer_expression "**(code **)(puVar12 + 0x53350)" * (pointer_expression "*(code **)(puVar12 + 0x53350)" * (cast_expression "(code **)(puVar12 + 0x53350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53350)" ( (binary_expression "puVar12 + 0x53350" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x534e0) + -0x6c54)" ( (binary_expression "*(int *)(puVar12 + 0x534e0) + -0x6c54" (pointer_expression "*(int *)(puVar12 + 0x534e0)" * (cast_expression "(int *)(puVar12 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x534e0)" ( (binary_expression "puVar12 + 0x534e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[1] = iVar2;" (assignment_expression "piVar11[1] = iVar2" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar2 < iVar4)" ( (binary_expression "iVar2 < iVar4" identifier < identifier) )) ;) })) }) (else_clause "else {\n    piVar11 = (int *)&DAT_00000001;\n    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;\n  }" else (compound_statement "{\n    piVar11 = (int *)&DAT_00000001;\n    if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;\n  }" { (expression_statement "piVar11 = (int *)&DAT_00000001;" (assignment_expression "piVar11 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (if_statement "if (callback_00 != (void **)&DAT_00000004) goto LAB_000ce0c8;" if (parenthesized_expression "(callback_00 != (void **)&DAT_00000004)" ( (binary_expression "callback_00 != (void **)&DAT_00000004" identifier != (cast_expression "(void **)&DAT_00000004" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000004" & identifier))) )) (goto_statement "goto LAB_000ce0c8;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000ce0a8:\n  iVar10 = 7;" statement_identifier : (expression_statement "iVar10 = 7;" (assignment_expression "iVar10 = 7" identifier = number_literal) ;)) (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar12 + 0x53e58))();" (call_expression "(**(code **)(puVar12 + 0x53e58))()" (parenthesized_expression "(**(code **)(puVar12 + 0x53e58))" ( (pointer_expression "**(code **)(puVar12 + 0x53e58)" * (pointer_expression "*(code **)(puVar12 + 0x53e58)" * (cast_expression "(code **)(puVar12 + 0x53e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x53e58)" ( (binary_expression "puVar12 + 0x53e58" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar11 = piVar1;" (assignment_expression "piVar11 = piVar1" identifier = identifier) ;) (expression_statement "psVar8 = psVar7;" (assignment_expression "psVar8 = psVar7" identifier = identifier) ;) (labeled_statement "LAB_000ce0c8:\n  if (paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)) {\n    pcVar13 = *(code **)(puVar12 + 0x542ec);\n    (*pcVar13)();\n    *piVar11 = iVar4;\n    piVar11[1] = iVar10;\n    piVar11[0x14] = (int)psVar8;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);\n    piVar11[0xc] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);\n    piVar11[0xd] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);\n    piVar11[0xe] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);\n    piVar11[0xf] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);\n    piVar11[0x10] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);\n    piVar11[0x11] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);\n    piVar11[0x12] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);\n    piVar11[0x13] = iVar2;\n    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);\n    return paVar5;\n  }" statement_identifier : (if_statement "if (paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)) {\n    pcVar13 = *(code **)(puVar12 + 0x542ec);\n    (*pcVar13)();\n    *piVar11 = iVar4;\n    piVar11[1] = iVar10;\n    piVar11[0x14] = (int)psVar8;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);\n    piVar11[0xc] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);\n    piVar11[0xd] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);\n    piVar11[0xe] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);\n    piVar11[0xf] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);\n    piVar11[0x10] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);\n    piVar11[0x11] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);\n    piVar11[0x12] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);\n    piVar11[0x13] = iVar2;\n    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);\n    return paVar5;\n  }" if (parenthesized_expression "(paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654))" ( (binary_expression "paStack_dc != (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)" identifier != (cast_expression "(agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar12 + 0x54654)" * (pointer_expression "*(undefined4 **)(puVar12 + 0x54654)" * (cast_expression "(undefined4 **)(puVar12 + 0x54654)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x54654)" ( (binary_expression "puVar12 + 0x54654" identifier + number_literal) ))))))) )) (compound_statement "{\n    pcVar13 = *(code **)(puVar12 + 0x542ec);\n    (*pcVar13)();\n    *piVar11 = iVar4;\n    piVar11[1] = iVar10;\n    piVar11[0x14] = (int)psVar8;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);\n    piVar11[0xc] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);\n    piVar11[0xd] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);\n    piVar11[0xe] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);\n    piVar11[0xf] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);\n    piVar11[0x10] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);\n    piVar11[0x11] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);\n    piVar11[0x12] = iVar2;\n    iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);\n    piVar11[0x13] = iVar2;\n    paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);\n    return paVar5;\n  }" { (expression_statement "pcVar13 = *(code **)(puVar12 + 0x542ec);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x542ec)" identifier = (pointer_expression "*(code **)(puVar12 + 0x542ec)" * (cast_expression "(code **)(puVar12 + 0x542ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x542ec)" ( (binary_expression "puVar12 + 0x542ec" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11[1] = iVar10;" (assignment_expression "piVar11[1] = iVar10" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[0x14] = (int)psVar8;" (assignment_expression "piVar11[0x14] = (int)psVar8" (subscript_expression "piVar11[0x14]" identifier [ number_literal ]) = (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6c00)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6c00" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0xc] = iVar2;" (assignment_expression "piVar11[0xc] = iVar2" (subscript_expression "piVar11[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6be8)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6be8" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0xd] = iVar2;" (assignment_expression "piVar11[0xd] = iVar2" (subscript_expression "piVar11[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bd4)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6bd4" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0xe] = iVar2;" (assignment_expression "piVar11[0xe] = iVar2" (subscript_expression "piVar11[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bc8)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6bc8" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0xf] = iVar2;" (assignment_expression "piVar11[0xf] = iVar2" (subscript_expression "piVar11[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6bb8)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6bb8" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0x10] = iVar2;" (assignment_expression "piVar11[0x10] = iVar2" (subscript_expression "piVar11[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6ba0)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6ba0" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0x11] = iVar2;" (assignment_expression "piVar11[0x11] = iVar2" (subscript_expression "piVar11[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b8c)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6b8c" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0x12] = iVar2;" (assignment_expression "piVar11[0x12] = iVar2" (subscript_expression "piVar11[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78);" (assignment_expression "iVar2 = (**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78)" identifier = (call_expression "(**(code **)(pcVar13 + 0x541b8))(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78)" (parenthesized_expression "(**(code **)(pcVar13 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar13 + 0x541b8)" * (pointer_expression "*(code **)(pcVar13 + 0x541b8)" * (cast_expression "(code **)(pcVar13 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x541b8)" ( (binary_expression "pcVar13 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(psVar8,*(int *)(pcVar13 + 0x531b0) + -0x6b78)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x531b0) + -0x6b78" (pointer_expression "*(int *)(pcVar13 + 0x531b0)" * (cast_expression "(int *)(pcVar13 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x531b0)" ( (binary_expression "pcVar13 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11[0x13] = iVar2;" (assignment_expression "piVar11[0x13] = iVar2" (subscript_expression "piVar11[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11);" (assignment_expression "paVar5 = (agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11)" identifier = (cast_expression "(agent_pending_query *)(**(code **)(pcVar13 + 0x53b2c))(piVar11)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar13 + 0x53b2c))(piVar11)" (parenthesized_expression "(**(code **)(pcVar13 + 0x53b2c))" ( (pointer_expression "**(code **)(pcVar13 + 0x53b2c)" * (pointer_expression "*(code **)(pcVar13 + 0x53b2c)" * (cast_expression "(code **)(pcVar13 + 0x53b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x53b2c)" ( (binary_expression "pcVar13 + 0x53b2c" identifier + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier ))))) ;) (return_statement "return paVar5;" return identifier ;) }))) (return_statement "return (agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654);" return (cast_expression "(agent_pending_query *)**(undefined4 **)(puVar12 + 0x54654)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar12 + 0x54654)" * (pointer_expression "*(undefined4 **)(puVar12 + 0x54654)" * (cast_expression "(undefined4 **)(puVar12 + 0x54654)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x54654)" ( (binary_expression "puVar12 + 0x54654" identifier + number_literal) )))))) ;) })))
(translation_unit "int * agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}\n\n" (function_definition "int * agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}" primitive_type (pointer_declarator "* agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" * (function_declarator "agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" identifier (parameter_list "(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) )))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int unaff_s2;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined4 auStack_e4 [2];" type_identifier (array_declarator "auStack_e4 [2]" identifier [ number_literal ]) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "int *piStack_d4;" primitive_type (pointer_declarator "*piStack_d4" * identifier) ;) (declaration "int *piStack_d0;" primitive_type (pointer_declarator "*piStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "int iStack_c8;" primitive_type identifier ;) (declaration "int *piStack_c4;" primitive_type (pointer_declarator "*piStack_c4" * identifier) ;) (declaration "int *piStack_c0;" primitive_type (pointer_declarator "*piStack_c0" * identifier) ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "undefined2 local_9c;" type_identifier identifier ;) (declaration "undefined1 auStack_9a [110];" type_identifier (array_declarator "auStack_9a [110]" identifier [ number_literal ]) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_00122654;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_00122654" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" * (cast_expression "(int **)PTR___stack_chk_guard_00122654" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" identifier = identifier) ;) (expression_statement "piVar8 = param_3;" (assignment_expression "piVar8 = param_3" identifier = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);" (assignment_expression "iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" identifier = (call_expression "(*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" (parenthesized_expression "(*(code *)PTR_getenv_001223c8)" ( (pointer_expression "*(code *)PTR_getenv_001223c8" * (cast_expression "(code *)PTR_getenv_001223c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_001214e0 + -0x6d70)" ( (binary_expression "PTR_DAT_001214e0 + -0x6d70" identifier + number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }" { (labeled_statement "LAB_000cdf24:\n    *param_3 = 0;" statement_identifier : (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;)) (expression_statement "piVar9 = piVar8;" (assignment_expression "piVar9 = piVar8" identifier = identifier) ;) (labeled_statement "LAB_000cdf28:\n    *param_4 = 0;" statement_identifier : (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" * identifier) = number_literal) ;)) (labeled_statement "LAB_000cdf30:\n    piVar8 = (int *)0x0;" statement_identifier : (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" else (compound_statement "{\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" { (expression_statement "uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_00122558)(iVar1)" identifier = (call_expression "(*(code *)PTR_strlen_00122558)(iVar1)" (parenthesized_expression "(*(code *)PTR_strlen_00122558)" ( (pointer_expression "*(code *)PTR_strlen_00122558" * (cast_expression "(code *)PTR_strlen_00122558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0x6b < uVar2) goto LAB_000cdf24;" if (parenthesized_expression "(0x6b < uVar2)" ( (binary_expression "0x6b < uVar2" number_literal < identifier) )) (goto_statement "goto LAB_000cdf24;" goto statement_identifier ;)) (expression_statement "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);" (assignment_expression "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2)" identifier = (call_expression "(*(code *)PTR_socket_00122720)(1,2)" (parenthesized_expression "(*(code *)PTR_socket_00122720)" ( (pointer_expression "*(code *)PTR_socket_00122720" * (cast_expression "(code *)PTR_socket_00122720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,2)" ( number_literal , number_literal )))) ;) (if_statement "if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }" if (parenthesized_expression "(unaff_s2 < 0)" ( (binary_expression "unaff_s2 < 0" identifier < number_literal) )) (compound_statement "{\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }" { (expression_statement "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);" (call_expression "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c)" (parenthesized_expression "(*(code *)PTR_perror_00122148)" ( (pointer_expression "*(code *)PTR_perror_00122148" * (cast_expression "(code *)PTR_perror_00122148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_001214e0 + -0x6d4c)" ( (binary_expression "PTR_DAT_001214e0 + -0x6d4c" identifier + number_literal) ))) ;) (expression_statement "piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);" (assignment_expression "piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1)" identifier = (cast_expression "(int *)(*(code *)PTR_exit_001221c0)(1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_exit_001221c0)(1)" (parenthesized_expression "(*(code *)PTR_exit_001221c0)" ( (pointer_expression "*(code *)PTR_exit_001221c0" * (cast_expression "(code *)PTR_exit_001221c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))))) ;) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "cloexec(unaff_s2);" (call_expression "cloexec(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "local_9c = 1;" (assignment_expression "local_9c = 1" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);" (call_expression "(*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c)" (parenthesized_expression "(*(code *)PTR___strcpy_chk_0012240c)" ( (pointer_expression "*(code *)PTR___strcpy_chk_0012240c" * (cast_expression "(code *)PTR___strcpy_chk_0012240c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_9a,iVar1,0x6c)" ( identifier , identifier , number_literal ))) ;) (expression_statement "piVar9 = (int *)0x6e;" (assignment_expression "piVar9 = (int *)0x6e" identifier = (cast_expression "(int *)0x6e" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar6 = (int *)&local_9c;" (assignment_expression "piVar6 = (int *)&local_9c" identifier = (cast_expression "(int *)&local_9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_9c" & identifier))) ;) (expression_statement "iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);" (assignment_expression "iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_connect_00122628)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_connect_00122628)" ( (pointer_expression "*(code *)PTR_connect_00122628" * (cast_expression "(code *)PTR_connect_00122628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }" { (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" ( (pointer_expression "*(code *)PTR_close_00122078" * (cast_expression "(code *)PTR_close_00122078" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (goto_statement "goto LAB_000cdf28;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (if_statement "if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }" if (parenthesized_expression "(0 < (int)param_2)" ( (binary_expression "0 < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }" { (do_statement "do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);" do (compound_statement "{\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      }" { (expression_statement "piVar6 = (int *)(param_1 + iVar1);" (assignment_expression "piVar6 = (int *)(param_1 + iVar1)" identifier = (cast_expression "(int *)(param_1 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar1)" ( (binary_expression "param_1 + iVar1" identifier + identifier) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_write_00122570)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_write_00122570)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_write_00122570)" ( (pointer_expression "*(code *)PTR_write_00122570" * (cast_expression "(code *)PTR_write_00122570" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (expression_statement "iVar1 = iVar1 + iVar3;" (assignment_expression "iVar1 = iVar1 + iVar3" identifier = (binary_expression "iVar1 + iVar3" identifier + identifier)) ;) (if_statement "if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (compound_statement "{\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" { (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" ( (pointer_expression "*(code *)PTR_close_00122078" * (cast_expression "(code *)PTR_close_00122078" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (goto_statement "goto LAB_000cdf24;" goto statement_identifier ;) })) (expression_statement "piVar9 = (int *)((int)param_2 - iVar1);" (assignment_expression "piVar9 = (int *)((int)param_2 - iVar1)" identifier = (cast_expression "(int *)((int)param_2 - iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 - iVar1)" ( (binary_expression "(int)param_2 - iVar1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar1 < (int)param_2)" ( (binary_expression "iVar1 < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "piVar6 = (int *)0x1c;" (assignment_expression "piVar6 = (int *)0x1c" identifier = (cast_expression "(int *)0x1c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);" (assignment_expression "piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1)" identifier = (cast_expression "(int *)(*(code *)PTR_safemalloc_00121314)(1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_00121314)(1)" (parenthesized_expression "(*(code *)PTR_safemalloc_00121314)" ( (pointer_expression "*(code *)PTR_safemalloc_00121314" * (cast_expression "(code *)PTR_safemalloc_00121314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))))) ;) (expression_statement "*piVar8 = unaff_s2;" (assignment_expression "*piVar8 = unaff_s2" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8[1] = (int)(piVar8 + 2);" (assignment_expression "piVar8[1] = (int)(piVar8 + 2)" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar8 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 2)" ( (binary_expression "piVar8 + 2" identifier + number_literal) )))) ;) (expression_statement "piVar8[3] = 4;" (assignment_expression "piVar8[3] = 4" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[4] = 0;" (assignment_expression "piVar8[4] = 0" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = param_5;" (assignment_expression "piVar8[5] = param_5" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[6] = param_6;" (assignment_expression "piVar8[6] = param_6" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" { (expression_statement "no_nonblock(unaff_s2);" (call_expression "no_nonblock(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);" (assignment_expression "param_2 = (int *)(PTR_LAB_00121d4c + -0x2668)" identifier = (cast_expression "(int *)(PTR_LAB_00121d4c + -0x2668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00121d4c + -0x2668)" ( (binary_expression "PTR_LAB_00121d4c + -0x2668" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);" do (compound_statement "{\n        iVar1 = FUN_000cd998(piVar8);\n      }" { (expression_statement "iVar1 = FUN_000cd998(piVar8);" (assignment_expression "iVar1 = FUN_000cd998(piVar8)" identifier = (call_expression "FUN_000cd998(piVar8)" identifier (argument_list "(piVar8)" ( identifier )))) ;) }) while (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) ;) (expression_statement "*param_3 = piVar8[1];" (assignment_expression "*param_3 = piVar8[1]" (pointer_expression "*param_3" * identifier) = (subscript_expression "piVar8[1]" identifier [ number_literal ])) ;) (expression_statement "*param_4 = piVar8[4];" (assignment_expression "*param_4 = piVar8[4]" (pointer_expression "*param_4" * identifier) = (subscript_expression "piVar8[4]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)PTR_safefree_00121304)();" (call_expression "(*(code *)PTR_safefree_00121304)()" (parenthesized_expression "(*(code *)PTR_safefree_00121304)" ( (pointer_expression "*(code *)PTR_safefree_00121304" * (cast_expression "(code *)PTR_safefree_00121304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000cdf30;" goto statement_identifier ;) })) (if_statement "if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }" if (parenthesized_expression "(*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0)" ( (binary_expression "*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0" (pointer_expression "*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" * (cast_expression "(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }" { (expression_statement "uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);" (assignment_expression "uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" identifier = (call_expression "(*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" (parenthesized_expression "(*(code *)PTR_newtree234_001213b4)" ( (pointer_expression "*(code *)PTR_newtree234_001213b4" * (cast_expression "(code *)PTR_newtree234_001213b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00121d4c + -0x26b0)" ( (binary_expression "PTR_LAB_00121d4c + -0x26b0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;" (assignment_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13" (pointer_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" * (cast_expression "(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);" (call_expression "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8)" (parenthesized_expression "(*(code *)PTR_add234_001213ac)" ( (pointer_expression "*(code *)PTR_add234_001213ac" * (cast_expression "(code *)PTR_add234_001213ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8)" ( (pointer_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" * (cast_expression "(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" ( (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);" (assignment_expression "piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c)" identifier = (cast_expression "(int *)(PTR_LAB_00121d4c + -0x240c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00121d4c + -0x240c)" ( (binary_expression "PTR_LAB_00121d4c + -0x240c" identifier + number_literal) )))) ;) (expression_statement "piVar6 = (int *)0x1;" (assignment_expression "piVar6 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uxsel_set(unaff_s2);" (call_expression "uxsel_set(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (if_statement "if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }" if (parenthesized_expression "(local_2c == *(int **)PTR___stack_chk_guard_00122654)" ( (binary_expression "local_2c == *(int **)PTR___stack_chk_guard_00122654" identifier == (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" * (cast_expression "(int **)PTR___stack_chk_guard_00122654" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return piVar8;\n  }" { (return_statement "return piVar8;" return identifier ;) })) (expression_statement "uVar13 = 0xcdffc;" (assignment_expression "uVar13 = 0xcdffc" identifier = number_literal) ;) (expression_statement "piVar5 = local_2c;" (assignment_expression "piVar5 = local_2c" identifier = identifier) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_001222ec;" (assignment_expression "puVar11 = PTR___stack_chk_fail_001222ec" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_001222ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_001222ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001222ec)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001222ec" * (cast_expression "(code *)PTR___stack_chk_fail_001222ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_dc = (int *)**(int **)(puVar11 + 0x54654);" (assignment_expression "piStack_dc = (int *)**(int **)(puVar11 + 0x54654)" identifier = (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar11 + 0x54654)" * (pointer_expression "*(int **)(puVar11 + 0x54654)" * (cast_expression "(int **)(puVar11 + 0x54654)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x54654)" ( (binary_expression "puVar11 + 0x54654" identifier + number_literal) ))))))) ;) (expression_statement "iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;" (assignment_expression "iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c" identifier = (binary_expression "*(int *)(puVar11 + 0x53348) + 0x235c" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4)" identifier = (cast_expression "(int *)(*(int *)(puVar11 + 0x53348) + 0x21f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x53348) + 0x21f4)" ( (binary_expression "*(int *)(puVar11 + 0x53348) + 0x21f4" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_d4 = piVar8;" (assignment_expression "piStack_d4 = piVar8" identifier = identifier) ;) (expression_statement "piStack_d0 = param_2;" (assignment_expression "piStack_d0 = param_2" identifier = identifier) ;) (expression_statement "iStack_cc = unaff_s2;" (assignment_expression "iStack_cc = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_c8 = param_1;" (assignment_expression "iStack_c8 = param_1" identifier = identifier) ;) (expression_statement "piStack_c4 = param_4;" (assignment_expression "piStack_c4 = param_4" identifier = identifier) ;) (expression_statement "piStack_c0 = param_3;" (assignment_expression "piStack_c0 = param_3" identifier = identifier) ;) (expression_statement "uStack_bc = uVar13;" (assignment_expression "uStack_bc = uVar13" identifier = identifier) ;) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x534cc))();" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x534cc))()" identifier = (call_expression "(**(code **)(puVar11 + 0x534cc))()" (parenthesized_expression "(**(code **)(puVar11 + 0x534cc))" ( (pointer_expression "**(code **)(puVar11 + 0x534cc)" * (pointer_expression "*(code **)(puVar11 + 0x534cc)" * (cast_expression "(code **)(puVar11 + 0x534cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x534cc)" ( (binary_expression "puVar11 + 0x534cc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }" if (parenthesized_expression "(*(int *)(iVar1 + 0x10) != 1)" ( (binary_expression "*(int *)(iVar1 + 0x10) != 1" (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }" { (labeled_statement "LAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);" statement_identifier : (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" ( (pointer_expression "**(code **)(puVar11 + 0x53f78)" * (pointer_expression "*(code **)(puVar11 + 0x53f78)" * (cast_expression "(code **)(puVar11 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53f78)" ( (binary_expression "puVar11 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6cf0" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;)) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20" identifier = (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;" if (parenthesized_expression "(*(int *)**(int **)(iVar1 + 0x18) != 1)" ( (binary_expression "*(int *)**(int **)(iVar1 + 0x18) != 1" (pointer_expression "*(int *)**(int **)(iVar1 + 0x18)" * (cast_expression "(int *)**(int **)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar1 + 0x18)" * (pointer_expression "*(int **)(iVar1 + 0x18)" * (cast_expression "(int **)(iVar1 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))))) != number_literal) )) (goto_statement "goto LAB_000ce100;" goto statement_identifier ;)) (expression_statement "((int *)**(int **)(iVar1 + 0x18))[10] = 0;" (assignment_expression "((int *)**(int **)(iVar1 + 0x18))[10] = 0" (subscript_expression "((int *)**(int **)(iVar1 + 0x18))[10]" (parenthesized_expression "((int *)**(int **)(iVar1 + 0x18))" ( (cast_expression "(int *)**(int **)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar1 + 0x18)" * (pointer_expression "*(int **)(iVar1 + 0x18)" * (cast_expression "(int **)(iVar1 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))))) )) [ number_literal ]) = number_literal) ;) (if_statement "if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }" { (expression_statement "iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" identifier = (call_expression "(**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" (parenthesized_expression "(**(code **)(puVar11 + 0x534cc))" ( (pointer_expression "**(code **)(puVar11 + 0x534cc)" * (pointer_expression "*(code **)(puVar11 + 0x534cc)" * (cast_expression "(code **)(puVar11 + 0x534cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x534cc)" ( (binary_expression "puVar11 + 0x534cc" identifier + number_literal) ))))) )) (argument_list "(piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x53348) + 0x33dc" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x53348) + 0x33f0" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar3 = *(int *)(iVar1 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x10)" identifier = (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }" { (expression_statement "puVar4 = *(undefined4 **)(iVar1 + 0x18);" (assignment_expression "puVar4 = *(undefined4 **)(iVar1 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar1 + 0x18)" * (cast_expression "(undefined4 **)(iVar1 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);" do (compound_statement "{\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      }" { (expression_statement "piVar8 = (int *)*puVar4;" (assignment_expression "piVar8 = (int *)*puVar4" identifier = (cast_expression "(int *)*puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) ;) (if_statement "if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }" if (parenthesized_expression "((*piVar8 == 2) && (piVar8[5] == 0xd))" ( (binary_expression "(*piVar8 == 2) && (piVar8[5] == 0xd)" (parenthesized_expression "(*piVar8 == 2)" ( (binary_expression "*piVar8 == 2" (pointer_expression "*piVar8" * identifier) == number_literal) )) && (parenthesized_expression "(piVar8[5] == 0xd)" ( (binary_expression "piVar8[5] == 0xd" (subscript_expression "piVar8[5]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }" { (if_statement "if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" if (parenthesized_expression "(piVar8[4] != *(int *)(puVar11 + 0x534f4))" ( (binary_expression "piVar8[4] != *(int *)(puVar11 + 0x534f4)" (subscript_expression "piVar8[4]" identifier [ number_literal ]) != (pointer_expression "*(int *)(puVar11 + 0x534f4)" * (cast_expression "(int *)(puVar11 + 0x534f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534f4)" ( (binary_expression "puVar11 + 0x534f4" identifier + number_literal) ))))) )) (compound_statement "{\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" ( (pointer_expression "**(code **)(puVar11 + 0x53f78)" * (pointer_expression "*(code **)(puVar11 + 0x53f78)" * (cast_expression "(code **)(puVar11 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53f78)" ( (binary_expression "puVar11 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6cb0" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "iVar3 = piVar8[9];" (assignment_expression "iVar3 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "piVar8[9] = iVar3 + 1;" (assignment_expression "piVar8[9] = iVar3 + 1" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);" (assignment_expression "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4)" identifier = (call_expression "(**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4)" (parenthesized_expression "(**(code **)(puVar11 + 0x53354))" ( (pointer_expression "**(code **)(puVar11 + 0x53354)" * (pointer_expression "*(code **)(puVar11 + 0x53354)" * (cast_expression "(code **)(puVar11 + 0x53354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53354)" ( (binary_expression "puVar11 + 0x53354" identifier + number_literal) ))))) )) (argument_list "(piVar8[10],iVar3 + 1,4)" ( (subscript_expression "piVar8[10]" identifier [ number_literal ]) , (binary_expression "iVar3 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar8[10] = iVar3;" (assignment_expression "piVar8[10] = iVar3" (subscript_expression "piVar8[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = piVar8[9];" (assignment_expression "iVar10 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);" (assignment_expression "uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0)" identifier = (call_expression "(**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0)" (parenthesized_expression "(**(code **)(puVar11 + 0x53350))" ( (pointer_expression "**(code **)(puVar11 + 0x53350)" * (pointer_expression "*(code **)(puVar11 + 0x53350)" * (cast_expression "(code **)(puVar11 + 0x53350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53350)" ( (binary_expression "puVar11 + 0x53350" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x53348) + 0x3ed0)" ( (binary_expression "*(int *)(puVar11 + 0x53348) + 0x3ed0" (pointer_expression "*(int *)(puVar11 + 0x53348)" * (cast_expression "(int *)(puVar11 + 0x53348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53348)" ( (binary_expression "puVar11 + 0x53348" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;" (assignment_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13" (pointer_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" * (cast_expression "(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (binary_expression "iVar3 + (iVar10 + 0x3fffffff) * 4" identifier + (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);" (assignment_expression "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4)" identifier = (call_expression "(**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4)" (parenthesized_expression "(**(code **)(puVar11 + 0x53354))" ( (pointer_expression "**(code **)(puVar11 + 0x53354)" * (pointer_expression "*(code **)(puVar11 + 0x53354)" * (cast_expression "(code **)(puVar11 + 0x53354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53354)" ( (binary_expression "puVar11 + 0x53354" identifier + number_literal) ))))) )) (argument_list "(piVar8[0xc],piVar8[9],4)" ( (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) , (subscript_expression "piVar8[9]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar8[0xc] = iVar3;" (assignment_expression "piVar8[0xc] = iVar3" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = piVar8[9];" (assignment_expression "iVar10 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "(**(code **)(puVar11 + 0x534f0))(auStack_e4,5);" (call_expression "(**(code **)(puVar11 + 0x534f0))(auStack_e4,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x534f0))" ( (pointer_expression "**(code **)(puVar11 + 0x534f0)" * (pointer_expression "*(code **)(puVar11 + 0x534f0)" * (cast_expression "(code **)(puVar11 + 0x534f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x534f0)" ( (binary_expression "puVar11 + 0x534f0" identifier + number_literal) ))))) )) (argument_list "(auStack_e4,5)" ( identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];" (assignment_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0]" (pointer_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" * (cast_expression "(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + (iVar10 + 0x3fffffff) * 4)" ( (binary_expression "iVar3 + (iVar10 + 0x3fffffff) * 4" identifier + (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" ( (binary_expression "iVar10 + 0x3fffffff" identifier + number_literal) )) * number_literal)) )))) = (subscript_expression "auStack_e4[0]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(iVar1 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x10)" identifier = (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 < 1) goto LAB_000ce0a8;" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000ce0a8;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != iVar3)" ( (binary_expression "iVar10 != iVar3" identifier != identifier) )) ;) (expression_statement "puVar4 = *(undefined4 **)(iVar1 + 0x18);" (assignment_expression "puVar4 = *(undefined4 **)(iVar1 + 0x18)" identifier = (pointer_expression "*(undefined4 **)(iVar1 + 0x18)" * (cast_expression "(undefined4 **)(iVar1 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);" do (compound_statement "{\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      }" { (expression_statement "piVar8 = (int *)*puVar4;" (assignment_expression "piVar8 = (int *)*puVar4" identifier = (cast_expression "(int *)*puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) ;) (if_statement "if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }" if (parenthesized_expression "((*piVar8 == 1) && (piVar8[5] == 0x12))" ( (binary_expression "(*piVar8 == 1) && (piVar8[5] == 0x12)" (parenthesized_expression "(*piVar8 == 1)" ( (binary_expression "*piVar8 == 1" (pointer_expression "*piVar8" * identifier) == number_literal) )) && (parenthesized_expression "(piVar8[5] == 0x12)" ( (binary_expression "piVar8[5] == 0x12" (subscript_expression "piVar8[5]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }" { (if_statement "if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" if (parenthesized_expression "(piVar8[4] != *(int *)(puVar11 + 0x53518))" ( (binary_expression "piVar8[4] != *(int *)(puVar11 + 0x53518)" (subscript_expression "piVar8[4]" identifier [ number_literal ]) != (pointer_expression "*(int *)(puVar11 + 0x53518)" * (cast_expression "(int *)(puVar11 + 0x53518)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x53518)" ( (binary_expression "puVar11 + 0x53518" identifier + number_literal) ))))) )) (compound_statement "{\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" ( (pointer_expression "**(code **)(puVar11 + 0x53f78)" * (pointer_expression "*(code **)(puVar11 + 0x53f78)" * (cast_expression "(code **)(puVar11 + 0x53f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53f78)" ( (binary_expression "puVar11 + 0x53f78" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c80" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return piVar6;" return identifier ;) })) (expression_statement "(**(code **)(puVar11 + 0x53304))(piVar8[1]);" (call_expression "(**(code **)(puVar11 + 0x53304))(piVar8[1])" (parenthesized_expression "(**(code **)(puVar11 + 0x53304))" ( (pointer_expression "**(code **)(puVar11 + 0x53304)" * (pointer_expression "*(code **)(puVar11 + 0x53304)" * (cast_expression "(code **)(puVar11 + 0x53304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53304)" ( (binary_expression "puVar11 + 0x53304" identifier + number_literal) ))))) )) (argument_list "(piVar8[1])" ( (subscript_expression "piVar8[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54)" identifier = (call_expression "(**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54)" (parenthesized_expression "(**(code **)(puVar11 + 0x53350))" ( (pointer_expression "**(code **)(puVar11 + 0x53350)" * (pointer_expression "*(code **)(puVar11 + 0x53350)" * (cast_expression "(code **)(puVar11 + 0x53350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53350)" ( (binary_expression "puVar11 + 0x53350" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6c54)" ( (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c54" (pointer_expression "*(int *)(puVar11 + 0x534e0)" * (cast_expression "(int *)(puVar11 + 0x534e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x534e0)" ( (binary_expression "puVar11 + 0x534e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[1] = iVar1;" (assignment_expression "piVar8[1] = iVar1" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 < iVar3)" ( (binary_expression "iVar1 < iVar3" identifier < identifier) )) ;) })) }) (else_clause "else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" else (compound_statement "{\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" { (expression_statement "piVar8 = (int *)0x1;" (assignment_expression "piVar8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;" if (parenthesized_expression "(piVar9 != (int *)&DAT_00000004)" ( (binary_expression "piVar9 != (int *)&DAT_00000004" identifier != (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) )) (goto_statement "goto LAB_000ce0c8;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000ce0a8:\n  iVar10 = 7;" statement_identifier : (expression_statement "iVar10 = 7;" (assignment_expression "iVar10 = 7" identifier = number_literal) ;)) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar11 + 0x53e58))();" (call_expression "(**(code **)(puVar11 + 0x53e58))()" (parenthesized_expression "(**(code **)(puVar11 + 0x53e58))" ( (pointer_expression "**(code **)(puVar11 + 0x53e58)" * (pointer_expression "*(code **)(puVar11 + 0x53e58)" * (cast_expression "(code **)(puVar11 + 0x53e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x53e58)" ( (binary_expression "puVar11 + 0x53e58" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar8 = piVar5;" (assignment_expression "piVar8 = piVar5" identifier = identifier) ;) (expression_statement "piVar7 = piVar6;" (assignment_expression "piVar7 = piVar6" identifier = identifier) ;) (labeled_statement "LAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" statement_identifier : (if_statement "if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" if (parenthesized_expression "(piStack_dc != (int *)**(int **)(puVar11 + 0x54654))" ( (binary_expression "piStack_dc != (int *)**(int **)(puVar11 + 0x54654)" identifier != (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar11 + 0x54654)" * (pointer_expression "*(int **)(puVar11 + 0x54654)" * (cast_expression "(int **)(puVar11 + 0x54654)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x54654)" ( (binary_expression "puVar11 + 0x54654" identifier + number_literal) ))))))) )) (compound_statement "{\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" { (expression_statement "pcVar12 = *(code **)(puVar11 + 0x542ec);" (assignment_expression "pcVar12 = *(code **)(puVar11 + 0x542ec)" identifier = (pointer_expression "*(code **)(puVar11 + 0x542ec)" * (cast_expression "(code **)(puVar11 + 0x542ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x542ec)" ( (binary_expression "puVar11 + 0x542ec" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*piVar8 = iVar3;" (assignment_expression "*piVar8 = iVar3" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8[1] = iVar10;" (assignment_expression "piVar8[1] = iVar10" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[0x14] = (int)piVar7;" (assignment_expression "piVar8[0x14] = (int)piVar7" (subscript_expression "piVar8[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6c00" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xc] = iVar1;" (assignment_expression "piVar8[0xc] = iVar1" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6be8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xd] = iVar1;" (assignment_expression "piVar8[0xd] = iVar1" (subscript_expression "piVar8[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bd4" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xe] = iVar1;" (assignment_expression "piVar8[0xe] = iVar1" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bc8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0xf] = iVar1;" (assignment_expression "piVar8[0xf] = iVar1" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bb8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x10] = iVar1;" (assignment_expression "piVar8[0x10] = iVar1" (subscript_expression "piVar8[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6ba0" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x11] = iVar1;" (assignment_expression "piVar8[0x11] = iVar1" (subscript_expression "piVar8[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6b8c" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x12] = iVar1;" (assignment_expression "piVar8[0x12] = iVar1" (subscript_expression "piVar8[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" identifier = (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x541b8)" * (pointer_expression "*(code **)(pcVar12 + 0x541b8)" * (cast_expression "(code **)(pcVar12 + 0x541b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x541b8)" ( (binary_expression "pcVar12 + 0x541b8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6b78" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" * (cast_expression "(int *)(pcVar12 + 0x531b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x531b0)" ( (binary_expression "pcVar12 + 0x531b0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar8[0x13] = iVar1;" (assignment_expression "piVar8[0x13] = iVar1" (subscript_expression "piVar8[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8)" identifier = (cast_expression "(int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar12 + 0x53b2c))(piVar8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x53b2c))" ( (pointer_expression "**(code **)(pcVar12 + 0x53b2c)" * (pointer_expression "*(code **)(pcVar12 + 0x53b2c)" * (cast_expression "(code **)(pcVar12 + 0x53b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x53b2c)" ( (binary_expression "pcVar12 + 0x53b2c" identifier + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))))) ;) (return_statement "return piVar6;" return identifier ;) }))) (return_statement "return (int *)**(int **)(puVar11 + 0x54654);" return (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar11 + 0x54654)" * (pointer_expression "*(int **)(puVar11 + 0x54654)" * (cast_expression "(int **)(puVar11 + 0x54654)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x54654)" ( (binary_expression "puVar11 + 0x54654" identifier + number_literal) )))))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;)) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (return_statement return IDENT ;) }))) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })))
(function_definition "int * agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}" (primitive_type "int") (pointer_declarator "* agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" (* "*") (function_declarator "agent_query(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" (identifier "agent_query") (parameter_list "(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")")))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  int unaff_s2;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined4 uVar13;\n  undefined4 auStack_e4 [2];\n  int *piStack_dc;\n  int *piStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  int iStack_c8;\n  int *piStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined2 local_9c;\n  undefined1 auStack_9a [110];\n  int *local_2c;\n  \n  local_2c = *(int **)PTR___stack_chk_guard_00122654;\n  piVar6 = param_2;\n  piVar8 = param_3;\n  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);\n  if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }\n  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }\n  uVar13 = 0xcdffc;\n  piVar5 = local_2c;\n  puVar11 = PTR___stack_chk_fail_001222ec;\n  (*(code *)PTR___stack_chk_fail_001222ec)();\n  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);\n  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;\n  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);\n  piStack_d4 = piVar8;\n  piStack_d0 = param_2;\n  iStack_cc = unaff_s2;\n  iStack_c8 = param_1;\n  piStack_c4 = param_4;\n  piStack_c0 = param_3;\n  uStack_bc = uVar13;\n  iVar1 = (**(code **)(puVar11 + 0x534cc))();\n  if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }\n  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;\n  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;\n  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;\n  if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }\nLAB_000ce0a8:\n  iVar10 = 7;\n  iVar3 = 7;\n  (**(code **)(puVar11 + 0x53e58))();\n  piVar8 = piVar5;\n  piVar7 = piVar6;\nLAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }\n  return (int *)**(int **)(puVar11 + 0x54654);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int unaff_s2;" (primitive_type "int") (identifier "unaff_s2") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "code *pcVar12;" (type_identifier "code") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "undefined4 auStack_e4 [2];" (type_identifier "undefined4") (array_declarator "auStack_e4 [2]" (identifier "auStack_e4") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int *piStack_dc;" (primitive_type "int") (pointer_declarator "*piStack_dc" (* "*") (identifier "piStack_dc")) (; ";")) (declaration "int *piStack_d4;" (primitive_type "int") (pointer_declarator "*piStack_d4" (* "*") (identifier "piStack_d4")) (; ";")) (declaration "int *piStack_d0;" (primitive_type "int") (pointer_declarator "*piStack_d0" (* "*") (identifier "piStack_d0")) (; ";")) (declaration "int iStack_cc;" (primitive_type "int") (identifier "iStack_cc") (; ";")) (declaration "int iStack_c8;" (primitive_type "int") (identifier "iStack_c8") (; ";")) (declaration "int *piStack_c4;" (primitive_type "int") (pointer_declarator "*piStack_c4" (* "*") (identifier "piStack_c4")) (; ";")) (declaration "int *piStack_c0;" (primitive_type "int") (pointer_declarator "*piStack_c0" (* "*") (identifier "piStack_c0")) (; ";")) (declaration "undefined4 uStack_bc;" (type_identifier "undefined4") (identifier "uStack_bc") (; ";")) (declaration "undefined2 local_9c;" (type_identifier "undefined2") (identifier "local_9c") (; ";")) (declaration "undefined1 auStack_9a [110];" (type_identifier "undefined1") (array_declarator "auStack_9a [110]" (identifier "auStack_9a") ([ "[") (number_literal "110") (] "]")) (; ";")) (declaration "int *local_2c;" (primitive_type "int") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_00122654;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_00122654" (identifier "local_2c") (= "=") (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_00122654" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_00122654")))) (; ";")) (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" (identifier "piVar6") (= "=") (identifier "param_2")) (; ";")) (expression_statement "piVar8 = param_3;" (assignment_expression "piVar8 = param_3" (identifier "piVar8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);" (assignment_expression "iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70)" (parenthesized_expression "(*(code *)PTR_getenv_001223c8)" (( "(") (pointer_expression "*(code *)PTR_getenv_001223c8" (* "*") (cast_expression "(code *)PTR_getenv_001223c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getenv_001223c8"))) () ")")) (argument_list "(PTR_DAT_001214e0 + -0x6d70)" (( "(") (binary_expression "PTR_DAT_001214e0 + -0x6d70" (identifier "PTR_DAT_001214e0") (+ "+") (number_literal "-0x6d70")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }\n  else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cdf24:\n    *param_3 = 0;\n    piVar9 = piVar8;\nLAB_000cdf28:\n    *param_4 = 0;\nLAB_000cdf30:\n    piVar8 = (int *)0x0;\n  }" ({ "{") (labeled_statement "LAB_000cdf24:\n    *param_3 = 0;" (statement_identifier "LAB_000cdf24") (: ":") (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "piVar9 = piVar8;" (assignment_expression "piVar9 = piVar8" (identifier "piVar9") (= "=") (identifier "piVar8")) (; ";")) (labeled_statement "LAB_000cdf28:\n    *param_4 = 0;" (statement_identifier "LAB_000cdf28") (: ":") (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_000cdf30:\n    piVar8 = (int *)0x0;" (statement_identifier "LAB_000cdf30") (: ":") (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" (identifier "piVar8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" (else "else") (compound_statement "{\n    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);\n    piVar8 = (int *)0x0;\n    if (0x6b < uVar2) goto LAB_000cdf24;\n    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);\n    if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }\n    cloexec(unaff_s2);\n    local_9c = 1;\n    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);\n    piVar9 = (int *)0x6e;\n    piVar6 = (int *)&local_9c;\n    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);\n    if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }\n    iVar1 = 0;\n    piVar8 = param_2;\n    if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }\n    piVar6 = (int *)0x1c;\n    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);\n    *piVar8 = unaff_s2;\n    piVar8[1] = (int)(piVar8 + 2);\n    piVar8[3] = 4;\n    piVar8[4] = 0;\n    piVar8[5] = param_5;\n    piVar8[6] = param_6;\n    if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }\n    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }\n    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);\n    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);\n    piVar6 = (int *)0x1;\n    uxsel_set(unaff_s2);\n  }" ({ "{") (expression_statement "uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_00122558)(iVar1)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_strlen_00122558)(iVar1)" (parenthesized_expression "(*(code *)PTR_strlen_00122558)" (( "(") (pointer_expression "*(code *)PTR_strlen_00122558" (* "*") (cast_expression "(code *)PTR_strlen_00122558" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00122558"))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" (identifier "piVar8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0x6b < uVar2) goto LAB_000cdf24;" (if "if") (parenthesized_expression "(0x6b < uVar2)" (( "(") (binary_expression "0x6b < uVar2" (number_literal "0x6b") (< "<") (identifier "uVar2")) () ")")) (goto_statement "goto LAB_000cdf24;" (goto "goto") (statement_identifier "LAB_000cdf24") (; ";"))) (expression_statement "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);" (assignment_expression "unaff_s2 = (*(code *)PTR_socket_00122720)(1,2)" (identifier "unaff_s2") (= "=") (call_expression "(*(code *)PTR_socket_00122720)(1,2)" (parenthesized_expression "(*(code *)PTR_socket_00122720)" (( "(") (pointer_expression "*(code *)PTR_socket_00122720" (* "*") (cast_expression "(code *)PTR_socket_00122720" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_socket_00122720"))) () ")")) (argument_list "(1,2)" (( "(") (number_literal "1") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (unaff_s2 < 0) {\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }" (if "if") (parenthesized_expression "(unaff_s2 < 0)" (( "(") (binary_expression "unaff_s2 < 0" (identifier "unaff_s2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);\n      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);\n      return piVar6;\n    }" ({ "{") (expression_statement "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);" (call_expression "(*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c)" (parenthesized_expression "(*(code *)PTR_perror_00122148)" (( "(") (pointer_expression "*(code *)PTR_perror_00122148" (* "*") (cast_expression "(code *)PTR_perror_00122148" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_perror_00122148"))) () ")")) (argument_list "(PTR_DAT_001214e0 + -0x6d4c)" (( "(") (binary_expression "PTR_DAT_001214e0 + -0x6d4c" (identifier "PTR_DAT_001214e0") (+ "+") (number_literal "-0x6d4c")) () ")"))) (; ";")) (expression_statement "piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);" (assignment_expression "piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1)" (identifier "piVar6") (= "=") (cast_expression "(int *)(*(code *)PTR_exit_001221c0)(1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_exit_001221c0)(1)" (parenthesized_expression "(*(code *)PTR_exit_001221c0)" (( "(") (pointer_expression "*(code *)PTR_exit_001221c0" (* "*") (cast_expression "(code *)PTR_exit_001221c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_exit_001221c0"))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))))) (; ";")) (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}"))) (expression_statement "cloexec(unaff_s2);" (call_expression "cloexec(unaff_s2)" (identifier "cloexec") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "local_9c = 1;" (assignment_expression "local_9c = 1" (identifier "local_9c") (= "=") (number_literal "1")) (; ";")) (expression_statement "(*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);" (call_expression "(*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c)" (parenthesized_expression "(*(code *)PTR___strcpy_chk_0012240c)" (( "(") (pointer_expression "*(code *)PTR___strcpy_chk_0012240c" (* "*") (cast_expression "(code *)PTR___strcpy_chk_0012240c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___strcpy_chk_0012240c"))) () ")")) (argument_list "(auStack_9a,iVar1,0x6c)" (( "(") (identifier "auStack_9a") (, ",") (identifier "iVar1") (, ",") (number_literal "0x6c") () ")"))) (; ";")) (expression_statement "piVar9 = (int *)0x6e;" (assignment_expression "piVar9 = (int *)0x6e" (identifier "piVar9") (= "=") (cast_expression "(int *)0x6e" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x6e"))) (; ";")) (expression_statement "piVar6 = (int *)&local_9c;" (assignment_expression "piVar6 = (int *)&local_9c" (identifier "piVar6") (= "=") (cast_expression "(int *)&local_9c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_9c" (& "&") (identifier "local_9c")))) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);" (assignment_expression "iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_connect_00122628)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_connect_00122628)" (( "(") (pointer_expression "*(code *)PTR_connect_00122628" (* "*") (cast_expression "(code *)PTR_connect_00122628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_connect_00122628"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (if_statement "if (iVar1 < 0) {\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }" (if "if") (parenthesized_expression "(iVar1 < 0)" (( "(") (binary_expression "iVar1 < 0" (identifier "iVar1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_close_00122078)(unaff_s2);\n      *param_3 = 0;\n      goto LAB_000cdf28;\n    }" ({ "{") (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" (( "(") (pointer_expression "*(code *)PTR_close_00122078" (* "*") (cast_expression "(code *)PTR_close_00122078" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_00122078"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000cdf28;" (goto "goto") (statement_identifier "LAB_000cdf28") (; ";")) (} "}"))) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" (identifier "piVar8") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (0 < (int)param_2) {\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }" (if "if") (parenthesized_expression "(0 < (int)param_2)" (( "(") (binary_expression "0 < (int)param_2" (number_literal "0") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (compound_statement "{\n      do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);\n    }" ({ "{") (do_statement "do {\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      } while (iVar1 < (int)param_2);" (do "do") (compound_statement "{\n        piVar6 = (int *)(param_1 + iVar1);\n        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);\n        iVar1 = iVar1 + iVar3;\n        if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }\n        piVar9 = (int *)((int)param_2 - iVar1);\n        piVar8 = piVar9;\n      }" ({ "{") (expression_statement "piVar6 = (int *)(param_1 + iVar1);" (assignment_expression "piVar6 = (int *)(param_1 + iVar1)" (identifier "piVar6") (= "=") (cast_expression "(int *)(param_1 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar1)" (( "(") (binary_expression "param_1 + iVar1" (identifier "param_1") (+ "+") (identifier "iVar1")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_write_00122570)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_write_00122570)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_write_00122570)" (( "(") (pointer_expression "*(code *)PTR_write_00122570" (* "*") (cast_expression "(code *)PTR_write_00122570" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_write_00122570"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (expression_statement "iVar1 = iVar1 + iVar3;" (assignment_expression "iVar1 = iVar1 + iVar3" (identifier "iVar1") (= "=") (binary_expression "iVar1 + iVar3" (identifier "iVar1") (+ "+") (identifier "iVar3"))) (; ";")) (if_statement "if (iVar3 < 1) {\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" (if "if") (parenthesized_expression "(iVar3 < 1)" (( "(") (binary_expression "iVar3 < 1" (identifier "iVar3") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          (*(code *)PTR_close_00122078)(unaff_s2);\n          goto LAB_000cdf24;\n        }" ({ "{") (expression_statement "(*(code *)PTR_close_00122078)(unaff_s2);" (call_expression "(*(code *)PTR_close_00122078)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_00122078)" (( "(") (pointer_expression "*(code *)PTR_close_00122078" (* "*") (cast_expression "(code *)PTR_close_00122078" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_00122078"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (goto_statement "goto LAB_000cdf24;" (goto "goto") (statement_identifier "LAB_000cdf24") (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)((int)param_2 - iVar1);" (assignment_expression "piVar9 = (int *)((int)param_2 - iVar1)" (identifier "piVar9") (= "=") (cast_expression "(int *)((int)param_2 - iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 - iVar1)" (( "(") (binary_expression "(int)param_2 - iVar1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (- "-") (identifier "iVar1")) () ")")))) (; ";")) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" (identifier "piVar8") (= "=") (identifier "piVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 < (int)param_2)" (( "(") (binary_expression "iVar1 < (int)param_2" (identifier "iVar1") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (; ";")) (} "}"))) (expression_statement "piVar6 = (int *)0x1c;" (assignment_expression "piVar6 = (int *)0x1c" (identifier "piVar6") (= "=") (cast_expression "(int *)0x1c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1c"))) (; ";")) (expression_statement "piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);" (assignment_expression "piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1)" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(code *)PTR_safemalloc_00121314)(1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_safemalloc_00121314)(1)" (parenthesized_expression "(*(code *)PTR_safemalloc_00121314)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_00121314" (* "*") (cast_expression "(code *)PTR_safemalloc_00121314" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_00121314"))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))))) (; ";")) (expression_statement "*piVar8 = unaff_s2;" (assignment_expression "*piVar8 = unaff_s2" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "piVar8[1] = (int)(piVar8 + 2);" (assignment_expression "piVar8[1] = (int)(piVar8 + 2)" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)(piVar8 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar8 + 2)" (( "(") (binary_expression "piVar8 + 2" (identifier "piVar8") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "piVar8[3] = 4;" (assignment_expression "piVar8[3] = 4" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar8[4] = 0;" (assignment_expression "piVar8[4] = 0" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[5] = param_5;" (assignment_expression "piVar8[5] = param_5" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar8[6] = param_6;" (assignment_expression "piVar8[6] = param_6" (subscript_expression "piVar8[6]" (identifier "piVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_6")) (; ";")) (if_statement "if (param_5 == 0) {\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      no_nonblock(unaff_s2);\n      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);\n      do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);\n      *param_3 = piVar8[1];\n      *param_4 = piVar8[4];\n      (*(code *)PTR_safefree_00121304)();\n      goto LAB_000cdf30;\n    }" ({ "{") (expression_statement "no_nonblock(unaff_s2);" (call_expression "no_nonblock(unaff_s2)" (identifier "no_nonblock") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);" (assignment_expression "param_2 = (int *)(PTR_LAB_00121d4c + -0x2668)" (identifier "param_2") (= "=") (cast_expression "(int *)(PTR_LAB_00121d4c + -0x2668)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00121d4c + -0x2668)" (( "(") (binary_expression "PTR_LAB_00121d4c + -0x2668" (identifier "PTR_LAB_00121d4c") (+ "+") (number_literal "-0x2668")) () ")")))) (; ";")) (do_statement "do {\n        iVar1 = FUN_000cd998(piVar8);\n      } while (iVar1 == 0);" (do "do") (compound_statement "{\n        iVar1 = FUN_000cd998(piVar8);\n      }" ({ "{") (expression_statement "iVar1 = FUN_000cd998(piVar8);" (assignment_expression "iVar1 = FUN_000cd998(piVar8)" (identifier "iVar1") (= "=") (call_expression "FUN_000cd998(piVar8)" (identifier "FUN_000cd998") (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "*param_3 = piVar8[1];" (assignment_expression "*param_3 = piVar8[1]" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*param_4 = piVar8[4];" (assignment_expression "*param_4 = piVar8[4]" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_00121304)();" (call_expression "(*(code *)PTR_safefree_00121304)()" (parenthesized_expression "(*(code *)PTR_safefree_00121304)" (( "(") (pointer_expression "*(code *)PTR_safefree_00121304" (* "*") (cast_expression "(code *)PTR_safefree_00121304" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_00121304"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000cdf30;" (goto "goto") (statement_identifier "LAB_000cdf30") (; ";")) (} "}"))) (if_statement "if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }" (if "if") (parenthesized_expression "(*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0)" (( "(") (binary_expression "*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0" (pointer_expression "*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (* "*") (cast_expression "(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (( "(") (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" (identifier "PTR_PTR_s_3des_cbc_001212d8") (+ "+") (number_literal "0x2f00")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);\n      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;\n    }" ({ "{") (expression_statement "uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);" (assignment_expression "uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" (identifier "uVar13") (= "=") (call_expression "(*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0)" (parenthesized_expression "(*(code *)PTR_newtree234_001213b4)" (( "(") (pointer_expression "*(code *)PTR_newtree234_001213b4" (* "*") (cast_expression "(code *)PTR_newtree234_001213b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_newtree234_001213b4"))) () ")")) (argument_list "(PTR_LAB_00121d4c + -0x26b0)" (( "(") (binary_expression "PTR_LAB_00121d4c + -0x26b0" (identifier "PTR_LAB_00121d4c") (+ "+") (number_literal "-0x26b0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;" (assignment_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13" (pointer_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (* "*") (cast_expression "(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (( "(") (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" (identifier "PTR_PTR_s_3des_cbc_001212d8") (+ "+") (number_literal "0x2f00")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);" (call_expression "(*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8)" (parenthesized_expression "(*(code *)PTR_add234_001213ac)" (( "(") (pointer_expression "*(code *)PTR_add234_001213ac" (* "*") (cast_expression "(code *)PTR_add234_001213ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add234_001213ac"))) () ")")) (argument_list "(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8)" (( "(") (pointer_expression "*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (* "*") (cast_expression "(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00)" (( "(") (binary_expression "PTR_PTR_s_3des_cbc_001212d8 + 0x2f00" (identifier "PTR_PTR_s_3des_cbc_001212d8") (+ "+") (number_literal "0x2f00")) () ")")))) (, ",") (identifier "piVar8") () ")"))) (; ";")) (expression_statement "piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);" (assignment_expression "piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c)" (identifier "piVar9") (= "=") (cast_expression "(int *)(PTR_LAB_00121d4c + -0x240c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00121d4c + -0x240c)" (( "(") (binary_expression "PTR_LAB_00121d4c + -0x240c" (identifier "PTR_LAB_00121d4c") (+ "+") (number_literal "-0x240c")) () ")")))) (; ";")) (expression_statement "piVar6 = (int *)0x1;" (assignment_expression "piVar6 = (int *)0x1" (identifier "piVar6") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uxsel_set(unaff_s2);" (call_expression "uxsel_set(unaff_s2)" (identifier "uxsel_set") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {\n    return piVar8;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int **)PTR___stack_chk_guard_00122654)" (( "(") (binary_expression "local_2c == *(int **)PTR___stack_chk_guard_00122654" (identifier "local_2c") (== "==") (pointer_expression "*(int **)PTR___stack_chk_guard_00122654" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_00122654" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_00122654")))) () ")")) (compound_statement "{\n    return piVar8;\n  }" ({ "{") (return_statement "return piVar8;" (return "return") (identifier "piVar8") (; ";")) (} "}"))) (expression_statement "uVar13 = 0xcdffc;" (assignment_expression "uVar13 = 0xcdffc" (identifier "uVar13") (= "=") (number_literal "0xcdffc")) (; ";")) (expression_statement "piVar5 = local_2c;" (assignment_expression "piVar5 = local_2c" (identifier "piVar5") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar11 = PTR___stack_chk_fail_001222ec;" (assignment_expression "puVar11 = PTR___stack_chk_fail_001222ec" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_fail_001222ec")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_001222ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_001222ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001222ec)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_001222ec" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_001222ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_001222ec"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piStack_dc = (int *)**(int **)(puVar11 + 0x54654);" (assignment_expression "piStack_dc = (int *)**(int **)(puVar11 + 0x54654)" (identifier "piStack_dc") (= "=") (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar11 + 0x54654)" (* "*") (pointer_expression "*(int **)(puVar11 + 0x54654)" (* "*") (cast_expression "(int **)(puVar11 + 0x54654)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x54654)" (( "(") (binary_expression "puVar11 + 0x54654" (identifier "puVar11") (+ "+") (number_literal "0x54654")) () ")"))))))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;" (assignment_expression "iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar11 + 0x53348) + 0x235c" (pointer_expression "*(int *)(puVar11 + 0x53348)" (* "*") (cast_expression "(int *)(puVar11 + 0x53348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x53348)" (( "(") (binary_expression "puVar11 + 0x53348" (identifier "puVar11") (+ "+") (number_literal "0x53348")) () ")")))) (+ "+") (number_literal "0x235c"))) (; ";")) (expression_statement "piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4)" (identifier "piVar7") (= "=") (cast_expression "(int *)(*(int *)(puVar11 + 0x53348) + 0x21f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x53348) + 0x21f4)" (( "(") (binary_expression "*(int *)(puVar11 + 0x53348) + 0x21f4" (pointer_expression "*(int *)(puVar11 + 0x53348)" (* "*") (cast_expression "(int *)(puVar11 + 0x53348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x53348)" (( "(") (binary_expression "puVar11 + 0x53348" (identifier "puVar11") (+ "+") (number_literal "0x53348")) () ")")))) (+ "+") (number_literal "0x21f4")) () ")")))) (; ";")) (expression_statement "piStack_d4 = piVar8;" (assignment_expression "piStack_d4 = piVar8" (identifier "piStack_d4") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piStack_d0 = param_2;" (assignment_expression "piStack_d0 = param_2" (identifier "piStack_d0") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iStack_cc = unaff_s2;" (assignment_expression "iStack_cc = unaff_s2" (identifier "iStack_cc") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "iStack_c8 = param_1;" (assignment_expression "iStack_c8 = param_1" (identifier "iStack_c8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piStack_c4 = param_4;" (assignment_expression "piStack_c4 = param_4" (identifier "piStack_c4") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piStack_c0 = param_3;" (assignment_expression "piStack_c0 = param_3" (identifier "piStack_c0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "uStack_bc = uVar13;" (assignment_expression "uStack_bc = uVar13" (identifier "uStack_bc") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x534cc))();" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x534cc))()" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar11 + 0x534cc))()" (parenthesized_expression "(**(code **)(puVar11 + 0x534cc))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x534cc)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x534cc)" (* "*") (cast_expression "(code **)(puVar11 + 0x534cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x534cc)" (( "(") (binary_expression "puVar11 + 0x534cc" (identifier "puVar11") (+ "+") (number_literal "0x534cc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x10) != 1) {\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x10) != 1)" (( "(") (binary_expression "*(int *)(iVar1 + 0x10) != 1" (pointer_expression "*(int *)(iVar1 + 0x10)" (* "*") (cast_expression "(int *)(iVar1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\nLAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);\n    return piVar6;\n  }" ({ "{") (labeled_statement "LAB_000ce100:\n    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);" (statement_identifier "LAB_000ce100") (: ":") (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar11 + 0x53f78))\n                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53f78)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53f78)" (* "*") (cast_expression "(code **)(puVar11 + 0x53f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53f78)" (( "(") (binary_expression "puVar11 + 0x53f78" (identifier "puVar11") (+ "+") (number_literal "0x53f78")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6cf0,\n                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,\n                               *(int *)(puVar11 + 0x534e0) + -0x6c20)" (( "(") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6cf0" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6cf0")) (, ",") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6d00")) (, ",") (number_literal "0x1f") (, ",") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6c20")) () ")"))))) (; ";"))) (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20" (identifier "iVar10") (= "=") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6c20"))) (; ";")) (if_statement "if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;" (if "if") (parenthesized_expression "(*(int *)**(int **)(iVar1 + 0x18) != 1)" (( "(") (binary_expression "*(int *)**(int **)(iVar1 + 0x18) != 1" (pointer_expression "*(int *)**(int **)(iVar1 + 0x18)" (* "*") (cast_expression "(int *)**(int **)(iVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(iVar1 + 0x18)" (* "*") (pointer_expression "*(int **)(iVar1 + 0x18)" (* "*") (cast_expression "(int **)(iVar1 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")"))))))) (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_000ce100;" (goto "goto") (statement_identifier "LAB_000ce100") (; ";"))) (expression_statement "((int *)**(int **)(iVar1 + 0x18))[10] = 0;" (assignment_expression "((int *)**(int **)(iVar1 + 0x18))[10] = 0" (subscript_expression "((int *)**(int **)(iVar1 + 0x18))[10]" (parenthesized_expression "((int *)**(int **)(iVar1 + 0x18))" (( "(") (cast_expression "(int *)**(int **)(iVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(iVar1 + 0x18)" (* "*") (pointer_expression "*(int **)(iVar1 + 0x18)" (* "*") (cast_expression "(int **)(iVar1 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))))) () ")")) ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar6 == (int *)0x0) {\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }\n  else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" (if "if") (parenthesized_expression "(piVar6 == (int *)0x0)" (( "(") (binary_expression "piVar6 == (int *)0x0" (identifier "piVar6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);\n    iVar3 = *(int *)(iVar1 + 0x10);\n    if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }\n  }" ({ "{") (expression_statement "iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar11 + 0x534cc))\n                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" (parenthesized_expression "(**(code **)(puVar11 + 0x534cc))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x534cc)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x534cc)" (* "*") (cast_expression "(code **)(puVar11 + 0x534cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x534cc)" (( "(") (binary_expression "puVar11 + 0x534cc" (identifier "puVar11") (+ "+") (number_literal "0x534cc")) () ")"))))) () ")")) (argument_list "(piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,\n                       *(int *)(puVar11 + 0x53348) + 0x33f0,0)" (( "(") (identifier "piVar5") (, ",") (binary_expression "*(int *)(puVar11 + 0x53348) + 0x33dc" (pointer_expression "*(int *)(puVar11 + 0x53348)" (* "*") (cast_expression "(int *)(puVar11 + 0x53348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x53348)" (( "(") (binary_expression "puVar11 + 0x53348" (identifier "puVar11") (+ "+") (number_literal "0x53348")) () ")")))) (+ "+") (number_literal "0x33dc")) (, ",") (binary_expression "*(int *)(puVar11 + 0x53348) + 0x33f0" (pointer_expression "*(int *)(puVar11 + 0x53348)" (* "*") (cast_expression "(int *)(puVar11 + 0x53348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x53348)" (( "(") (binary_expression "puVar11 + 0x53348" (identifier "puVar11") (+ "+") (number_literal "0x53348")) () ")")))) (+ "+") (number_literal "0x33f0")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar1 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x10)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar1 + 0x10)" (* "*") (cast_expression "(int *)(iVar1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (0 < iVar3) {\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar10 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);\n      puVar4 = *(undefined4 **)(iVar1 + 0x18);\n      iVar1 = 0;\n      do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);\n    }" ({ "{") (expression_statement "puVar4 = *(undefined4 **)(iVar1 + 0x18);" (assignment_expression "puVar4 = *(undefined4 **)(iVar1 + 0x18)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(iVar1 + 0x18)" (* "*") (cast_expression "(undefined4 **)(iVar1 + 0x18)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar10 != iVar3);" (do "do") (compound_statement "{\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }\n        iVar10 = iVar10 + 1;\n        puVar4 = puVar4 + 1;\n      }" ({ "{") (expression_statement "piVar8 = (int *)*puVar4;" (assignment_expression "piVar8 = (int *)*puVar4" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")))) (; ";")) (if_statement "if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }" (if "if") (parenthesized_expression "((*piVar8 == 2) && (piVar8[5] == 0xd))" (( "(") (binary_expression "(*piVar8 == 2) && (piVar8[5] == 0xd)" (parenthesized_expression "(*piVar8 == 2)" (( "(") (binary_expression "*piVar8 == 2" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(piVar8[5] == 0xd)" (( "(") (binary_expression "piVar8[5] == 0xd" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0xd")) () ")"))) () ")")) (compound_statement "{\n          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          iVar3 = piVar8[9];\n          piVar8[9] = iVar3 + 1;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);\n          piVar8[10] = iVar3;\n          iVar10 = piVar8[9];\n          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;\n          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);\n          piVar8[0xc] = iVar3;\n          iVar10 = piVar8[9];\n          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);\n          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];\n          iVar3 = *(int *)(iVar1 + 0x10);\n          if (iVar3 < 1) goto LAB_000ce0a8;\n          break;\n        }" ({ "{") (if_statement "if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" (if "if") (parenthesized_expression "(piVar8[4] != *(int *)(puVar11 + 0x534f4))" (( "(") (binary_expression "piVar8[4] != *(int *)(puVar11 + 0x534f4)" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (!= "!=") (pointer_expression "*(int *)(puVar11 + 0x534f4)" (* "*") (cast_expression "(int *)(puVar11 + 0x534f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534f4)" (( "(") (binary_expression "puVar11 + 0x534f4" (identifier "puVar11") (+ "+") (number_literal "0x534f4")) () ")"))))) () ")")) (compound_statement "{\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" ({ "{") (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53f78)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53f78)" (* "*") (cast_expression "(code **)(puVar11 + 0x53f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53f78)" (( "(") (binary_expression "puVar11 + 0x53f78" (identifier "puVar11") (+ "+") (number_literal "0x53f78")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6cb0,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (( "(") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6cb0" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6cb0")) (, ",") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6d00")) (, ",") (number_literal "0x2d") (, ",") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6c20")) () ")"))))) (; ";")) (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}"))) (expression_statement "iVar3 = piVar8[9];" (assignment_expression "iVar3 = piVar8[9]" (identifier "iVar3") (= "=") (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "piVar8[9] = iVar3 + 1;" (assignment_expression "piVar8[9] = iVar3 + 1" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);" (assignment_expression "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4)" (parenthesized_expression "(**(code **)(puVar11 + 0x53354))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53354)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53354)" (* "*") (cast_expression "(code **)(puVar11 + 0x53354)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53354)" (( "(") (binary_expression "puVar11 + 0x53354" (identifier "puVar11") (+ "+") (number_literal "0x53354")) () ")"))))) () ")")) (argument_list "(piVar8[10],iVar3 + 1,4)" (( "(") (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (, ",") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "piVar8[10] = iVar3;" (assignment_expression "piVar8[10] = iVar3" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar10 = piVar8[9];" (assignment_expression "iVar10 = piVar8[9]" (identifier "iVar10") (= "=") (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);" (assignment_expression "uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0)" (parenthesized_expression "(**(code **)(puVar11 + 0x53350))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53350)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53350)" (* "*") (cast_expression "(code **)(puVar11 + 0x53350)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53350)" (( "(") (binary_expression "puVar11 + 0x53350" (identifier "puVar11") (+ "+") (number_literal "0x53350")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x53348) + 0x3ed0)" (( "(") (binary_expression "*(int *)(puVar11 + 0x53348) + 0x3ed0" (pointer_expression "*(int *)(puVar11 + 0x53348)" (* "*") (cast_expression "(int *)(puVar11 + 0x53348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x53348)" (( "(") (binary_expression "puVar11 + 0x53348" (identifier "puVar11") (+ "+") (number_literal "0x53348")) () ")")))) (+ "+") (number_literal "0x3ed0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;" (assignment_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13" (pointer_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" (* "*") (cast_expression "(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + (iVar10 + 0x3fffffff) * 4)" (( "(") (binary_expression "iVar3 + (iVar10 + 0x3fffffff) * 4" (identifier "iVar3") (+ "+") (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" (( "(") (binary_expression "iVar10 + 0x3fffffff" (identifier "iVar10") (+ "+") (number_literal "0x3fffffff")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);" (assignment_expression "iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4)" (parenthesized_expression "(**(code **)(puVar11 + 0x53354))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53354)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53354)" (* "*") (cast_expression "(code **)(puVar11 + 0x53354)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53354)" (( "(") (binary_expression "puVar11 + 0x53354" (identifier "puVar11") (+ "+") (number_literal "0x53354")) () ")"))))) () ")")) (argument_list "(piVar8[0xc],piVar8[9],4)" (( "(") (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]")) (, ",") (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "piVar8[0xc] = iVar3;" (assignment_expression "piVar8[0xc] = iVar3" (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar10 = piVar8[9];" (assignment_expression "iVar10 = piVar8[9]" (identifier "iVar10") (= "=") (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x534f0))(auStack_e4,5);" (call_expression "(**(code **)(puVar11 + 0x534f0))(auStack_e4,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x534f0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x534f0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x534f0)" (* "*") (cast_expression "(code **)(puVar11 + 0x534f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x534f0)" (( "(") (binary_expression "puVar11 + 0x534f0" (identifier "puVar11") (+ "+") (number_literal "0x534f0")) () ")"))))) () ")")) (argument_list "(auStack_e4,5)" (( "(") (identifier "auStack_e4") (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];" (assignment_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0]" (pointer_expression "*(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" (* "*") (cast_expression "(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + (iVar10 + 0x3fffffff) * 4)" (( "(") (binary_expression "iVar3 + (iVar10 + 0x3fffffff) * 4" (identifier "iVar3") (+ "+") (binary_expression "(iVar10 + 0x3fffffff) * 4" (parenthesized_expression "(iVar10 + 0x3fffffff)" (( "(") (binary_expression "iVar10 + 0x3fffffff" (identifier "iVar10") (+ "+") (number_literal "0x3fffffff")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (subscript_expression "auStack_e4[0]" (identifier "auStack_e4") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar1 + 0x10);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x10)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar1 + 0x10)" (* "*") (cast_expression "(int *)(iVar1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (iVar3 < 1) goto LAB_000ce0a8;" (if "if") (parenthesized_expression "(iVar3 < 1)" (( "(") (binary_expression "iVar3 < 1" (identifier "iVar3") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000ce0a8;" (goto "goto") (statement_identifier "LAB_000ce0a8") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" (identifier "puVar4") (= "=") (binary_expression "puVar4 + 1" (identifier "puVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != iVar3)" (( "(") (binary_expression "iVar10 != iVar3" (identifier "iVar10") (!= "!=") (identifier "iVar3")) () ")")) (; ";")) (expression_statement "puVar4 = *(undefined4 **)(iVar1 + 0x18);" (assignment_expression "puVar4 = *(undefined4 **)(iVar1 + 0x18)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(iVar1 + 0x18)" (* "*") (cast_expression "(undefined4 **)(iVar1 + 0x18)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      } while (iVar1 < iVar3);" (do "do") (compound_statement "{\n        piVar8 = (int *)*puVar4;\n        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }\n        iVar1 = iVar1 + 1;\n        puVar4 = puVar4 + 1;\n      }" ({ "{") (expression_statement "piVar8 = (int *)*puVar4;" (assignment_expression "piVar8 = (int *)*puVar4" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")))) (; ";")) (if_statement "if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }" (if "if") (parenthesized_expression "((*piVar8 == 1) && (piVar8[5] == 0x12))" (( "(") (binary_expression "(*piVar8 == 1) && (piVar8[5] == 0x12)" (parenthesized_expression "(*piVar8 == 1)" (( "(") (binary_expression "*piVar8 == 1" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (== "==") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "(piVar8[5] == 0x12)" (( "(") (binary_expression "piVar8[5] == 0x12" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0x12")) () ")"))) () ")")) (compound_statement "{\n          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }\n          (**(code **)(puVar11 + 0x53304))(piVar8[1]);\n          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);\n          piVar8[1] = iVar1;\n          break;\n        }" ({ "{") (if_statement "if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" (if "if") (parenthesized_expression "(piVar8[4] != *(int *)(puVar11 + 0x53518))" (( "(") (binary_expression "piVar8[4] != *(int *)(puVar11 + 0x53518)" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (!= "!=") (pointer_expression "*(int *)(puVar11 + 0x53518)" (* "*") (cast_expression "(int *)(puVar11 + 0x53518)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x53518)" (( "(") (binary_expression "puVar11 + 0x53518" (identifier "puVar11") (+ "+") (number_literal "0x53518")) () ")"))))) () ")")) (compound_statement "{\n            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);\n            return piVar6;\n          }" ({ "{") (expression_statement "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar11 + 0x53f78))\n                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (parenthesized_expression "(**(code **)(puVar11 + 0x53f78))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53f78)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53f78)" (* "*") (cast_expression "(code **)(puVar11 + 0x53f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53f78)" (( "(") (binary_expression "puVar11 + 0x53f78" (identifier "puVar11") (+ "+") (number_literal "0x53f78")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6c80,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,\n                                       *(int *)(puVar11 + 0x534e0) + -0x6c20)" (( "(") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c80" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6c80")) (, ",") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6d00" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6d00")) (, ",") (number_literal "0x3e") (, ",") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c20" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6c20")) () ")"))))) (; ";")) (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar11 + 0x53304))(piVar8[1]);" (call_expression "(**(code **)(puVar11 + 0x53304))(piVar8[1])" (parenthesized_expression "(**(code **)(puVar11 + 0x53304))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53304)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53304)" (* "*") (cast_expression "(code **)(puVar11 + 0x53304)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53304)" (( "(") (binary_expression "puVar11 + 0x53304" (identifier "puVar11") (+ "+") (number_literal "0x53304")) () ")"))))) () ")")) (argument_list "(piVar8[1])" (( "(") (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54)" (parenthesized_expression "(**(code **)(puVar11 + 0x53350))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53350)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53350)" (* "*") (cast_expression "(code **)(puVar11 + 0x53350)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53350)" (( "(") (binary_expression "puVar11 + 0x53350" (identifier "puVar11") (+ "+") (number_literal "0x53350")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x534e0) + -0x6c54)" (( "(") (binary_expression "*(int *)(puVar11 + 0x534e0) + -0x6c54" (pointer_expression "*(int *)(puVar11 + 0x534e0)" (* "*") (cast_expression "(int *)(puVar11 + 0x534e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x534e0)" (( "(") (binary_expression "puVar11 + 0x534e0" (identifier "puVar11") (+ "+") (number_literal "0x534e0")) () ")")))) (+ "+") (number_literal "-0x6c54")) () ")")))) (; ";")) (expression_statement "piVar8[1] = iVar1;" (assignment_expression "piVar8[1] = iVar1" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" (identifier "puVar4") (= "=") (binary_expression "puVar4 + 1" (identifier "puVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 < iVar3)" (( "(") (binary_expression "iVar1 < iVar3" (identifier "iVar1") (< "<") (identifier "iVar3")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" (else "else") (compound_statement "{\n    piVar8 = (int *)0x1;\n    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;\n  }" ({ "{") (expression_statement "piVar8 = (int *)0x1;" (assignment_expression "piVar8 = (int *)0x1" (identifier "piVar8") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;" (if "if") (parenthesized_expression "(piVar9 != (int *)&DAT_00000004)" (( "(") (binary_expression "piVar9 != (int *)&DAT_00000004" (identifier "piVar9") (!= "!=") (cast_expression "(int *)&DAT_00000004" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) () ")")) (goto_statement "goto LAB_000ce0c8;" (goto "goto") (statement_identifier "LAB_000ce0c8") (; ";"))) (} "}")))) (labeled_statement "LAB_000ce0a8:\n  iVar10 = 7;" (statement_identifier "LAB_000ce0a8") (: ":") (expression_statement "iVar10 = 7;" (assignment_expression "iVar10 = 7" (identifier "iVar10") (= "=") (number_literal "7")) (; ";"))) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x53e58))();" (call_expression "(**(code **)(puVar11 + 0x53e58))()" (parenthesized_expression "(**(code **)(puVar11 + 0x53e58))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x53e58)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x53e58)" (* "*") (cast_expression "(code **)(puVar11 + 0x53e58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x53e58)" (( "(") (binary_expression "puVar11 + 0x53e58" (identifier "puVar11") (+ "+") (number_literal "0x53e58")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = piVar5;" (assignment_expression "piVar8 = piVar5" (identifier "piVar8") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piVar7 = piVar6;" (assignment_expression "piVar7 = piVar6" (identifier "piVar7") (= "=") (identifier "piVar6")) (; ";")) (labeled_statement "LAB_000ce0c8:\n  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" (statement_identifier "LAB_000ce0c8") (: ":") (if_statement "if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" (if "if") (parenthesized_expression "(piStack_dc != (int *)**(int **)(puVar11 + 0x54654))" (( "(") (binary_expression "piStack_dc != (int *)**(int **)(puVar11 + 0x54654)" (identifier "piStack_dc") (!= "!=") (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar11 + 0x54654)" (* "*") (pointer_expression "*(int **)(puVar11 + 0x54654)" (* "*") (cast_expression "(int **)(puVar11 + 0x54654)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x54654)" (( "(") (binary_expression "puVar11 + 0x54654" (identifier "puVar11") (+ "+") (number_literal "0x54654")) () ")"))))))) () ")")) (compound_statement "{\n    pcVar12 = *(code **)(puVar11 + 0x542ec);\n    (*pcVar12)();\n    *piVar8 = iVar3;\n    piVar8[1] = iVar10;\n    piVar8[0x14] = (int)piVar7;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);\n    piVar8[0xc] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);\n    piVar8[0xd] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);\n    piVar8[0xe] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);\n    piVar8[0xf] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);\n    piVar8[0x10] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);\n    piVar8[0x11] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);\n    piVar8[0x12] = iVar1;\n    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);\n    piVar8[0x13] = iVar1;\n    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);\n    return piVar6;\n  }" ({ "{") (expression_statement "pcVar12 = *(code **)(puVar11 + 0x542ec);" (assignment_expression "pcVar12 = *(code **)(puVar11 + 0x542ec)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(puVar11 + 0x542ec)" (* "*") (cast_expression "(code **)(puVar11 + 0x542ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x542ec)" (( "(") (binary_expression "puVar11 + 0x542ec" (identifier "puVar11") (+ "+") (number_literal "0x542ec")) () ")"))))) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*piVar8 = iVar3;" (assignment_expression "*piVar8 = iVar3" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar8[1] = iVar10;" (assignment_expression "piVar8[1] = iVar10" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "piVar8[0x14] = (int)piVar7;" (assignment_expression "piVar8[0x14] = (int)piVar7" (subscript_expression "piVar8[0x14]" (identifier "piVar8") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6c00" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6c00")) () ")")))) (; ";")) (expression_statement "piVar8[0xc] = iVar1;" (assignment_expression "piVar8[0xc] = iVar1" (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6be8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6be8")) () ")")))) (; ";")) (expression_statement "piVar8[0xd] = iVar1;" (assignment_expression "piVar8[0xd] = iVar1" (subscript_expression "piVar8[0xd]" (identifier "piVar8") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bd4" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6bd4")) () ")")))) (; ";")) (expression_statement "piVar8[0xe] = iVar1;" (assignment_expression "piVar8[0xe] = iVar1" (subscript_expression "piVar8[0xe]" (identifier "piVar8") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bc8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6bc8")) () ")")))) (; ";")) (expression_statement "piVar8[0xf] = iVar1;" (assignment_expression "piVar8[0xf] = iVar1" (subscript_expression "piVar8[0xf]" (identifier "piVar8") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6bb8" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6bb8")) () ")")))) (; ";")) (expression_statement "piVar8[0x10] = iVar1;" (assignment_expression "piVar8[0x10] = iVar1" (subscript_expression "piVar8[0x10]" (identifier "piVar8") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6ba0" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6ba0")) () ")")))) (; ";")) (expression_statement "piVar8[0x11] = iVar1;" (assignment_expression "piVar8[0x11] = iVar1" (subscript_expression "piVar8[0x11]" (identifier "piVar8") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6b8c" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6b8c")) () ")")))) (; ";")) (expression_statement "piVar8[0x12] = iVar1;" (assignment_expression "piVar8[0x12] = iVar1" (subscript_expression "piVar8[0x12]" (identifier "piVar8") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);" (assignment_expression "iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" (parenthesized_expression "(**(code **)(pcVar12 + 0x541b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x541b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x541b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x541b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x541b8)" (( "(") (binary_expression "pcVar12 + 0x541b8" (identifier "pcVar12") (+ "+") (number_literal "0x541b8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x531b0) + -0x6b78" (pointer_expression "*(int *)(pcVar12 + 0x531b0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x531b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x531b0)" (( "(") (binary_expression "pcVar12 + 0x531b0" (identifier "pcVar12") (+ "+") (number_literal "0x531b0")) () ")")))) (+ "+") (number_literal "-0x6b78")) () ")")))) (; ";")) (expression_statement "piVar8[0x13] = iVar1;" (assignment_expression "piVar8[0x13] = iVar1" (subscript_expression "piVar8[0x13]" (identifier "piVar8") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar12 + 0x53b2c))(piVar8)" (parenthesized_expression "(**(code **)(pcVar12 + 0x53b2c))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x53b2c)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x53b2c)" (* "*") (cast_expression "(code **)(pcVar12 + 0x53b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x53b2c)" (( "(") (binary_expression "pcVar12 + 0x53b2c" (identifier "pcVar12") (+ "+") (number_literal "0x53b2c")) () ")"))))) () ")")) (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))))) (; ";")) (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}")))) (return_statement "return (int *)**(int **)(puVar11 + 0x54654);" (return "return") (cast_expression "(int *)**(int **)(puVar11 + 0x54654)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar11 + 0x54654)" (* "*") (pointer_expression "*(int **)(puVar11 + 0x54654)" (* "*") (cast_expression "(int **)(puVar11 + 0x54654)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x54654)" (( "(") (binary_expression "puVar11 + 0x54654" (identifier "puVar11") (+ "+") (number_literal "0x54654")) () ")")))))) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))))) (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (return_statement (identifier))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))

int * MASKED(int param_1,int *param_2,int *param_3,int *param_4,int param_5,int param_6)

{
  int iVar1;
  uint uVar2;
  int iVar3;
  undefined4 *puVar4;
  int *piVar5;
  int *piVar6;
  int *piVar7;
  int *piVar8;
  int *piVar9;
  int iVar10;
  int unaff_s2;
  undefined *puVar11;
  code *pcVar12;
  undefined4 uVar13;
  undefined4 auStack_e4 [2];
  int *piStack_dc;
  int *piStack_d4;
  int *piStack_d0;
  int iStack_cc;
  int iStack_c8;
  int *piStack_c4;
  int *piStack_c0;
  undefined4 uStack_bc;
  undefined2 local_9c;
  undefined1 auStack_9a [110];
  int *local_2c;
  
  local_2c = *(int **)PTR___stack_chk_guard_00122654;
  piVar6 = param_2;
  piVar8 = param_3;
  iVar1 = (*(code *)PTR_getenv_001223c8)(PTR_DAT_001214e0 + -0x6d70);
  if (iVar1 == 0) {
LAB_000cdf24:
    *param_3 = 0;
    piVar9 = piVar8;
LAB_000cdf28:
    *param_4 = 0;
LAB_000cdf30:
    piVar8 = (int *)0x0;
  }
  else {
    uVar2 = (*(code *)PTR_strlen_00122558)(iVar1);
    piVar8 = (int *)0x0;
    if (0x6b < uVar2) goto LAB_000cdf24;
    unaff_s2 = (*(code *)PTR_socket_00122720)(1,2);
    if (unaff_s2 < 0) {
      (*(code *)PTR_perror_00122148)(PTR_DAT_001214e0 + -0x6d4c);
      piVar6 = (int *)(*(code *)PTR_exit_001221c0)(1);
      return piVar6;
    }
    cloexec(unaff_s2);
    local_9c = 1;
    (*(code *)PTR___strcpy_chk_0012240c)(auStack_9a,iVar1,0x6c);
    piVar9 = (int *)0x6e;
    piVar6 = (int *)&local_9c;
    iVar1 = (*(code *)PTR_connect_00122628)(unaff_s2);
    if (iVar1 < 0) {
      (*(code *)PTR_close_00122078)(unaff_s2);
      *param_3 = 0;
      goto LAB_000cdf28;
    }
    iVar1 = 0;
    piVar8 = param_2;
    if (0 < (int)param_2) {
      do {
        piVar6 = (int *)(param_1 + iVar1);
        iVar3 = (*(code *)PTR_write_00122570)(unaff_s2);
        iVar1 = iVar1 + iVar3;
        if (iVar3 < 1) {
          (*(code *)PTR_close_00122078)(unaff_s2);
          goto LAB_000cdf24;
        }
        piVar9 = (int *)((int)param_2 - iVar1);
        piVar8 = piVar9;
      } while (iVar1 < (int)param_2);
    }
    piVar6 = (int *)0x1c;
    piVar8 = (int *)(*(code *)PTR_safemalloc_00121314)(1);
    *piVar8 = unaff_s2;
    piVar8[1] = (int)(piVar8 + 2);
    piVar8[3] = 4;
    piVar8[4] = 0;
    piVar8[5] = param_5;
    piVar8[6] = param_6;
    if (param_5 == 0) {
      no_nonblock(unaff_s2);
      param_2 = (int *)(PTR_LAB_00121d4c + -0x2668);
      do {
        iVar1 = FUN_000cd998(piVar8);
      } while (iVar1 == 0);
      *param_3 = piVar8[1];
      *param_4 = piVar8[4];
      (*(code *)PTR_safefree_00121304)();
      goto LAB_000cdf30;
    }
    if (*(int *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) == 0) {
      uVar13 = (*(code *)PTR_newtree234_001213b4)(PTR_LAB_00121d4c + -0x26b0);
      *(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00) = uVar13;
    }
    (*(code *)PTR_add234_001213ac)(*(undefined4 *)(PTR_PTR_s_3des_cbc_001212d8 + 0x2f00),piVar8);
    piVar9 = (int *)(PTR_LAB_00121d4c + -0x240c);
    piVar6 = (int *)0x1;
    uxsel_set(unaff_s2);
  }
  if (local_2c == *(int **)PTR___stack_chk_guard_00122654) {
    return piVar8;
  }
  uVar13 = 0xcdffc;
  piVar5 = local_2c;
  puVar11 = PTR___stack_chk_fail_001222ec;
  (*(code *)PTR___stack_chk_fail_001222ec)();
  piStack_dc = (int *)**(int **)(puVar11 + 0x54654);
  iVar3 = *(int *)(puVar11 + 0x53348) + 0x235c;
  piVar7 = (int *)(*(int *)(puVar11 + 0x53348) + 0x21f4);
  piStack_d4 = piVar8;
  piStack_d0 = param_2;
  iStack_cc = unaff_s2;
  iStack_c8 = param_1;
  piStack_c4 = param_4;
  piStack_c0 = param_3;
  uStack_bc = uVar13;
  iVar1 = (**(code **)(puVar11 + 0x534cc))();
  if (*(int *)(iVar1 + 0x10) != 1) {
LAB_000ce100:
    piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))
                              (*(int *)(puVar11 + 0x534e0) + -0x6cf0,
                               *(int *)(puVar11 + 0x534e0) + -0x6d00,0x1f,
                               *(int *)(puVar11 + 0x534e0) + -0x6c20);
    return piVar6;
  }
  iVar10 = *(int *)(puVar11 + 0x534e0) + -0x6c20;
  if (*(int *)**(int **)(iVar1 + 0x18) != 1) goto LAB_000ce100;
  ((int *)**(int **)(iVar1 + 0x18))[10] = 0;
  if (piVar6 == (int *)0x0) {
    iVar1 = (**(code **)(puVar11 + 0x534cc))
                      (piVar5,*(int *)(puVar11 + 0x53348) + 0x33dc,
                       *(int *)(puVar11 + 0x53348) + 0x33f0,0);
    iVar3 = *(int *)(iVar1 + 0x10);
    if (0 < iVar3) {
      puVar4 = *(undefined4 **)(iVar1 + 0x18);
      iVar10 = 0;
      do {
        piVar8 = (int *)*puVar4;
        if ((*piVar8 == 2) && (piVar8[5] == 0xd)) {
          if (piVar8[4] != *(int *)(puVar11 + 0x534f4)) {
            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))
                                      (*(int *)(puVar11 + 0x534e0) + -0x6cb0,
                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x2d,
                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);
            return piVar6;
          }
          iVar3 = piVar8[9];
          piVar8[9] = iVar3 + 1;
          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[10],iVar3 + 1,4);
          piVar8[10] = iVar3;
          iVar10 = piVar8[9];
          uVar13 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x53348) + 0x3ed0);
          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = uVar13;
          iVar3 = (**(code **)(puVar11 + 0x53354))(piVar8[0xc],piVar8[9],4);
          piVar8[0xc] = iVar3;
          iVar10 = piVar8[9];
          (**(code **)(puVar11 + 0x534f0))(auStack_e4,5);
          *(undefined4 *)(iVar3 + (iVar10 + 0x3fffffff) * 4) = auStack_e4[0];
          iVar3 = *(int *)(iVar1 + 0x10);
          if (iVar3 < 1) goto LAB_000ce0a8;
          break;
        }
        iVar10 = iVar10 + 1;
        puVar4 = puVar4 + 1;
      } while (iVar10 != iVar3);
      puVar4 = *(undefined4 **)(iVar1 + 0x18);
      iVar1 = 0;
      do {
        piVar8 = (int *)*puVar4;
        if ((*piVar8 == 1) && (piVar8[5] == 0x12)) {
          if (piVar8[4] != *(int *)(puVar11 + 0x53518)) {
            piVar6 = (int *)(**(code **)(puVar11 + 0x53f78))
                                      (*(int *)(puVar11 + 0x534e0) + -0x6c80,
                                       *(int *)(puVar11 + 0x534e0) + -0x6d00,0x3e,
                                       *(int *)(puVar11 + 0x534e0) + -0x6c20);
            return piVar6;
          }
          (**(code **)(puVar11 + 0x53304))(piVar8[1]);
          iVar1 = (**(code **)(puVar11 + 0x53350))(*(int *)(puVar11 + 0x534e0) + -0x6c54);
          piVar8[1] = iVar1;
          break;
        }
        iVar1 = iVar1 + 1;
        puVar4 = puVar4 + 1;
      } while (iVar1 < iVar3);
    }
  }
  else {
    piVar8 = (int *)0x1;
    if (piVar9 != (int *)&DAT_00000004) goto LAB_000ce0c8;
  }
LAB_000ce0a8:
  iVar10 = 7;
  iVar3 = 7;
  (**(code **)(puVar11 + 0x53e58))();
  piVar8 = piVar5;
  piVar7 = piVar6;
LAB_000ce0c8:
  if (piStack_dc != (int *)**(int **)(puVar11 + 0x54654)) {
    pcVar12 = *(code **)(puVar11 + 0x542ec);
    (*pcVar12)();
    *piVar8 = iVar3;
    piVar8[1] = iVar10;
    piVar8[0x14] = (int)piVar7;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6c00);
    piVar8[0xc] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6be8);
    piVar8[0xd] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bd4);
    piVar8[0xe] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bc8);
    piVar8[0xf] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6bb8);
    piVar8[0x10] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6ba0);
    piVar8[0x11] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b8c);
    piVar8[0x12] = iVar1;
    iVar1 = (**(code **)(pcVar12 + 0x541b8))(piVar7,*(int *)(pcVar12 + 0x531b0) + -0x6b78);
    piVar8[0x13] = iVar1;
    piVar6 = (int *)(**(code **)(pcVar12 + 0x53b2c))(piVar8);
    return piVar6;
  }
  return (int *)**(int **)(puVar11 + 0x54654);
}

