
int ltc_ecc_projective_dbl_point(ecc_point *P,ecc_point *R,void *modulus,void *mp)

{
  void *pvVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  ulong uVar5;
  long in_FS_OFFSET;
  void *t1;
  void *t2;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (P == (ecc_point *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);
  }
  if (R == (ecc_point *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);
  }
  if (modulus == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);
  }
  if (mp != (void *)0x0) {
    iVar3 = ltc_init_multi(&t1,&t2,0);
    puVar2 = PTR_ltc_mp_001ddec0;
    if (iVar3 == 0) {
      if (((P == R) ||
          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&
            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&
           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&
         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&
            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&
           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&
          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {
        pvVar1 = R->z;
        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);
        if (((((iVar3 == 0) &&
              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&
             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&
            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&
              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&
             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||
              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&
           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&
             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&
              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&
            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||
              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&
             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&
              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {
          pvVar1 = R->y;
          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);
          if ((((iVar3 == 0) &&
               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||
                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&
                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&
              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&
                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&
                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&
               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||
                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||
                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&
             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&
                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&
                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&
                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&
                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&
                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&
                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||
                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&
               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&
                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||
                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&
                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&
                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||
                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&
                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&
                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&
                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&
              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {
            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);
          }
        }
      }
      ltc_deinit_multi(t1,t2,0);
    }
    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail();
    }
    return iVar3;
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);
}



int ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)

{
  undefined8 uVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  ulong uVar5;
  long in_FS_OFFSET;
  undefined8 local_50;
  undefined8 local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == (undefined8 *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);
  }
  if (param_2 == (undefined8 *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);
  }
  if (param_3 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);
  }
  if (param_4 != 0) {
    iVar3 = ltc_init_multi(&local_50,&local_48,0);
    puVar2 = PTR_ltc_mp_001ddec0;
    if (iVar3 == 0) {
      if (((param_1 == param_2) ||
          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&
            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&
           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&
         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&
            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&
           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&
          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {
        uVar1 = param_2[2];
        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);
        if (((((iVar3 == 0) &&
              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))
             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&
            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&
              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&
             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||
              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&
           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&
             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&
              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&
            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||
              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&
             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&
              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))
           ) {
          uVar1 = param_2[1];
          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);
          if ((((iVar3 == 0) &&
               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||
                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))
                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&
              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&
                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&
                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&
               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||
                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||
                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))
             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&
                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),
                     iVar3 == 0)) &&
                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))
                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&
                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0
                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),
                               iVar3 == 0 &&
                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||
                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),
                                iVar3 == 0)))))))) &&
                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0
                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||
                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),
                          iVar3 == 0)) &&
                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),
                         iVar3 == 0)) &&
                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||
                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),
                         iVar3 == 0)))) &&
                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),
                        iVar3 == 0 &&
                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),
                         iVar3 == 0 &&
                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),
                         iVar3 == 0)))))))))) &&
                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {
            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);
          }
        }
      }
      ltc_deinit_multi(local_50,local_48,0);
    }
    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail();
    }
    return iVar3;
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x28
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x18],RAX
XOR EAX,EAX
TEST RDI,RDI
JZ 0x00180c4f
MOV RBP,RSI
TEST RSI,RSI
JZ 0x00180c37
MOV R14,RDX
TEST RDX,RDX
JZ 0x00180c1f
MOV R15,RCX
TEST RCX,RCX
JZ 0x00180c07
MOV R12,RDI
LEA RSI,[RSP + 0x10]
LEA RDI,[RSP + 0x8]
XOR EDX,EDX
XOR EAX,EAX
CALL 0x001135b0
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bc3
MOV R13,qword ptr [0x001ddec0]
CMP R12,RBP
JZ 0x0018074b
MOV RSI,qword ptr [RBP]
MOV RDI,qword ptr [R12]
CALL qword ptr [R13 + 0x30]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,qword ptr [RBP + 0x8]
MOV RDI,qword ptr [R12 + 0x8]
CALL qword ptr [R13 + 0x30]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,qword ptr [RBP + 0x10]
MOV RDI,qword ptr [R12 + 0x10]
CALL qword ptr [R13 + 0x30]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x10]
MOV RSI,qword ptr [RSP + 0x8]
CALL qword ptr [R13 + 0xd8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDX,R15
MOV RSI,R14
MOV RDI,qword ptr [RSP + 0x8]
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x10]
MOV RSI,qword ptr [RBP + 0x8]
MOV RDX,RDI
CALL qword ptr [R13 + 0xc8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x10]
MOV RDX,R15
MOV RSI,R14
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x10]
MOV RDX,RDI
MOV RSI,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x10]
MOV RSI,R14
CALL qword ptr [R13 + 0x58]
CMP EAX,-0x1
JZ 0x001807fe
MOV RDI,qword ptr [RBP + 0x10]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,qword ptr [RBP]
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
XOR ESI,ESI
MOV RDI,qword ptr [RSP + 0x10]
CALL qword ptr [R13 + 0x60]
CMP EAX,-0x1
JZ 0x00180be4
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,qword ptr [RBP]
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,R14
MOV RDI,qword ptr [RSP + 0x8]
CALL qword ptr [R13 + 0x58]
CMP EAX,-0x1
JZ 0x0018087b
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,qword ptr [RSP + 0x10]
MOV RDI,qword ptr [RSP + 0x8]
MOV RDX,RSI
CALL qword ptr [R13 + 0xc8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDX,R15
MOV RSI,R14
MOV RDI,qword ptr [RSP + 0x10]
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RSP + 0x10]
MOV RDX,qword ptr [RSP + 0x8]
MOV RSI,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,R14
MOV RDI,qword ptr [RSP + 0x8]
CALL qword ptr [R13 + 0x58]
CMP EAX,-0x1
JZ 0x00180900
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,qword ptr [RSP + 0x10]
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,R14
MOV RDI,qword ptr [RSP + 0x8]
CALL qword ptr [R13 + 0x58]
CMP EAX,-0x1
JZ 0x0018094b
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RDX,RDI
MOV RSI,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,R14
CALL qword ptr [R13 + 0x58]
ADD EAX,0x1
JZ 0x00180991
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,RDI
CALL qword ptr [R13 + 0xd8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RDX,R15
MOV RSI,R14
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,qword ptr [RSP + 0x10]
CALL qword ptr [R13 + 0xd8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDX,R15
MOV RSI,R14
MOV RDI,qword ptr [RSP + 0x10]
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RSP + 0x10]
CALL qword ptr [R13 + 0x50]
TEST EAX,EAX
JLE 0x00180a32
XOR ESI,ESI
MOV RDI,qword ptr [RSP + 0x10]
CALL qword ptr [R13 + 0x48]
TEST AL,0x1
JZ 0x00180a32
MOV RDI,qword ptr [RSP + 0x10]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RSP + 0x10]
MOV RSI,RDI
CALL qword ptr [R13 + 0xe8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,qword ptr [RBP]
MOV RDX,RDI
CALL qword ptr [R13 + 0xc8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RDX,R15
MOV RSI,R14
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RSI,qword ptr [RBP]
MOV RDI,qword ptr [RSP + 0x8]
CALL qword ptr [R13 + 0xd8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDX,R15
MOV RSI,R14
MOV RDI,qword ptr [RBP]
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP]
MOV RSI,qword ptr [RBP + 0x8]
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
XOR ESI,ESI
MOV RDI,qword ptr [RBP]
CALL qword ptr [R13 + 0x60]
ADD EAX,0x1
JZ 0x00180ca7
MOV RDI,qword ptr [RBP]
MOV RSI,qword ptr [RBP + 0x8]
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
XOR ESI,ESI
MOV RDI,qword ptr [RBP]
CALL qword ptr [R13 + 0x60]
ADD EAX,0x1
JZ 0x00180c87
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,qword ptr [RBP]
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
XOR ESI,ESI
MOV RDI,qword ptr [RBP + 0x8]
CALL qword ptr [R13 + 0x60]
ADD EAX,0x1
JZ 0x00180c67
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,qword ptr [RSP + 0x8]
MOV RDX,RDI
CALL qword ptr [R13 + 0xc8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RDX,R15
MOV RSI,R14
CALL qword ptr [R13 + 0x130]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,qword ptr [RSP + 0x10]
MOV RDX,RDI
CALL qword ptr [R13 + 0xb8]
MOV EBX,EAX
TEST EAX,EAX
JNZ 0x00180bb0
XOR ESI,ESI
MOV RDI,qword ptr [RBP + 0x8]
CALL qword ptr [R13 + 0x60]
ADD EAX,0x1
JNZ 0x00180bb0
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
NOP
MOV RSI,qword ptr [RSP + 0x10]
MOV RDI,qword ptr [RSP + 0x8]
XOR EDX,EDX
XOR EAX,EAX
CALL 0x00113330
MOV RCX,qword ptr [RSP + 0x18]
XOR RCX,qword ptr FS:[0x28]
MOV EAX,EBX
JNZ 0x00180c02
ADD RSP,0x28
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RDI,qword ptr [RSP + 0x10]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JZ 0x00180831
JMP 0x00180bb0
CALL 0x00113880
MOV EDX,0x28
LEA RSI,[0x1c6db0]
LEA RDI,[0x1c6cfc]
CALL 0x00114270
MOV EDX,0x27
LEA RSI,[0x1c6db0]
LEA RDI,[0x1c6cec]
CALL 0x00114270
MOV EDX,0x26
LEA RSI,[0x1c6db0]
LEA RDI,[0x1c6d75]
CALL 0x00114270
MOV EDX,0x25
LEA RSI,[0x1c6db0]
LEA RDI,[0x1c6fef]
CALL 0x00114270
MOV RDI,qword ptr [RBP + 0x8]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JZ 0x00180b44
JMP 0x00180bb0
MOV RDI,qword ptr [RBP]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JZ 0x00180b15
JMP 0x00180bb0
MOV RDI,qword ptr [RBP]
MOV RSI,R14
MOV RDX,RDI
CALL qword ptr [R13 + 0xa8]
MOV EBX,EAX
TEST EAX,EAX
JZ 0x00180ae6
JMP 0x00180bb0
(translation_unit "int ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}\n\n" (function_definition "int ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" primitive_type (function_declarator "ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)" identifier (parameter_list "(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" if (parenthesized_expression "(param_1 == (undefined8 *)0x0)" ( (binary_expression "param_1 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" { comment (expression_statement "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);" (call_expression "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" identifier (argument_list "("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" ( (string_literal ""P != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_2 == (undefined8 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" if (parenthesized_expression "(param_2 == (undefined8 *)0x0)" ( (binary_expression "param_2 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" { comment (expression_statement "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);" (call_expression "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" identifier (argument_list "("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" ( (string_literal ""R != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" { comment (expression_statement "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);" (call_expression "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" identifier (argument_list "("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" ( (string_literal ""modulus != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" { (expression_statement "iVar3 = ltc_init_multi(&local_50,&local_48,0);" (assignment_expression "iVar3 = ltc_init_multi(&local_50,&local_48,0)" identifier = (call_expression "ltc_init_multi(&local_50,&local_48,0)" identifier (argument_list "(&local_50,&local_48,0)" ( (pointer_expression "&local_50" & identifier) , (pointer_expression "&local_48" & identifier) , number_literal )))) ;) (expression_statement "puVar2 = PTR_ltc_mp_001ddec0;" (assignment_expression "puVar2 = PTR_ltc_mp_001ddec0" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }" { (if_statement "if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }" if (parenthesized_expression "(((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0))))" ( (binary_expression "((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))" (parenthesized_expression "((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0))))" ( (binary_expression "(param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))" (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) || (parenthesized_expression "(((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2)" identifier = (call_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2)" (parenthesized_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))" ( (pointer_expression "**(code **)(PTR_ltc_mp_001ddec0 + 0x30)" * (pointer_expression "*(code **)(PTR_ltc_mp_001ddec0 + 0x30)" * (cast_expression "(code **)(PTR_ltc_mp_001ddec0 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_ltc_mp_001ddec0 + 0x30)" ( (binary_expression "PTR_ltc_mp_001ddec0 + 0x30" identifier + number_literal) ))))) )) (argument_list "(*param_1,*param_2)" ( (pointer_expression "*param_1" * identifier) , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0x30))(param_1[1],param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" ( (pointer_expression "**(code **)(puVar2 + 0x30)" * (pointer_expression "*(code **)(puVar2 + 0x30)" * (cast_expression "(code **)(puVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(param_1[1],param_2[1])" ( (subscript_expression "param_1[1]" identifier [ number_literal ]) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2])" identifier = (call_expression "(**(code **)(puVar2 + 0x30))(param_1[2],param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" ( (pointer_expression "**(code **)(puVar2 + 0x30)" * (pointer_expression "*(code **)(puVar2 + 0x30)" * (cast_expression "(code **)(puVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(param_1[2],param_2[2])" ( (subscript_expression "param_1[2]" identifier [ number_literal ]) , (subscript_expression "param_2[2]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[2],local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(param_2[2],local_50)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(local_50,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2])" identifier = (call_expression "(**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_2[1],param_2[2])" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_2[2]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_3,param_4)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }" { (expression_statement "uVar1 = param_2[2];" (assignment_expression "uVar1 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(uVar1,uVar1,uVar1)" ( identifier , identifier , identifier )))) ;) (if_statement "if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }" if (parenthesized_expression "(((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           )" ( (binary_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))" (parenthesized_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))" ( (binary_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (parenthesized_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0))" ( (binary_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))" ( (binary_expression "(iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(param_2[2],param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_3)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_3,param_2[2])" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[2]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(*param_2,local_50,local_48)" ( (pointer_expression "*param_2" * identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(local_48,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(local_48,0)" ( identifier , number_literal )))) , (binary_expression "iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,local_48)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_50,*param_2,local_50)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 200))(local_50,local_48,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(local_50,local_48,local_48)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_48,local_48,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_50,local_48,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) ))) )) ))) )) (compound_statement "{\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }" { (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(uVar1,uVar1,uVar1)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }" if (parenthesized_expression "((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1))))" ( (binary_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))" (parenthesized_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))" ( (binary_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))))" (parenthesized_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0))))" ( (binary_expression "(iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(param_2[1],param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_4)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[1],local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],local_48)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x50))(local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0x50))(local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0x50))" ( (pointer_expression "**(code **)(puVar2 + 0x50)" * (pointer_expression "*(code **)(puVar2 + 0x50)" * (cast_expression "(code **)(puVar2 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x50)" ( (binary_expression "puVar2 + 0x50" identifier + number_literal) ))))) )) (argument_list "(local_48)" ( identifier )))) , (binary_expression "iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (binary_expression "iVar3 < 1" identifier < number_literal) || (parenthesized_expression "(uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" ( (comma_expression "uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0" (assignment_expression "uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x48))(local_48,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x48))" ( (pointer_expression "**(code **)(puVar2 + 0x48)" * (pointer_expression "*(code **)(puVar2 + 0x48)" * (cast_expression "(code **)(puVar2 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x48)" ( (binary_expression "puVar2 + 0x48" identifier + number_literal) ))))) )) (argument_list "(local_48,0)" ( identifier , number_literal )))) , (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal)) )))) )) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,local_48)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) ))) )) && (parenthesized_expression "((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))" ( (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1))" ( (binary_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)" (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))))))" ( (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xe8))(local_48,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xe8))" ( (pointer_expression "**(code **)(puVar2 + 0xe8)" * (pointer_expression "*(code **)(puVar2 + 0xe8)" * (cast_expression "(code **)(puVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xe8)" ( (binary_expression "puVar2 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(local_48,local_48)" ( identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(param_2[1],*param_2,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_4)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        ))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(local_50,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(local_50,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_3,param_4)" ( (pointer_expression "*param_2" * identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_2[1],*param_2)" ( (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(*param_2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(*param_2,0)" ( (pointer_expression "*param_2" * identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_3,*param_2)" ( (pointer_expression "*param_2" * identifier) , identifier , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_2[1],*param_2)" ( (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" ( (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))" ( (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(*param_2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(*param_2,0)" ( (pointer_expression "*param_2" * identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_3,*param_2)" ( (pointer_expression "*param_2" * identifier) , identifier , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],*param_2,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(param_2[1],0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(param_2[1],local_50,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_4)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],local_48,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) )))) )) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)" ( (comma_expression "iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1" (assignment_expression "iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(param_2[1],0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal )))) , (binary_expression "iVar4 == -1" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }" { (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) ;) })) })) })) (expression_statement "ltc_deinit_multi(local_50,local_48,0);" (call_expression "ltc_deinit_multi(local_50,local_48,0)" identifier (argument_list "(local_50,local_48,0)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return iVar3;" return identifier ;) })) comment (expression_statement "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);" (call_expression "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" identifier (argument_list "("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" ( (string_literal ""mp != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "int ltc_ecc_projective_dbl_point(ecc_point *P,ecc_point *R,void *modulus,void *mp)\n\n{\n  void *pvVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  void *t1;\n  void *t2;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (P == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (R == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (modulus == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (mp != (void *)0x0) {\n    iVar3 = ltc_init_multi(&t1,&t2,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}\n\n" (function_definition "int ltc_ecc_projective_dbl_point(ecc_point *P,ecc_point *R,void *modulus,void *mp)\n\n{\n  void *pvVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  void *t1;\n  void *t2;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (P == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (R == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (modulus == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (mp != (void *)0x0) {\n    iVar3 = ltc_init_multi(&t1,&t2,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" primitive_type (function_declarator "ltc_ecc_projective_dbl_point(ecc_point *P,ecc_point *R,void *modulus,void *mp)" identifier (parameter_list "(ecc_point *P,ecc_point *R,void *modulus,void *mp)" ( (parameter_declaration "ecc_point *P" type_identifier (pointer_declarator "*P" * identifier)) , (parameter_declaration "ecc_point *R" type_identifier (pointer_declarator "*R" * identifier)) , (parameter_declaration "void *modulus" primitive_type (pointer_declarator "*modulus" * identifier)) , (parameter_declaration "void *mp" primitive_type (pointer_declarator "*mp" * identifier)) ))) (compound_statement "{\n  void *pvVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  void *t1;\n  void *t2;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (P == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (R == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (modulus == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (mp != (void *)0x0) {\n    iVar3 = ltc_init_multi(&t1,&t2,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "void *t1;" primitive_type (pointer_declarator "*t1" * identifier) ;) (declaration "void *t2;" primitive_type (pointer_declarator "*t2" * identifier) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (P == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" if (parenthesized_expression "(P == (ecc_point *)0x0)" ( (binary_expression "P == (ecc_point *)0x0" identifier == (cast_expression "(ecc_point *)0x0" ( (type_descriptor "ecc_point *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" { comment (expression_statement "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);" (call_expression "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" identifier (argument_list "("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" ( (string_literal ""P != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (R == (ecc_point *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" if (parenthesized_expression "(R == (ecc_point *)0x0)" ( (binary_expression "R == (ecc_point *)0x0" identifier == (cast_expression "(ecc_point *)0x0" ( (type_descriptor "ecc_point *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" { comment (expression_statement "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);" (call_expression "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" identifier (argument_list "("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" ( (string_literal ""R != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (modulus == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" if (parenthesized_expression "(modulus == (void *)0x0)" ( (binary_expression "modulus == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" { comment (expression_statement "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);" (call_expression "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" identifier (argument_list "("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" ( (string_literal ""modulus != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (mp != (void *)0x0) {\n    iVar3 = ltc_init_multi(&t1,&t2,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" if (parenthesized_expression "(mp != (void *)0x0)" ( (binary_expression "mp != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = ltc_init_multi(&t1,&t2,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" { (expression_statement "iVar3 = ltc_init_multi(&t1,&t2,0);" (assignment_expression "iVar3 = ltc_init_multi(&t1,&t2,0)" identifier = (call_expression "ltc_init_multi(&t1,&t2,0)" identifier (argument_list "(&t1,&t2,0)" ( (pointer_expression "&t1" & identifier) , (pointer_expression "&t2" & identifier) , number_literal )))) ;) (expression_statement "puVar2 = PTR_ltc_mp_001ddec0;" (assignment_expression "puVar2 = PTR_ltc_mp_001ddec0" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }\n      ltc_deinit_multi(t1,t2,0);\n    }" { (if_statement "if (((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))) {\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }" if (parenthesized_expression "(((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0))))" ( (binary_expression "((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))" (parenthesized_expression "((P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0))))" ( (binary_expression "(P == R) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))" (parenthesized_expression "(P == R)" ( (binary_expression "P == R" identifier == identifier) )) || (parenthesized_expression "(((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x)" identifier = (call_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(P->x,R->x)" (parenthesized_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))" ( (pointer_expression "**(code **)(PTR_ltc_mp_001ddec0 + 0x30)" * (pointer_expression "*(code **)(PTR_ltc_mp_001ddec0 + 0x30)" * (cast_expression "(code **)(PTR_ltc_mp_001ddec0 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_ltc_mp_001ddec0 + 0x30)" ( (binary_expression "PTR_ltc_mp_001ddec0 + 0x30" identifier + number_literal) ))))) )) (argument_list "(P->x,R->x)" ( (field_expression "P->x" identifier -> field_identifier) , (field_expression "R->x" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(P->y,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0x30))(P->y,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" ( (pointer_expression "**(code **)(puVar2 + 0x30)" * (pointer_expression "*(code **)(puVar2 + 0x30)" * (cast_expression "(code **)(puVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(P->y,R->y)" ( (field_expression "P->y" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(P->z,R->z)" identifier = (call_expression "(**(code **)(puVar2 + 0x30))(P->z,R->z)" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" ( (pointer_expression "**(code **)(puVar2 + 0x30)" * (pointer_expression "*(code **)(puVar2 + 0x30)" * (cast_expression "(code **)(puVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(P->z,R->z)" ( (field_expression "P->z" identifier -> field_identifier) , (field_expression "R->z" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(R->z,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(R->z,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(R->z,t1)" ( (field_expression "R->z" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(t1,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(t1,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(t1,modulus,mp)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(R->z,R->y,R->z)" identifier = (call_expression "(**(code **)(puVar2 + 200))(R->z,R->y,R->z)" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(R->z,R->y,R->z)" ( (field_expression "R->z" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) , (field_expression "R->z" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->z,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(R->z,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(R->z,modulus,mp)" ( (field_expression "R->z" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n        pvVar1 = R->z;\n        iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }\n      }" { (expression_statement "pvVar1 = R->z;" (assignment_expression "pvVar1 = R->z" identifier = (field_expression "R->z" identifier -> field_identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(pvVar1,pvVar1,pvVar1)" ( identifier , identifier , identifier )))) ;) (if_statement "if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))) {\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }" if (parenthesized_expression "(((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))))))))))" ( (binary_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))" (parenthesized_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))))))" ( (binary_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))" (parenthesized_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0))" ( (binary_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))) &&\n             (iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0))))" ( (binary_expression "(iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(R->z,modulus)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(R->z,modulus)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(R->z,modulus)" ( (field_expression "R->z" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->z,modulus,R->z)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->z,modulus,R->z)" ( (field_expression "R->z" identifier -> field_identifier) , identifier , (field_expression "R->z" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,t1,t2)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->x,t1,t2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->x,t1,t2)" ( (field_expression "R->x" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(t2,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(t2,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(t2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(t2,0)" ( identifier , number_literal )))) , (binary_expression "iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(t2,modulus,t2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(t2,modulus,t2)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t1,R->x,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(t1,R->x,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(t1,R->x,t1)" ( identifier , (field_expression "R->x" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(t1,modulus)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(t1,modulus)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(t1,modulus,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(t1,modulus,t1)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(t1,t2,t2)" identifier = (call_expression "(**(code **)(puVar2 + 200))(t1,t2,t2)" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(t1,t2,t2)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(t2,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(t2,modulus,mp)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t2,t2,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(t2,t2,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(t2,t2,t1)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(t1,modulus)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(t1,modulus)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(t1,modulus,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(t1,modulus,t1)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t1,t2,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(t1,t2,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(t1,t2,t1)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(t1,modulus)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(t1,modulus)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(t1,modulus)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(t1,modulus,t1)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(t1,modulus,t1)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(t1,modulus,t1)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) ))) )) ))) )) (compound_statement "{\n          pvVar1 = R->y;\n          iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }\n        }" { (expression_statement "pvVar1 = R->y;" (assignment_expression "pvVar1 = R->y" identifier = (field_expression "R->y" identifier -> field_identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(pvVar1,pvVar1,pvVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(pvVar1,pvVar1,pvVar1)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }" if (parenthesized_expression "((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1))))" ( (binary_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))) &&\n             ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))" (parenthesized_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0))))))" ( (binary_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))" (parenthesized_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0))))" ( (binary_expression "(iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(R->y,modulus)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(R->y,modulus)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus)" ( (field_expression "R->y" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->y,modulus,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(R->y,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(R->y,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(R->y,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus,mp)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(R->y,t2)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(R->y,t2)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(R->y,t2)" ( (field_expression "R->y" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(t2,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(t2,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(t2,modulus,mp)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x50))(t2), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x50))(t2)" identifier = (call_expression "(**(code **)(puVar2 + 0x50))(t2)" (parenthesized_expression "(**(code **)(puVar2 + 0x50))" ( (pointer_expression "**(code **)(puVar2 + 0x50)" * (pointer_expression "*(code **)(puVar2 + 0x50)" * (cast_expression "(code **)(puVar2 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x50)" ( (binary_expression "puVar2 + 0x50" identifier + number_literal) ))))) )) (argument_list "(t2)" ( identifier )))) , (binary_expression "iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)" (binary_expression "iVar3 < 1" identifier < number_literal) || (parenthesized_expression "(uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0)" ( (comma_expression "uVar5 = (**(code **)(puVar2 + 0x48))(t2,0), (uVar5 & 1) == 0" (assignment_expression "uVar5 = (**(code **)(puVar2 + 0x48))(t2,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x48))(t2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x48))" ( (pointer_expression "**(code **)(puVar2 + 0x48)" * (pointer_expression "*(code **)(puVar2 + 0x48)" * (cast_expression "(code **)(puVar2 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x48)" ( (binary_expression "puVar2 + 0x48" identifier + number_literal) ))))) )) (argument_list "(t2,0)" ( identifier , number_literal )))) , (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal)) )))) )) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(t2,modulus,t2)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(t2,modulus,t2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(t2,modulus,t2)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) ))) )) && (parenthesized_expression "((((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)))" ( (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1))" ( (binary_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))) &&\n              (iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)" (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0))))))))))" ( (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))) &&\n               ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0))))))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)) &&\n                (((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)) &&\n                 (iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(t2,t2)" identifier = (call_expression "(**(code **)(puVar2 + 0xe8))(t2,t2)" (parenthesized_expression "(**(code **)(puVar2 + 0xe8))" ( (pointer_expression "**(code **)(puVar2 + 0xe8)" * (pointer_expression "*(code **)(puVar2 + 0xe8)" * (cast_expression "(code **)(puVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xe8)" ( (binary_expression "puVar2 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(t2,t2)" ( identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(R->y,R->x,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 200))(R->y,R->x,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(R->y,R->x,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , (field_expression "R->x" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(R->y,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus,mp)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)) &&\n                 ((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x), iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(t1,R->x)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(t1,R->x)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(t1,R->x)" ( identifier , (field_expression "R->x" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0 &&\n                  (iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->x,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(R->x,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(R->x,modulus,mp)" ( (field_expression "R->x" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->x,R->y,R->x)" ( (field_expression "R->x" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) , (field_expression "R->x" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(R->x,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(R->x,0)" ( (field_expression "R->x" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(R->x,modulus,R->x)" ( (field_expression "R->x" identifier -> field_identifier) , identifier , (field_expression "R->x" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0))))))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x), iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->x,R->y,R->x)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->x,R->y,R->x)" ( (field_expression "R->x" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) , (field_expression "R->x" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0 &&\n                (((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))))" ( (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0))))))" ( (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))) &&\n                 ((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)) &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0), iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(R->x,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(R->x,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(R->x,0)" ( (field_expression "R->x" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                    (iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(R->x,modulus,R->x)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(R->x,modulus,R->x)" ( (field_expression "R->x" identifier -> field_identifier) , identifier , (field_expression "R->x" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->y,R->x,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->y,R->x,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , (field_expression "R->x" identifier -> field_identifier) , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(R->y,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(R->y,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(R->y,0)" ( (field_expression "R->y" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                   (iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y), iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(R->y,t1,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 200))(R->y,t1,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(R->y,t1,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0 &&\n                  ((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp), iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(R->y,modulus,mp)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(R->y,modulus,mp)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus,mp)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                   (iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(R->y,t2,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(R->y,t2,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(R->y,t2,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , (field_expression "R->y" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) )))) )) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1)" ( (comma_expression "iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0), iVar4 == -1" (assignment_expression "iVar4 = (**(code **)(puVar2 + 0x60))(R->y,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(R->y,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(R->y,0)" ( (field_expression "R->y" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar4 == -1" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n            iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);\n          }" { (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(R->y,modulus,R->y)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(R->y,modulus,R->y)" ( (field_expression "R->y" identifier -> field_identifier) , identifier , (field_expression "R->y" identifier -> field_identifier) )))) ;) })) })) })) (expression_statement "ltc_deinit_multi(t1,t2,0);" (call_expression "ltc_deinit_multi(t1,t2,0)" identifier (argument_list "(t1,t2,0)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return iVar3;" return identifier ;) })) comment (expression_statement "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);" (call_expression "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" identifier (argument_list "("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" ( (string_literal ""mp != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "int ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    \n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}\n\n" (function_definition "int ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    \n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" primitive_type (function_declarator "ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)" identifier (parameter_list "(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    \n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" if (parenthesized_expression "(param_1 == (undefined8 *)0x0)" ( (binary_expression "param_1 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" { (expression_statement "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);" (call_expression "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" identifier (argument_list "("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" ( (string_literal ""P != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" if (parenthesized_expression "(param_2 == (undefined8 *)0x0)" ( (binary_expression "param_2 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" { (expression_statement "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);" (call_expression "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" identifier (argument_list "("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" ( (string_literal ""R != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" { (expression_statement "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);" (call_expression "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" identifier (argument_list "("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" ( (string_literal ""modulus != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" { (expression_statement "iVar3 = ltc_init_multi(&local_50,&local_48,0);" (assignment_expression "iVar3 = ltc_init_multi(&local_50,&local_48,0)" identifier = (call_expression "ltc_init_multi(&local_50,&local_48,0)" identifier (argument_list "(&local_50,&local_48,0)" ( (pointer_expression "&local_50" & identifier) , (pointer_expression "&local_48" & identifier) , number_literal )))) ;) (expression_statement "puVar2 = PTR_ltc_mp_001ddec0;" (assignment_expression "puVar2 = PTR_ltc_mp_001ddec0" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }" { (if_statement "if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }" if (parenthesized_expression "(((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0))))" ( (binary_expression "((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))" (parenthesized_expression "((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0))))" ( (binary_expression "(param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))" (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) || (parenthesized_expression "(((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2)" identifier = (call_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2)" (parenthesized_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))" ( (pointer_expression "**(code **)(PTR_ltc_mp_001ddec0 + 0x30)" * (pointer_expression "*(code **)(PTR_ltc_mp_001ddec0 + 0x30)" * (cast_expression "(code **)(PTR_ltc_mp_001ddec0 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_ltc_mp_001ddec0 + 0x30)" ( (binary_expression "PTR_ltc_mp_001ddec0 + 0x30" identifier + number_literal) ))))) )) (argument_list "(*param_1,*param_2)" ( (pointer_expression "*param_1" * identifier) , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0x30))(param_1[1],param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" ( (pointer_expression "**(code **)(puVar2 + 0x30)" * (pointer_expression "*(code **)(puVar2 + 0x30)" * (cast_expression "(code **)(puVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(param_1[1],param_2[1])" ( (subscript_expression "param_1[1]" identifier [ number_literal ]) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2])" identifier = (call_expression "(**(code **)(puVar2 + 0x30))(param_1[2],param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" ( (pointer_expression "**(code **)(puVar2 + 0x30)" * (pointer_expression "*(code **)(puVar2 + 0x30)" * (cast_expression "(code **)(puVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x30)" ( (binary_expression "puVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(param_1[2],param_2[2])" ( (subscript_expression "param_1[2]" identifier [ number_literal ]) , (subscript_expression "param_2[2]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[2],local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(param_2[2],local_50)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(local_50,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2])" identifier = (call_expression "(**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_2[1],param_2[2])" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_2[2]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_3,param_4)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }" { (expression_statement "uVar1 = param_2[2];" (assignment_expression "uVar1 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(uVar1,uVar1,uVar1)" ( identifier , identifier , identifier )))) ;) (if_statement "if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }" if (parenthesized_expression "(((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           )" ( (binary_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))" (parenthesized_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))" ( (binary_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (parenthesized_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0))" ( (binary_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))" ( (binary_expression "(iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(param_2[2],param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_3)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[2],param_3,param_2[2])" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[2]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(*param_2,local_50,local_48)" ( (pointer_expression "*param_2" * identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(local_48,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(local_48,0)" ( identifier , number_literal )))) , (binary_expression "iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,local_48)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_50,*param_2,local_50)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 200))(local_50,local_48,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(local_50,local_48,local_48)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_48,local_48,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_50,local_48,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3)" ( identifier , identifier )))) , (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(local_50,param_3,local_50)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) ))) )) ))) )) (compound_statement "{\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }" { (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(uVar1,uVar1,uVar1)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }" if (parenthesized_expression "((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1))))" ( (binary_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))" (parenthesized_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))" ( (binary_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))))" (parenthesized_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0))))" ( (binary_expression "(iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3)" identifier = (call_expression "(**(code **)(puVar2 + 0x58))(param_2[1],param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" ( (pointer_expression "**(code **)(puVar2 + 0x58)" * (pointer_expression "*(code **)(puVar2 + 0x58)" * (cast_expression "(code **)(puVar2 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x58)" ( (binary_expression "puVar2 + 0x58" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (binary_expression "iVar3 == -1" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) && (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))))" ( (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_4)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[1],local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],local_48)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x50))(local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0x50))(local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0x50))" ( (pointer_expression "**(code **)(puVar2 + 0x50)" * (pointer_expression "*(code **)(puVar2 + 0x50)" * (cast_expression "(code **)(puVar2 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x50)" ( (binary_expression "puVar2 + 0x50" identifier + number_literal) ))))) )) (argument_list "(local_48)" ( identifier )))) , (binary_expression "iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (binary_expression "iVar3 < 1" identifier < number_literal) || (parenthesized_expression "(uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" ( (comma_expression "uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0" (assignment_expression "uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x48))(local_48,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x48))" ( (pointer_expression "**(code **)(puVar2 + 0x48)" * (pointer_expression "*(code **)(puVar2 + 0x48)" * (cast_expression "(code **)(puVar2 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x48)" ( (binary_expression "puVar2 + 0x48" identifier + number_literal) ))))) )) (argument_list "(local_48,0)" ( identifier , number_literal )))) , (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal)) )))) )) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(local_48,param_3,local_48)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) ))) )) && (parenthesized_expression "((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))" ( (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1))" ( (binary_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)" (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))))))" ( (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48)" identifier = (call_expression "(**(code **)(puVar2 + 0xe8))(local_48,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xe8))" ( (pointer_expression "**(code **)(puVar2 + 0xe8)" * (pointer_expression "*(code **)(puVar2 + 0xe8)" * (cast_expression "(code **)(puVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xe8)" ( (binary_expression "puVar2 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(local_48,local_48)" ( identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(param_2[1],*param_2,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_4)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))" ( (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        ))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xd8))(local_50,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" ( (pointer_expression "**(code **)(puVar2 + 0xd8)" * (pointer_expression "*(code **)(puVar2 + 0xd8)" * (cast_expression "(code **)(puVar2 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xd8)" ( (binary_expression "puVar2 + 0xd8" identifier + number_literal) ))))) )) (argument_list "(local_50,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_3,param_4)" ( (pointer_expression "*param_2" * identifier) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_2[1],*param_2)" ( (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(*param_2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(*param_2,0)" ( (pointer_expression "*param_2" * identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_3,*param_2)" ( (pointer_expression "*param_2" * identifier) , identifier , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_2[1],*param_2)" ( (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" ( (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))" ( (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0))))" ( (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0))" ( (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(*param_2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(*param_2,0)" ( (pointer_expression "*param_2" * identifier) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(*param_2,param_3,*param_2)" ( (pointer_expression "*param_2" * identifier) , identifier , (pointer_expression "*param_2" * identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],*param_2,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(param_2[1],0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal )))) , (binary_expression "iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (binary_expression "iVar3 != -1" identifier != number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 200))" ( (pointer_expression "**(code **)(puVar2 + 200)" * (pointer_expression "*(code **)(puVar2 + 200)" * (cast_expression "(code **)(puVar2 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 200)" ( (binary_expression "puVar2 + 200" identifier + number_literal) ))))) )) (argument_list "(param_2[1],local_50,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" identifier = (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" ( (pointer_expression "**(code **)(puVar2 + 0x130)" * (pointer_expression "*(code **)(puVar2 + 0x130)" * (cast_expression "(code **)(puVar2 + 0x130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x130)" ( (binary_expression "puVar2 + 0x130" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_4)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" ( (pointer_expression "**(code **)(puVar2 + 0xb8)" * (pointer_expression "*(code **)(puVar2 + 0xb8)" * (cast_expression "(code **)(puVar2 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xb8)" ( (binary_expression "puVar2 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],local_48,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) )))) )) ))) )) )))) )) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)" ( (comma_expression "iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1" (assignment_expression "iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0)" identifier = (call_expression "(**(code **)(puVar2 + 0x60))(param_2[1],0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" ( (pointer_expression "**(code **)(puVar2 + 0x60)" * (pointer_expression "*(code **)(puVar2 + 0x60)" * (cast_expression "(code **)(puVar2 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0x60)" ( (binary_expression "puVar2 + 0x60" identifier + number_literal) ))))) )) (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal )))) , (binary_expression "iVar4 == -1" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }" { (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" identifier = (call_expression "(**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" ( (pointer_expression "**(code **)(puVar2 + 0xa8)" * (pointer_expression "*(code **)(puVar2 + 0xa8)" * (cast_expression "(code **)(puVar2 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2 + 0xa8)" ( (binary_expression "puVar2 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(param_2[1],param_3,param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) )))) ;) })) })) })) (expression_statement "ltc_deinit_multi(local_50,local_48,0);" (call_expression "ltc_deinit_multi(local_50,local_48,0)" identifier (argument_list "(local_50,local_48,0)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      __stack_chk_fail();\n    }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return iVar3;" return identifier ;) })) (expression_statement "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);" (call_expression "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" identifier (argument_list "("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" ( (string_literal ""mp != NULL"" " string_content ") , (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , (pointer_expression * IDENT) )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 ]) )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 ]) )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 ]) , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 ]) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (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 ]) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (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 ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ]) , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 ]) , IDENT , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) && (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 , LIT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 , (pointer_expression * IDENT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) )))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) )))) )) ))) )) ))) )) ))) )) (compound_statement { (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 ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 ]) , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 ]) , IDENT , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 ]) )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 ]) , IDENT , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 ]) , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 (binary_expression IDENT < LIT) || (parenthesized_expression ( (comma_expression (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 , LIT )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) )))) )) || (parenthesized_expression ( (comma_expression (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 , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 ]) , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 ]) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 , (pointer_expression * IDENT) )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , LIT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , IDENT , (pointer_expression * IDENT) )))) , (binary_expression IDENT == LIT)) )))) )) )))) )) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , LIT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (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 ( (pointer_expression * IDENT) , IDENT , (pointer_expression * IDENT) )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (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 ]) , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ]) , LIT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (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 ]) , IDENT , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ]) , IDENT , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 ]) , IDENT , IDENT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (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 ]) , IDENT , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT == LIT)) )))) )) )))) )) ))) )) )))) )) ))) )) && (parenthesized_expression ( (comma_expression (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 ]) , LIT )))) , (binary_expression IDENT == 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 ( (subscript_expression IDENT [ LIT ]) , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) })) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })))
(function_definition "int ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)\n\n{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    \n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" (primitive_type "int") (function_declarator "ltc_ecc_projective_dbl_point(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)" (identifier "ltc_ecc_projective_dbl_point") (parameter_list "(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  ulong uVar5;\n  long in_FS_OFFSET;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }\n  if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }\n  if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }\n  if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }\n                    \n  crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (param_1 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" (if "if") (parenthesized_expression "(param_1 == (undefined8 *)0x0)" (( "(") (binary_expression "param_1 == (undefined8 *)0x0" (identifier "param_1") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);\n  }" ({ "{") (expression_statement "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);" (call_expression "crypt_argchk("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" (identifier "crypt_argchk") (argument_list "("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25)" (( "(") (string_literal ""P != NULL"" (" """) (string_content "P != NULL") (" """)) (, ",") (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" (" """) (string_content "src/pk/ecc/ltc_ecc_projective_dbl_point.c") (" """)) (, ",") (number_literal "0x25") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == (undefined8 *)0x0) {\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" (if "if") (parenthesized_expression "(param_2 == (undefined8 *)0x0)" (( "(") (binary_expression "param_2 == (undefined8 *)0x0" (identifier "param_2") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);\n  }" ({ "{") (expression_statement "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);" (call_expression "crypt_argchk("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" (identifier "crypt_argchk") (argument_list "("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26)" (( "(") (string_literal ""R != NULL"" (" """) (string_content "R != NULL") (" """)) (, ",") (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" (" """) (string_content "src/pk/ecc/ltc_ecc_projective_dbl_point.c") (" """)) (, ",") (number_literal "0x26") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_3 == 0) {\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);\n  }" ({ "{") (expression_statement "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);" (call_expression "crypt_argchk("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" (identifier "crypt_argchk") (argument_list "("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27)" (( "(") (string_literal ""modulus != NULL"" (" """) (string_content "modulus != NULL") (" """)) (, ",") (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" (" """) (string_content "src/pk/ecc/ltc_ecc_projective_dbl_point.c") (" """)) (, ",") (number_literal "0x27") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_4 != 0) {\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = ltc_init_multi(&local_50,&local_48,0);\n    puVar2 = PTR_ltc_mp_001ddec0;\n    if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }\n    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }\n    return iVar3;\n  }" ({ "{") (expression_statement "iVar3 = ltc_init_multi(&local_50,&local_48,0);" (assignment_expression "iVar3 = ltc_init_multi(&local_50,&local_48,0)" (identifier "iVar3") (= "=") (call_expression "ltc_init_multi(&local_50,&local_48,0)" (identifier "ltc_init_multi") (argument_list "(&local_50,&local_48,0)" (( "(") (pointer_expression "&local_50" (& "&") (identifier "local_50")) (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "puVar2 = PTR_ltc_mp_001ddec0;" (assignment_expression "puVar2 = PTR_ltc_mp_001ddec0" (identifier "puVar2") (= "=") (identifier "PTR_ltc_mp_001ddec0")) (; ";")) (if_statement "if (iVar3 == 0) {\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }\n      ltc_deinit_multi(local_50,local_48,0);\n    }" ({ "{") (if_statement "if (((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0))))" (( "(") (binary_expression "((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&\n         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))" (parenthesized_expression "((param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0))))" (( "(") (binary_expression "(param_1 == param_2) ||\n          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))" (parenthesized_expression "(param_1 == param_2)" (( "(") (binary_expression "param_1 == param_2" (identifier "param_1") (== "==") (identifier "param_2")) () ")")) (|| "||") (parenthesized_expression "(((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))" (( "(") (parenthesized_expression "((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2)" (parenthesized_expression "(**(code **)(PTR_ltc_mp_001ddec0 + 0x30))" (( "(") (pointer_expression "**(code **)(PTR_ltc_mp_001ddec0 + 0x30)" (* "*") (pointer_expression "*(code **)(PTR_ltc_mp_001ddec0 + 0x30)" (* "*") (cast_expression "(code **)(PTR_ltc_mp_001ddec0 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_ltc_mp_001ddec0 + 0x30)" (( "(") (binary_expression "PTR_ltc_mp_001ddec0 + 0x30" (identifier "PTR_ltc_mp_001ddec0") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(*param_1,*param_2)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x30))(param_1[1],param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x30)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x30)" (* "*") (cast_expression "(code **)(puVar2 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x30)" (( "(") (binary_expression "puVar2 + 0x30" (identifier "puVar2") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(param_1[1],param_2[1])" (( "(") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x30))(param_1[2],param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 0x30))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x30)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x30)" (* "*") (cast_expression "(code **)(puVar2 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x30)" (( "(") (binary_expression "puVar2 + 0x30" (identifier "puVar2") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(param_1[2],param_2[2])" (( "(") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))" (( "(") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0))" (( "(") (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&\n          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&\n           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[2],local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xd8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xd8)" (* "*") (cast_expression "(code **)(puVar2 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xd8)" (( "(") (binary_expression "puVar2 + 0xd8" (identifier "puVar2") (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(param_2[2],local_50)" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(local_50,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(local_50,param_3,param_4)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 200))" (( "(") (pointer_expression "**(code **)(puVar2 + 200)" (* "*") (pointer_expression "*(code **)(puVar2 + 200)" (* "*") (cast_expression "(code **)(puVar2 + 200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 200)" (( "(") (binary_expression "puVar2 + 200" (identifier "puVar2") (+ "+") (number_literal "200")) () ")"))))) () ")")) (argument_list "(param_2[2],param_2[1],param_2[2])" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(param_2[2],param_3,param_4)" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar1 = param_2[2];\n        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n        if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }\n      }" ({ "{") (expression_statement "uVar1 = param_2[2];" (assignment_expression "uVar1 = param_2[2]" (identifier "uVar1") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(uVar1,uVar1,uVar1)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar1") (, ",") (identifier "uVar1") () ")")))) (; ";")) (if_statement "if (((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           ) {\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }" (if "if") (parenthesized_expression "(((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))\n           )" (( "(") (binary_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&\n           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))" (parenthesized_expression "((((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))" (( "(") (binary_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&\n            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (parenthesized_expression "(((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0))" (( "(") (binary_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))\n             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)" (parenthesized_expression "((iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))" (( "(") (binary_expression "(iVar3 == 0) &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x58))(param_2[2],param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x58)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x58)" (* "*") (cast_expression "(code **)(puVar2 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x58)" (( "(") (binary_expression "puVar2 + 0x58" (identifier "puVar2") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(param_2[2],param_3)" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(param_2[2],param_3,param_2[2])" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "param_3") (, ",") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(*param_2,local_50,local_48)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "local_50") (, ",") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (( "(") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))" (( "(") (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x60))(local_48,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x60)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x60)" (* "*") (cast_expression "(code **)(puVar2 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x60)" (( "(") (binary_expression "puVar2 + 0x60" (identifier "puVar2") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(local_48,0)" (( "(") (identifier "local_48") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar3 != -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(local_48,param_3,local_48)" (( "(") (identifier "local_48") (, ",") (identifier "param_3") (, ",") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(local_50,*param_2,local_50)" (( "(") (identifier "local_50") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x58)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x58)" (* "*") (cast_expression "(code **)(puVar2 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x58)" (( "(") (binary_expression "puVar2 + 0x58" (identifier "puVar2") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(local_50,param_3)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(local_50,param_3,local_50)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))" (( "(") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&\n            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0))))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 200))(local_50,local_48,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 200))" (( "(") (pointer_expression "**(code **)(puVar2 + 200)" (* "*") (pointer_expression "*(code **)(puVar2 + 200)" (* "*") (cast_expression "(code **)(puVar2 + 200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 200)" (( "(") (binary_expression "puVar2 + 200" (identifier "puVar2") (+ "+") (number_literal "200")) () ")"))))) () ")")) (argument_list "(local_50,local_48,local_48)" (( "(") (identifier "local_50") (, ",") (identifier "local_48") (, ",") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(local_48,param_3,param_4)" (( "(") (identifier "local_48") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(local_48,local_48,local_50)" (( "(") (identifier "local_48") (, ",") (identifier "local_48") (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))" (( "(") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&\n             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x58)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x58)" (* "*") (cast_expression "(code **)(puVar2 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x58)" (( "(") (binary_expression "puVar2 + 0x58" (identifier "puVar2") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(local_50,param_3)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar3 == -1 ||\n              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(local_50,param_3,local_50)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(local_50,local_48,local_50)" (( "(") (identifier "local_50") (, ",") (identifier "local_48") (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x58))(local_50,param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x58)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x58)" (* "*") (cast_expression "(code **)(puVar2 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x58)" (( "(") (binary_expression "puVar2 + 0x58" (identifier "puVar2") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(local_50,param_3)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar3 == -1 ||\n               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(local_50,param_3,local_50)" (( "(") (identifier "local_50") (, ",") (identifier "param_3") (, ",") (identifier "local_50") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          uVar1 = param_2[1];\n          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);\n          if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }\n        }" ({ "{") (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" (identifier "uVar1") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(uVar1,uVar1,uVar1)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar1") (, ",") (identifier "uVar1") () ")")))) (; ";")) (if_statement "if ((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }" (if "if") (parenthesized_expression "((((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1))))" (( "(") (binary_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))\n             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))" (parenthesized_expression "(((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))" (( "(") (binary_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&\n              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))))" (parenthesized_expression "((iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0))))" (( "(") (binary_expression "(iVar3 == 0) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))" (( "(") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))\n                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x58))(param_2[1],param_3)" (parenthesized_expression "(**(code **)(puVar2 + 0x58))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x58)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x58)" (* "*") (cast_expression "(code **)(puVar2 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x58)" (( "(") (binary_expression "puVar2 + 0x58" (identifier "puVar2") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar3 == -1 ||\n                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xd8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xd8)" (* "*") (cast_expression "(code **)(puVar2 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xd8)" (( "(") (binary_expression "puVar2 + 0xd8" (identifier "puVar2") (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(param_2[1],param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))))" (( "(") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))" (( "(") (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&\n               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&\n                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3,param_4)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xd8))(param_2[1],local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xd8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xd8)" (* "*") (cast_expression "(code **)(puVar2 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xd8)" (( "(") (binary_expression "puVar2 + 0xd8" (identifier "puVar2") (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(param_2[1],local_48)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(local_48,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(local_48,param_3,param_4)" (( "(") (identifier "local_48") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)))" (( "(") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||\n                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x50))(local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x50))(local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0x50))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x50)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x50)" (* "*") (cast_expression "(code **)(puVar2 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x50)" (( "(") (binary_expression "puVar2 + 0x50" (identifier "puVar2") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(local_48)" (( "(") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 < 1 ||\n                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (binary_expression "iVar3 < 1" (identifier "iVar3") (< "<") (number_literal "1")) (|| "||") (parenthesized_expression "(uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)" (( "(") (comma_expression "uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0" (assignment_expression "uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar2 + 0x48))(local_48,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x48))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x48)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x48)" (* "*") (cast_expression "(code **)(puVar2 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x48)" (( "(") (binary_expression "puVar2 + 0x48" (identifier "puVar2") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(local_48,0)" (( "(") (identifier "local_48") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" (( "(") (binary_expression "uVar5 & 1" (identifier "uVar5") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(local_48,param_3,local_48)" (( "(") (identifier "local_48") (, ",") (identifier "param_3") (, ",") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))" (( "(") (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1))" (( "(") (binary_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))) &&\n                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)" (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))))))" (( "(") (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))) &&\n                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))))))" (( "(") (binary_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))\n                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)) &&\n                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xe8))(local_48,local_48)" (parenthesized_expression "(**(code **)(puVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xe8)" (* "*") (cast_expression "(code **)(puVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xe8)" (( "(") (binary_expression "puVar2 + 0xe8" (identifier "puVar2") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(local_48,local_48)" (( "(") (identifier "local_48") (, ",") (identifier "local_48") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),\n                     iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 200))" (( "(") (pointer_expression "**(code **)(puVar2 + 200)" (* "*") (pointer_expression "*(code **)(puVar2 + 200)" (* "*") (cast_expression "(code **)(puVar2 + 200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 200)" (( "(") (binary_expression "puVar2 + 200" (identifier "puVar2") (+ "+") (number_literal "200")) () ")"))))) () ")")) (argument_list "(param_2[1],*param_2,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3,param_4)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))))" (( "(") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        ))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xd8))(local_50,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xd8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xd8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xd8)" (* "*") (cast_expression "(code **)(puVar2 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xd8)" (( "(") (binary_expression "puVar2 + 0xd8" (identifier "puVar2") (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(local_50,*param_2)" (( "(") (identifier "local_50") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0\n                        )" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(*param_2,param_3,param_4)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),\n                               iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(*param_2,param_2[1],*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x60))(*param_2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x60)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x60)" (* "*") (cast_expression "(code **)(puVar2 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x60)" (( "(") (binary_expression "puVar2 + 0x60" (identifier "puVar2") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(*param_2,0)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar3 != -1 ||\n                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                                iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(*param_2,param_3,*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "param_3") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(*param_2,param_2[1],*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar3 == 0\n                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))))" (( "(") (parenthesized_expression "((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))))" (( "(") (binary_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))) &&\n                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))" (parenthesized_expression "(((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0))))" (( "(") (binary_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)) &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))" (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0))" (( "(") (binary_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)) &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)" (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x60))(*param_2,0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x60)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x60)" (* "*") (cast_expression "(code **)(puVar2 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x60)" (( "(") (binary_expression "puVar2 + 0x60" (identifier "puVar2") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(*param_2,0)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar3 != -1 ||\n                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),\n                          iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2)" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(*param_2,param_3,*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "param_3") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(param_2[1],*param_2,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x60))(param_2[1],0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x60)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x60)" (* "*") (cast_expression "(code **)(puVar2 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x60)" (( "(") (binary_expression "puVar2 + 0x60" (identifier "puVar2") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(param_2[1],0)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar3 != -1 ||\n                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),\n                        iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (assignment_expression "iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 200))" (( "(") (pointer_expression "**(code **)(puVar2 + 200)" (* "*") (pointer_expression "*(code **)(puVar2 + 200)" (* "*") (cast_expression "(code **)(puVar2 + 200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 200)" (( "(") (binary_expression "puVar2 + 200" (identifier "puVar2") (+ "+") (number_literal "200")) () ")"))))) () ")")) (argument_list "(param_2[1],local_50,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_50") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)))" (( "(") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0))" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),\n                         iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4)" (parenthesized_expression "(**(code **)(puVar2 + 0x130))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x130)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x130)" (* "*") (cast_expression "(code **)(puVar2 + 0x130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x130)" (( "(") (binary_expression "puVar2 + 0x130" (identifier "puVar2") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3,param_4)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar3 == 0 &&\n                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),\n                         iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xb8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xb8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xb8)" (* "*") (cast_expression "(code **)(puVar2 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xb8)" (( "(") (binary_expression "puVar2 + 0xb8" (identifier "puVar2") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(param_2[1],local_48,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_48") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1" (assignment_expression "iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar2 + 0x60))(param_2[1],0)" (parenthesized_expression "(**(code **)(puVar2 + 0x60))" (( "(") (pointer_expression "**(code **)(puVar2 + 0x60)" (* "*") (pointer_expression "*(code **)(puVar2 + 0x60)" (* "*") (cast_expression "(code **)(puVar2 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0x60)" (( "(") (binary_expression "puVar2 + 0x60" (identifier "puVar2") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(param_2[1],0)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar4 == -1" (identifier "iVar4") (== "==") (number_literal "-1"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);\n          }" ({ "{") (expression_statement "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);" (assignment_expression "iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1])" (parenthesized_expression "(**(code **)(puVar2 + 0xa8))" (( "(") (pointer_expression "**(code **)(puVar2 + 0xa8)" (* "*") (pointer_expression "*(code **)(puVar2 + 0xa8)" (* "*") (cast_expression "(code **)(puVar2 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2 + 0xa8)" (( "(") (binary_expression "puVar2 + 0xa8" (identifier "puVar2") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(param_2[1],param_3,param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "ltc_deinit_multi(local_50,local_48,0);" (call_expression "ltc_deinit_multi(local_50,local_48,0)" (identifier "ltc_deinit_multi") (argument_list "(local_50,local_48,0)" (( "(") (identifier "local_50") (, ",") (identifier "local_48") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n      __stack_chk_fail();\n    }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n      __stack_chk_fail();\n    }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);" (call_expression "crypt_argchk("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" (identifier "crypt_argchk") (argument_list "("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28)" (( "(") (string_literal ""mp != NULL"" (" """) (string_content "mp != NULL") (" """)) (, ",") (string_literal ""src/pk/ecc/ltc_ecc_projective_dbl_point.c"" (" """) (string_content "src/pk/ecc/ltc_ecc_projective_dbl_point.c") (" """)) (, ",") (number_literal "0x28") () ")"))) (; ";")) (} "}")))

int function_1(type_1 *var_2,type_1 *var_4,void *var_5,void *var_6)

{
  void *pvVar1;
  type_2 *var_10;
  int var_8;
  int var_12;
  type_3 var_11;
  long var_1;
  void *t1;
  void *t2;
  long var_14;
  
  var_14 = *(long *)(var_1 + 0x28);
  if (var_2 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("P != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x25);
  }
  if (var_4 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("R != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x26);
  }
  if (var_5 == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("modulus != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x27);
  }
  if (var_6 != (void *)0x0) {
    var_8 = var_7(&t1,&t2,0);
    var_10 = var_9;
    if (var_8 == 0) {
      if (((var_2 == var_4) ||
          (((var_8 = (**(type_4 **)(var_9 + 0x30))(var_2->x,var_4->x), var_8 == 0 &&
            (var_8 = (**(type_4 **)(var_10 + 0x30))(var_2->y,var_4->y), var_8 == 0)) &&
           (var_8 = (**(type_4 **)(var_10 + 0x30))(var_2->z,var_4->z), var_8 == 0)))) &&
         ((((var_8 = (**(type_4 **)(var_10 + 0xd8))(var_4->z,t1), var_8 == 0 &&
            (var_8 = (**(type_4 **)(var_10 + 0x130))(t1,var_5,var_6), var_8 == 0)) &&
           (var_8 = (**(type_4 **)(var_10 + 200))(var_4->z,var_4->y,var_4->z), var_8 == 0)) &&
          (var_8 = (**(type_4 **)(var_10 + 0x130))(var_4->z,var_5,var_6), var_8 == 0)))) {
        pvVar1 = var_4->z;
        var_8 = (**(type_4 **)(var_10 + 0xa8))(pvVar1,pvVar1,pvVar1);
        if (((((var_8 == 0) &&
              ((var_8 = (**(type_4 **)(var_10 + 0x58))(var_4->z,var_5), var_8 == -1 ||
               (var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->z,var_5,var_4->z), var_8 == 0)))) &&
             (var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->x,t1,t2), var_8 == 0)) &&
            ((((var_8 = (**(type_4 **)(var_10 + 0x60))(t2,0), var_8 != -1 ||
               (var_8 = (**(type_4 **)(var_10 + 0xa8))(t2,var_5,t2), var_8 == 0)) &&
              (var_8 = (**(type_4 **)(var_10 + 0xa8))(t1,var_4->x,t1), var_8 == 0)) &&
             ((var_8 = (**(type_4 **)(var_10 + 0x58))(t1,var_5), var_8 == -1 ||
              (var_8 = (**(type_4 **)(var_10 + 0xb8))(t1,var_5,t1), var_8 == 0)))))) &&
           (((var_8 = (**(type_4 **)(var_10 + 200))(t1,t2,t2), var_8 == 0 &&
             ((var_8 = (**(type_4 **)(var_10 + 0x130))(t2,var_5,var_6), var_8 == 0 &&
              (var_8 = (**(type_4 **)(var_10 + 0xa8))(t2,t2,t1), var_8 == 0)))) &&
            (((var_8 = (**(type_4 **)(var_10 + 0x58))(t1,var_5), var_8 == -1 ||
              (var_8 = (**(type_4 **)(var_10 + 0xb8))(t1,var_5,t1), var_8 == 0)) &&
             ((var_8 = (**(type_4 **)(var_10 + 0xa8))(t1,t2,t1), var_8 == 0 &&
              ((var_8 = (**(type_4 **)(var_10 + 0x58))(t1,var_5), var_8 == -1 ||
               (var_8 = (**(type_4 **)(var_10 + 0xb8))(t1,var_5,t1), var_8 == 0)))))))))) {
          pvVar1 = var_4->y;
          var_8 = (**(type_4 **)(var_10 + 0xa8))(pvVar1,pvVar1,pvVar1);
          if ((((var_8 == 0) &&
               (((var_8 = (**(type_4 **)(var_10 + 0x58))(var_4->y,var_5), var_8 == -1 ||
                 (var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->y,var_5,var_4->y), var_8 == 0)) &&
                (var_8 = (**(type_4 **)(var_10 + 0xd8))(var_4->y,var_4->y), var_8 == 0)))) &&
              ((((var_8 = (**(type_4 **)(var_10 + 0x130))(var_4->y,var_5,var_6), var_8 == 0 &&
                 (var_8 = (**(type_4 **)(var_10 + 0xd8))(var_4->y,t2), var_8 == 0)) &&
                (var_8 = (**(type_4 **)(var_10 + 0x130))(t2,var_5,var_6), var_8 == 0)) &&
               (((var_8 = (**(type_4 **)(var_10 + 0x50))(t2), var_8 < 1 ||
                 (var_11 = (**(type_4 **)(var_10 + 0x48))(t2,0), (var_11 & 1) == 0)) ||
                (var_8 = (**(type_4 **)(var_10 + 0xa8))(t2,var_5,t2), var_8 == 0)))))) &&
             ((((((var_8 = (**(type_4 **)(var_10 + 0xe8))(t2,t2), var_8 == 0 &&
                  (var_8 = (**(type_4 **)(var_10 + 200))(var_4->y,var_4->x,var_4->y), var_8 == 0)) &&
                 (var_8 = (**(type_4 **)(var_10 + 0x130))(var_4->y,var_5,var_6), var_8 == 0)) &&
                (((var_8 = (**(type_4 **)(var_10 + 0xd8))(t1,var_4->x), var_8 == 0 &&
                  (var_8 = (**(type_4 **)(var_10 + 0x130))(var_4->x,var_5,var_6), var_8 == 0)) &&
                 ((var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->x,var_4->y,var_4->x), var_8 == 0 &&
                  ((var_8 = (**(type_4 **)(var_10 + 0x60))(var_4->x,0), var_8 != -1 ||
                   (var_8 = (**(type_4 **)(var_10 + 0xa8))(var_4->x,var_5,var_4->x), var_8 == 0)))))))) &&
               ((var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->x,var_4->y,var_4->x), var_8 == 0 &&
                (((((var_8 = (**(type_4 **)(var_10 + 0x60))(var_4->x,0), var_8 != -1 ||
                    (var_8 = (**(type_4 **)(var_10 + 0xa8))(var_4->x,var_5,var_4->x), var_8 == 0)) &&
                   (var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->y,var_4->x,var_4->y), var_8 == 0)) &&
                  ((var_8 = (**(type_4 **)(var_10 + 0x60))(var_4->y,0), var_8 != -1 ||
                   (var_8 = (**(type_4 **)(var_10 + 0xa8))(var_4->y,var_5,var_4->y), var_8 == 0)))) &&
                 ((var_8 = (**(type_4 **)(var_10 + 200))(var_4->y,t1,var_4->y), var_8 == 0 &&
                  ((var_8 = (**(type_4 **)(var_10 + 0x130))(var_4->y,var_5,var_6), var_8 == 0 &&
                   (var_8 = (**(type_4 **)(var_10 + 0xb8))(var_4->y,t2,var_4->y), var_8 == 0)))))))))) &&
              (var_12 = (**(type_4 **)(var_10 + 0x60))(var_4->y,0), var_12 == -1)))) {
            var_8 = (**(type_4 **)(var_10 + 0xa8))(var_4->y,var_5,var_4->y);
          }
        }
      }
      var_13(t1,t2,0);
    }
    if (var_14 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
      var_15();
    }
    return var_8;
  }
                    /* WARNING: Subroutine does not return */
  var_3("mp != NULL","src/pk/ecc/ltc_ecc_projective_dbl_point.c",0x28);
}


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

int MASKED(undefined8 *param_1,undefined8 *param_2,long param_3,long param_4)

{
  undefined8 uVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  ulong uVar5;
  long in_FS_OFFSET;
  undefined8 local_50;
  undefined8 local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == (undefined8 *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("P != NULL","src/pk/ecc/MASKED.c",0x25);
  }
  if (param_2 == (undefined8 *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("R != NULL","src/pk/ecc/MASKED.c",0x26);
  }
  if (param_3 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("modulus != NULL","src/pk/ecc/MASKED.c",0x27);
  }
  if (param_4 != 0) {
    iVar3 = ltc_init_multi(&local_50,&local_48,0);
    puVar2 = PTR_ltc_mp_001ddec0;
    if (iVar3 == 0) {
      if (((param_1 == param_2) ||
          (((iVar3 = (**(code **)(PTR_ltc_mp_001ddec0 + 0x30))(*param_1,*param_2), iVar3 == 0 &&
            (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[1],param_2[1]), iVar3 == 0)) &&
           (iVar3 = (**(code **)(puVar2 + 0x30))(param_1[2],param_2[2]), iVar3 == 0)))) &&
         ((((iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[2],local_50), iVar3 == 0 &&
            (iVar3 = (**(code **)(puVar2 + 0x130))(local_50,param_3,param_4), iVar3 == 0)) &&
           (iVar3 = (**(code **)(puVar2 + 200))(param_2[2],param_2[1],param_2[2]), iVar3 == 0)) &&
          (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[2],param_3,param_4), iVar3 == 0)))) {
        uVar1 = param_2[2];
        iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);
        if (((((iVar3 == 0) &&
              ((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[2],param_3), iVar3 == -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[2],param_3,param_2[2]), iVar3 == 0))))
             && (iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,local_50,local_48), iVar3 == 0)) &&
            ((((iVar3 = (**(code **)(puVar2 + 0x60))(local_48,0), iVar3 != -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0)) &&
              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,*param_2,local_50), iVar3 == 0)) &&
             ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||
              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))) &&
           (((iVar3 = (**(code **)(puVar2 + 200))(local_50,local_48,local_48), iVar3 == 0 &&
             ((iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0 &&
              (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,local_48,local_50), iVar3 == 0)))) &&
            (((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||
              (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)) &&
             ((iVar3 = (**(code **)(puVar2 + 0xa8))(local_50,local_48,local_50), iVar3 == 0 &&
              ((iVar3 = (**(code **)(puVar2 + 0x58))(local_50,param_3), iVar3 == -1 ||
               (iVar3 = (**(code **)(puVar2 + 0xb8))(local_50,param_3,local_50), iVar3 == 0)))))))))
           ) {
          uVar1 = param_2[1];
          iVar3 = (**(code **)(puVar2 + 0xa8))(uVar1,uVar1,uVar1);
          if ((((iVar3 == 0) &&
               (((iVar3 = (**(code **)(puVar2 + 0x58))(param_2[1],param_3), iVar3 == -1 ||
                 (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],param_3,param_2[1]), iVar3 == 0))
                && (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],param_2[1]), iVar3 == 0)))) &&
              ((((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0 &&
                 (iVar3 = (**(code **)(puVar2 + 0xd8))(param_2[1],local_48), iVar3 == 0)) &&
                (iVar3 = (**(code **)(puVar2 + 0x130))(local_48,param_3,param_4), iVar3 == 0)) &&
               (((iVar3 = (**(code **)(puVar2 + 0x50))(local_48), iVar3 < 1 ||
                 (uVar5 = (**(code **)(puVar2 + 0x48))(local_48,0), (uVar5 & 1) == 0)) ||
                (iVar3 = (**(code **)(puVar2 + 0xa8))(local_48,param_3,local_48), iVar3 == 0))))))
             && ((((((iVar3 = (**(code **)(puVar2 + 0xe8))(local_48,local_48), iVar3 == 0 &&
                     (iVar3 = (**(code **)(puVar2 + 200))(param_2[1],*param_2,param_2[1]),
                     iVar3 == 0)) &&
                    (iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4), iVar3 == 0))
                   && (((iVar3 = (**(code **)(puVar2 + 0xd8))(local_50,*param_2), iVar3 == 0 &&
                        (iVar3 = (**(code **)(puVar2 + 0x130))(*param_2,param_3,param_4), iVar3 == 0
                        )) && ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2),
                               iVar3 == 0 &&
                               ((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||
                                (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),
                                iVar3 == 0)))))))) &&
                  ((iVar3 = (**(code **)(puVar2 + 0xb8))(*param_2,param_2[1],*param_2), iVar3 == 0
                   && (((((iVar3 = (**(code **)(puVar2 + 0x60))(*param_2,0), iVar3 != -1 ||
                          (iVar3 = (**(code **)(puVar2 + 0xa8))(*param_2,param_3,*param_2),
                          iVar3 == 0)) &&
                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],*param_2,param_2[1]),
                         iVar3 == 0)) &&
                        ((iVar3 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar3 != -1 ||
                         (iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]),
                         iVar3 == 0)))) &&
                       ((iVar3 = (**(code **)(puVar2 + 200))(param_2[1],local_50,param_2[1]),
                        iVar3 == 0 &&
                        ((iVar3 = (**(code **)(puVar2 + 0x130))(param_2[1],param_3,param_4),
                         iVar3 == 0 &&
                         (iVar3 = (**(code **)(puVar2 + 0xb8))(param_2[1],local_48,param_2[1]),
                         iVar3 == 0)))))))))) &&
                 (iVar4 = (**(code **)(puVar2 + 0x60))(param_2[1],0), iVar4 == -1)))) {
            iVar3 = (**(code **)(puVar2 + 0xa8))(param_2[1],param_3,param_2[1]);
          }
        }
      }
      ltc_deinit_multi(local_50,local_48,0);
    }
    if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail();
    }
    return iVar3;
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("mp != NULL","src/pk/ecc/MASKED.c",0x28);
}

