
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

ColorInfo ** GetColorInfoList(char *pattern,size_t *number_colors,ExceptionInfo *exception)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  ColorInfo **ppCVar5;
  ColorInfo *pCVar6;
  size_t sVar7;
  ColorInfo **ppCVar8;
  
  puVar1 = PTR_LAB_003a88e0;
  if (pattern == (char *)0x0) {
    ppCVar5 = (ColorInfo **)
              (*(code *)PTR___assert_fail_003a9608)
                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,
                         PTR_LAB_003a88e0 + 0x4fd4);
    return ppCVar5;
  }
  (*(code *)PTR_LogMagickEvent_003a91e0)
            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,
             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern);
  puVar3 = PTR_GetColorInfo_003a9580;
  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;
  if (number_colors != (size_t *)0x0) {
    *number_colors = 0;
    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);
    puVar1 = PTR_DAT_003a88cc;
    if (iVar4 != 0) {
      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)
                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));
      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);
      puVar2 = PTR_DAT_003a88cc;
      if (ppCVar5 != (ColorInfo **)0x0) {
        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));
        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));
        pCVar6 = (ColorInfo *)
                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))
        ;
        if (pCVar6 == (ColorInfo *)0x0) {
          sVar7 = 0;
          ppCVar8 = ppCVar5;
        }
        else {
          sVar7 = 0;
          do {
            ppCVar8 = ppCVar5 + sVar7;
            if (pCVar6->stealth == MagickFalse) {
              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);
              if (iVar4 != 0) {
                *ppCVar8 = pCVar6;
                ppCVar8 = ppCVar5 + sVar7 + 1;
                sVar7 = sVar7 + 1;
              }
            }
            pCVar6 = (ColorInfo *)
                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)
                               (*(undefined4 *)(puVar1 + -0x50fc));
          } while (pCVar6 != (ColorInfo *)0x0);
        }
        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));
        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);
        *number_colors = sVar7;
        *ppCVar8 = (ColorInfo *)0x0;
        return ppCVar5;
      }
    }
    return (ColorInfo **)0x0;
  }
  ppCVar5 = (ColorInfo **)
            (*(code *)PTR___assert_fail_003a9608)
                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4);
  return ppCVar5;
}



int * GetColorInfoList(int param_1,int *param_2,undefined4 param_3)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  
  puVar1 = PTR_LAB_003a88e0;
  if (param_1 == 0) {
    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)
                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,
                               PTR_LAB_003a88e0 + 0x4fd4);
    return piVar5;
  }
  (*(code *)PTR_LogMagickEvent_003a91e0)
            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,
             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);
  puVar3 = PTR_GetColorInfo_003a9580;
  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;
  if (param_2 != (int *)0x0) {
    *param_2 = 0;
    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);
    puVar1 = PTR_DAT_003a88cc;
    if (iVar4 != 0) {
      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)
                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));
      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);
      puVar2 = PTR_DAT_003a88cc;
      if (piVar5 != (int *)0x0) {
        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));
        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));
        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));
        if (iVar4 == 0) {
          iVar7 = 0;
          piVar8 = piVar5;
        }
        else {
          iVar7 = 0;
          do {
            piVar8 = piVar5 + iVar7;
            if (*(int *)(iVar4 + 0x6c) == 0) {
              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);
              if (iVar6 != 0) {
                *piVar8 = iVar4;
                piVar8 = piVar5 + iVar7 + 1;
                iVar7 = iVar7 + 1;
              }
            }
            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)
                              (*(undefined4 *)(puVar1 + -0x50fc));
          } while (iVar4 != 0);
        }
        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));
        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);
        *param_2 = iVar7;
        *piVar8 = 0;
        return piVar5;
      }
    }
    return (int *)0x0;
  }
  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)
                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,
                             PTR_LAB_003a88e0 + 0x4fd4);
  return piVar5;
}


lui gp,0x35
addiu gp,gp,-0x3978
addu gp,gp,t9
addiu sp,sp,-0x50
sw gp,0x18(sp)
sw ra,0x4c(sp)
sw s8,0x48(sp)
sw s7,0x44(sp)
sw s6,0x40(sp)
sw s5,0x3c(sp)
sw s4,0x38(sp)
sw s3,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
beq a0,zero,0x0006444c
_sw s0,0x28(sp)
lw v0,-0x7fcc(gp)
or s1,a2,zero
lw s0,-0x7fd0(gp)
or s6,a0,zero
lw a2,-0x7fd0(gp)
or s7,a1,zero
lw t9,-0x76d0(gp)
addiu v0,v0,-0x62ac
li a3,0x512
sw s6,0x14(sp)
ori a0,zero,0x8000
sw v0,0x10(sp)
addiu a2,a2,0x4fc0
jalr t9
_addiu a1,s0,0x4b4c
beq s7,zero,0x00064470
_lw gp,0x18(sp)
lw a0,-0x7fc8(gp)
or a1,s1,zero
lw t9,-0x7330(gp)
sw zero,0x0(s7)
jalr t9
_addiu a0,a0,0x6c9c
beq v0,zero,0x00064408
_lw gp,0x18(sp)
lw s3,-0x7fe4(gp)
lw t9,-0x74bc(gp)
jalr t9
_lw a0,-0x50fc(s3)
li a1,0x4
lw gp,0x18(sp)
lw t9,-0x73a4(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
beq v0,zero,0x00064408
_or s2,v0,zero
lw v0,-0x7fe4(gp)
lw t9,-0x71c8(gp)
sw v0,0x24(sp)
jalr t9
_lw a0,-0x5100(v0)
lw gp,0x18(sp)
lw t9,-0x7378(gp)
jalr t9
_lw a0,-0x50fc(s3)
lw gp,0x18(sp)
lw t9,-0x75a0(gp)
jalr t9
_lw a0,-0x50fc(s3)
lw gp,0x18(sp)
beq v0,zero,0x00064440
_or s0,v0,zero
or s1,zero,zero
lw v0,0x6c(s0)
sll s8,s1,0x2
or s5,s1,zero
bne v0,zero,0x00064384
_addu s4,s2,s8
lw t9,-0x7268(gp)
or a2,zero,zero
lw a0,0x4(s0)
jalr t9
_or a1,s6,zero
beq v0,zero,0x00064384
_lw gp,0x18(sp)
addiu v1,s8,0x4
sw s0,0x0(s4)
addiu s1,s1,0x1
addu s4,s2,v1
or s5,s1,zero
lw t9,-0x75a0(gp)
jalr t9
_lw a0,-0x50fc(s3)
lw gp,0x18(sp)
bne v0,zero,0x00064340
_or s0,v0,zero
lw v0,0x24(sp)
lw t9,-0x7530(gp)
jalr t9
_lw a0,-0x5100(v0)
li a2,0x4
lw gp,0x18(sp)
or a1,s5,zero
or a0,s2,zero
lw a3,-0x7f74(gp)
lw t9,-0x6fdc(gp)
jalr t9
_addiu a3,a3,0x6e0
or v0,s2,zero
lw ra,0x4c(sp)
lw s8,0x48(sp)
lw s6,0x40(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
sw s5,0x0(s7)
sw zero,0x0(s4)
lw s7,0x44(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
jr ra
_addiu sp,sp,0x50
lw ra,0x4c(sp)
or s2,zero,zero
lw s8,0x48(sp)
or v0,s2,zero
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
or s5,zero,zero
b 0x0006439c
_or s4,s2,zero
lw a3,-0x7fd0(gp)
li a2,0x511
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x4fd4
addiu a1,a1,0x4b4c
jalr t9
_addiu a0,a0,0x45e0
lw a3,-0x7fd0(gp)
li a2,0x513
lw a0,-0x7fd0(gp)
addiu a1,s0,0x4b4c
lw t9,-0x72a8(gp)
addiu a3,a3,0x4fd4
jalr t9
_addiu a0,a0,0x4d50
(translation_unit "int * GetColorInfoList(int param_1,int *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}\n\n" (function_definition "int * GetColorInfoList(int param_1,int *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}" primitive_type (pointer_declarator "* GetColorInfoList(int param_1,int *param_2,undefined4 param_3)" * (function_declarator "GetColorInfoList(int param_1,int *param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,int *param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (expression_statement "puVar1 = PTR_LAB_003a88e0;" (assignment_expression "puVar1 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" identifier = (cast_expression "(int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x45e0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" identifier + number_literal) ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x4fc0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar3 = PTR_GetColorInfo_003a9580;" (assignment_expression "puVar3 = PTR_GetColorInfo_003a9580" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" identifier = identifier) ;) (if_statement "if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }" if (parenthesized_expression "(param_2 != (int *)0x0)" ( (binary_expression "param_2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }" { (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);" (assignment_expression "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3)" identifier = (call_expression "(*(code *)puVar3)(puVar2 + 0x6c9c,param_3)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2 + 0x6c9c,param_3)" ( (binary_expression "puVar2 + 0x6c9c" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar1 = PTR_DAT_003a88cc;" (assignment_expression "puVar1 = PTR_DAT_003a88cc" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }" { (expression_statement "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)" ( (pointer_expression "*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" * (cast_expression "(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" * (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003a88cc + -0x50fc)" ( (binary_expression "PTR_DAT_003a88cc + -0x50fc" identifier + number_literal) )))) )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" identifier = (cast_expression "(int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" ( (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" * (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4 + 1,4)" ( (binary_expression "iVar4 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "puVar2 = PTR_DAT_003a88cc;" (assignment_expression "puVar2 = PTR_DAT_003a88cc" identifier = identifier) ;) (if_statement "if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }" { (expression_statement "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));" (call_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" (parenthesized_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)" ( (pointer_expression "*(code *)PTR_LockSemaphoreInfo_003a96e8" * (cast_expression "(code *)PTR_LockSemaphoreInfo_003a96e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" * (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003a88cc + -0x5100)" ( (binary_expression "PTR_DAT_003a88cc + -0x5100" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));" (call_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)" ( (pointer_expression "*(code *)PTR_ResetLinkedListIterator_003a9538" * (cast_expression "(code *)PTR_ResetLinkedListIterator_003a9538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" ( (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" * (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = piVar5;" (assignment_expression "piVar8 = piVar5" identifier = identifier) ;) }) (else_clause "else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" else (compound_statement "{\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);" do (compound_statement "{\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          }" { (expression_statement "piVar8 = piVar5 + iVar7;" (assignment_expression "piVar8 = piVar5 + iVar7" identifier = (binary_expression "piVar5 + iVar7" identifier + identifier)) ;) (if_statement "if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x6c) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x6c) == 0" (pointer_expression "*(int *)(iVar4 + 0x6c)" * (cast_expression "(int *)(iVar4 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x6c)" ( (binary_expression "iVar4 + 0x6c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }" { (expression_statement "iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);" (assignment_expression "iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0)" identifier = (call_expression "(*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0)" (parenthesized_expression "(*(code *)PTR_GlobExpression_003a9648)" ( (pointer_expression "*(code *)PTR_GlobExpression_003a9648" * (cast_expression "(code *)PTR_GlobExpression_003a9648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar4 + 4),param_1,0)" ( (pointer_expression "*(undefined4 *)(iVar4 + 4)" * (cast_expression "(undefined4 *)(iVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) , identifier , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }" { (expression_statement "*piVar8 = iVar4;" (assignment_expression "*piVar8 = iVar4" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8 = piVar5 + iVar7 + 1;" (assignment_expression "piVar8 = piVar5 + iVar7 + 1" identifier = (binary_expression "piVar5 + iVar7 + 1" (binary_expression "piVar5 + iVar7" identifier + identifier) + number_literal)) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) })) })) (expression_statement "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" ( (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" * (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));" (call_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100))" (parenthesized_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)" ( (pointer_expression "*(code *)PTR_UnlockSemaphoreInfo_003a9380" * (cast_expression "(code *)PTR_UnlockSemaphoreInfo_003a9380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x5100))" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x5100)" * (cast_expression "(undefined4 *)(puVar2 + -0x5100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x5100)" ( (binary_expression "puVar2 + -0x5100" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);" (call_expression "(*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0)" (parenthesized_expression "(*(code *)PTR_qsort_003a98d4)" ( (pointer_expression "*(code *)PTR_qsort_003a98d4" * (cast_expression "(code *)PTR_qsort_003a98d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0)" ( identifier , identifier , number_literal , (binary_expression "PTR_LAB_003a893c + 0x6e0" identifier + number_literal) ))) ;) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (return_statement "return piVar5;" return identifier ;) })) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" identifier = (cast_expression "(int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x4d50" identifier + number_literal) , (binary_expression "puVar1 + 0x4b4c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" identifier + number_literal) ))))) ;) (return_statement "return piVar5;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nColorInfo ** GetColorInfoList(char *pattern,size_t *number_colors,ExceptionInfo *exception)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  ColorInfo **ppCVar5;\n  ColorInfo *pCVar6;\n  size_t sVar7;\n  ColorInfo **ppCVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (pattern == (char *)0x0) {\n    ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4);\n    return ppCVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (number_colors != (size_t *)0x0) {\n    *number_colors = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }\n    return (ColorInfo **)0x0;\n  }\n  ppCVar5 = (ColorInfo **)\n            (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4);\n  return ppCVar5;\n}\n\n" comment comment (function_definition "ColorInfo ** GetColorInfoList(char *pattern,size_t *number_colors,ExceptionInfo *exception)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  ColorInfo **ppCVar5;\n  ColorInfo *pCVar6;\n  size_t sVar7;\n  ColorInfo **ppCVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (pattern == (char *)0x0) {\n    ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4);\n    return ppCVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (number_colors != (size_t *)0x0) {\n    *number_colors = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }\n    return (ColorInfo **)0x0;\n  }\n  ppCVar5 = (ColorInfo **)\n            (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4);\n  return ppCVar5;\n}" type_identifier (pointer_declarator "** GetColorInfoList(char *pattern,size_t *number_colors,ExceptionInfo *exception)" * (pointer_declarator "* GetColorInfoList(char *pattern,size_t *number_colors,ExceptionInfo *exception)" * (function_declarator "GetColorInfoList(char *pattern,size_t *number_colors,ExceptionInfo *exception)" identifier (parameter_list "(char *pattern,size_t *number_colors,ExceptionInfo *exception)" ( (parameter_declaration "char *pattern" primitive_type (pointer_declarator "*pattern" * identifier)) , (parameter_declaration "size_t *number_colors" primitive_type (pointer_declarator "*number_colors" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  ColorInfo **ppCVar5;\n  ColorInfo *pCVar6;\n  size_t sVar7;\n  ColorInfo **ppCVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (pattern == (char *)0x0) {\n    ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4);\n    return ppCVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (number_colors != (size_t *)0x0) {\n    *number_colors = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }\n    return (ColorInfo **)0x0;\n  }\n  ppCVar5 = (ColorInfo **)\n            (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4);\n  return ppCVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "ColorInfo **ppCVar5;" type_identifier (pointer_declarator "**ppCVar5" * (pointer_declarator "*ppCVar5" * identifier)) ;) (declaration "ColorInfo *pCVar6;" type_identifier (pointer_declarator "*pCVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "ColorInfo **ppCVar8;" type_identifier (pointer_declarator "**ppCVar8" * (pointer_declarator "*ppCVar8" * identifier)) ;) (expression_statement "puVar1 = PTR_LAB_003a88e0;" (assignment_expression "puVar1 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (pattern == (char *)0x0) {\n    ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4);\n    return ppCVar5;\n  }" if (parenthesized_expression "(pattern == (char *)0x0)" ( (binary_expression "pattern == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4);\n    return ppCVar5;\n  }" { (expression_statement "ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "ppCVar5 = (ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4)" identifier = (cast_expression "(ColorInfo **)\n              (*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4)" ( (type_descriptor "ColorInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                        (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                         PTR_LAB_003a88e0 + 0x4fd4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x45e0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" identifier + number_literal) ))))) ;) (return_statement "return ppCVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,pattern)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x4fc0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar3 = PTR_GetColorInfo_003a9580;" (assignment_expression "puVar3 = PTR_GetColorInfo_003a9580" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" identifier = identifier) ;) (if_statement "if (number_colors != (size_t *)0x0) {\n    *number_colors = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }\n    return (ColorInfo **)0x0;\n  }" if (parenthesized_expression "(number_colors != (size_t *)0x0)" ( (binary_expression "number_colors != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *number_colors = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }\n    return (ColorInfo **)0x0;\n  }" { (expression_statement "*number_colors = 0;" (assignment_expression "*number_colors = 0" (pointer_expression "*number_colors" * identifier) = number_literal) ;) (expression_statement "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception);" (assignment_expression "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,exception)" identifier = (call_expression "(*(code *)puVar3)(puVar2 + 0x6c9c,exception)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2 + 0x6c9c,exception)" ( (binary_expression "puVar2 + 0x6c9c" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar1 = PTR_DAT_003a88cc;" (assignment_expression "puVar1 = PTR_DAT_003a88cc" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }\n    }" { (expression_statement "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)" ( (pointer_expression "*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" * (cast_expression "(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" * (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003a88cc + -0x50fc)" ( (binary_expression "PTR_DAT_003a88cc + -0x50fc" identifier + number_literal) )))) )))) ;) (expression_statement "ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);" (assignment_expression "ppCVar5 = (ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" identifier = (cast_expression "(ColorInfo **)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" ( (type_descriptor "ColorInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" ( (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" * (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4 + 1,4)" ( (binary_expression "iVar4 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "puVar2 = PTR_DAT_003a88cc;" (assignment_expression "puVar2 = PTR_DAT_003a88cc" identifier = identifier) ;) (if_statement "if (ppCVar5 != (ColorInfo **)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }" if (parenthesized_expression "(ppCVar5 != (ColorInfo **)0x0)" ( (binary_expression "ppCVar5 != (ColorInfo **)0x0" identifier != (cast_expression "(ColorInfo **)0x0" ( (type_descriptor "ColorInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;\n        if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *number_colors = sVar7;\n        *ppCVar8 = (ColorInfo *)0x0;\n        return ppCVar5;\n      }" { (expression_statement "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));" (call_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" (parenthesized_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)" ( (pointer_expression "*(code *)PTR_LockSemaphoreInfo_003a96e8" * (cast_expression "(code *)PTR_LockSemaphoreInfo_003a96e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" * (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003a88cc + -0x5100)" ( (binary_expression "PTR_DAT_003a88cc + -0x5100" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));" (call_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)" ( (pointer_expression "*(code *)PTR_ResetLinkedListIterator_003a9538" * (cast_expression "(code *)PTR_ResetLinkedListIterator_003a9538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) ))) ;) (expression_statement "pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))\n        ;" (assignment_expression "pCVar6 = (ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" identifier = (cast_expression "(ColorInfo *)\n                 (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" ( (type_descriptor "ColorInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" ( (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" * (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) ))))) ;) (if_statement "if (pCVar6 == (ColorInfo *)0x0) {\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }\n        else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }" if (parenthesized_expression "(pCVar6 == (ColorInfo *)0x0)" ( (binary_expression "pCVar6 == (ColorInfo *)0x0" identifier == (cast_expression "(ColorInfo *)0x0" ( (type_descriptor "ColorInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sVar7 = 0;\n          ppCVar8 = ppCVar5;\n        }" { (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" identifier = number_literal) ;) (expression_statement "ppCVar8 = ppCVar5;" (assignment_expression "ppCVar8 = ppCVar5" identifier = identifier) ;) }) (else_clause "else {\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }" else (compound_statement "{\n          sVar7 = 0;\n          do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);\n        }" { (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (pCVar6 != (ColorInfo *)0x0);" do (compound_statement "{\n            ppCVar8 = ppCVar5 + sVar7;\n            if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }\n            pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));\n          }" { (expression_statement "ppCVar8 = ppCVar5 + sVar7;" (assignment_expression "ppCVar8 = ppCVar5 + sVar7" identifier = (binary_expression "ppCVar5 + sVar7" identifier + identifier)) ;) (if_statement "if (pCVar6->stealth == MagickFalse) {\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }" if (parenthesized_expression "(pCVar6->stealth == MagickFalse)" ( (binary_expression "pCVar6->stealth == MagickFalse" (field_expression "pCVar6->stealth" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);\n              if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }\n            }" { (expression_statement "iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0);" (assignment_expression "iVar4 = (*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0)" identifier = (call_expression "(*(code *)PTR_GlobExpression_003a9648)(pCVar6->name,pattern,0)" (parenthesized_expression "(*(code *)PTR_GlobExpression_003a9648)" ( (pointer_expression "*(code *)PTR_GlobExpression_003a9648" * (cast_expression "(code *)PTR_GlobExpression_003a9648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar6->name,pattern,0)" ( (field_expression "pCVar6->name" identifier -> field_identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                *ppCVar8 = pCVar6;\n                ppCVar8 = ppCVar5 + sVar7 + 1;\n                sVar7 = sVar7 + 1;\n              }" { (expression_statement "*ppCVar8 = pCVar6;" (assignment_expression "*ppCVar8 = pCVar6" (pointer_expression "*ppCVar8" * identifier) = identifier) ;) (expression_statement "ppCVar8 = ppCVar5 + sVar7 + 1;" (assignment_expression "ppCVar8 = ppCVar5 + sVar7 + 1" identifier = (binary_expression "ppCVar5 + sVar7 + 1" (binary_expression "ppCVar5 + sVar7" identifier + identifier) + number_literal)) ;) (expression_statement "sVar7 = sVar7 + 1;" (assignment_expression "sVar7 = sVar7 + 1" identifier = (binary_expression "sVar7 + 1" identifier + number_literal)) ;) })) })) (expression_statement "pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "pCVar6 = (ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc))" identifier = (cast_expression "(ColorInfo *)\n                     (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc))" ( (type_descriptor "ColorInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                               (*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" ( (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" * (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) ))))) ;) }) while (parenthesized_expression "(pCVar6 != (ColorInfo *)0x0)" ( (binary_expression "pCVar6 != (ColorInfo *)0x0" identifier != (cast_expression "(ColorInfo *)0x0" ( (type_descriptor "ColorInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));" (call_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100))" (parenthesized_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)" ( (pointer_expression "*(code *)PTR_UnlockSemaphoreInfo_003a9380" * (cast_expression "(code *)PTR_UnlockSemaphoreInfo_003a9380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x5100))" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x5100)" * (cast_expression "(undefined4 *)(puVar2 + -0x5100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x5100)" ( (binary_expression "puVar2 + -0x5100" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0);" (call_expression "(*(code *)PTR_qsort_003a98d4)(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0)" (parenthesized_expression "(*(code *)PTR_qsort_003a98d4)" ( (pointer_expression "*(code *)PTR_qsort_003a98d4" * (cast_expression "(code *)PTR_qsort_003a98d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppCVar5,sVar7,4,PTR_LAB_003a893c + 0x6e0)" ( identifier , identifier , number_literal , (binary_expression "PTR_LAB_003a893c + 0x6e0" identifier + number_literal) ))) ;) (expression_statement "*number_colors = sVar7;" (assignment_expression "*number_colors = sVar7" (pointer_expression "*number_colors" * identifier) = identifier) ;) (expression_statement "*ppCVar8 = (ColorInfo *)0x0;" (assignment_expression "*ppCVar8 = (ColorInfo *)0x0" (pointer_expression "*ppCVar8" * identifier) = (cast_expression "(ColorInfo *)0x0" ( (type_descriptor "ColorInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (return_statement "return ppCVar5;" return identifier ;) })) })) (return_statement "return (ColorInfo **)0x0;" return (cast_expression "(ColorInfo **)0x0" ( (type_descriptor "ColorInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) })) (expression_statement "ppCVar5 = (ColorInfo **)\n            (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "ppCVar5 = (ColorInfo **)\n            (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4)" identifier = (cast_expression "(ColorInfo **)\n            (*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4)" ( (type_descriptor "ColorInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                      (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,PTR_LAB_003a88e0 + 0x4fd4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x4d50" identifier + number_literal) , (binary_expression "puVar1 + 0x4b4c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" identifier + number_literal) ))))) ;) (return_statement "return ppCVar5;" return identifier ;) })))
(translation_unit "int * GetColorInfoList(int param_1,int *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}\n\n" (function_definition "int * GetColorInfoList(int param_1,int *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}" primitive_type (pointer_declarator "* GetColorInfoList(int param_1,int *param_2,undefined4 param_3)" * (function_declarator "GetColorInfoList(int param_1,int *param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,int *param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (expression_statement "puVar1 = PTR_LAB_003a88e0;" (assignment_expression "puVar1 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" identifier = (cast_expression "(int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x45e0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" identifier + number_literal) ))))) ;) (return_statement "return piVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x4fc0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar3 = PTR_GetColorInfo_003a9580;" (assignment_expression "puVar3 = PTR_GetColorInfo_003a9580" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" identifier = identifier) ;) (if_statement "if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }" if (parenthesized_expression "(param_2 != (int *)0x0)" ( (binary_expression "param_2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }" { (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);" (assignment_expression "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3)" identifier = (call_expression "(*(code *)puVar3)(puVar2 + 0x6c9c,param_3)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2 + 0x6c9c,param_3)" ( (binary_expression "puVar2 + 0x6c9c" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar1 = PTR_DAT_003a88cc;" (assignment_expression "puVar1 = PTR_DAT_003a88cc" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }" { (expression_statement "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)" ( (pointer_expression "*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" * (cast_expression "(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" * (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003a88cc + -0x50fc)" ( (binary_expression "PTR_DAT_003a88cc + -0x50fc" identifier + number_literal) )))) )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" identifier = (cast_expression "(int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" ( (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" * (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4 + 1,4)" ( (binary_expression "iVar4 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "puVar2 = PTR_DAT_003a88cc;" (assignment_expression "puVar2 = PTR_DAT_003a88cc" identifier = identifier) ;) (if_statement "if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }" { (expression_statement "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));" (call_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" (parenthesized_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)" ( (pointer_expression "*(code *)PTR_LockSemaphoreInfo_003a96e8" * (cast_expression "(code *)PTR_LockSemaphoreInfo_003a96e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" ( (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" * (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003a88cc + -0x5100)" ( (binary_expression "PTR_DAT_003a88cc + -0x5100" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));" (call_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)" ( (pointer_expression "*(code *)PTR_ResetLinkedListIterator_003a9538" * (cast_expression "(code *)PTR_ResetLinkedListIterator_003a9538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" ( (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" * (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = piVar5;" (assignment_expression "piVar8 = piVar5" identifier = identifier) ;) }) (else_clause "else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" else (compound_statement "{\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);" do (compound_statement "{\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          }" { (expression_statement "piVar8 = piVar5 + iVar7;" (assignment_expression "piVar8 = piVar5 + iVar7" identifier = (binary_expression "piVar5 + iVar7" identifier + identifier)) ;) (if_statement "if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x6c) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x6c) == 0" (pointer_expression "*(int *)(iVar4 + 0x6c)" * (cast_expression "(int *)(iVar4 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x6c)" ( (binary_expression "iVar4 + 0x6c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }" { (expression_statement "iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);" (assignment_expression "iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0)" identifier = (call_expression "(*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0)" (parenthesized_expression "(*(code *)PTR_GlobExpression_003a9648)" ( (pointer_expression "*(code *)PTR_GlobExpression_003a9648" * (cast_expression "(code *)PTR_GlobExpression_003a9648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar4 + 4),param_1,0)" ( (pointer_expression "*(undefined4 *)(iVar4 + 4)" * (cast_expression "(undefined4 *)(iVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) , identifier , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }" { (expression_statement "*piVar8 = iVar4;" (assignment_expression "*piVar8 = iVar4" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8 = piVar5 + iVar7 + 1;" (assignment_expression "piVar8 = piVar5 + iVar7 + 1" identifier = (binary_expression "piVar5 + iVar7 + 1" (binary_expression "piVar5 + iVar7" identifier + identifier) + number_literal)) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) })) })) (expression_statement "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc))" identifier = (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" ( (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" * (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" ( (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" * (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x50fc)" ( (binary_expression "puVar1 + -0x50fc" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));" (call_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100))" (parenthesized_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)" ( (pointer_expression "*(code *)PTR_UnlockSemaphoreInfo_003a9380" * (cast_expression "(code *)PTR_UnlockSemaphoreInfo_003a9380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(puVar2 + -0x5100))" ( (pointer_expression "*(undefined4 *)(puVar2 + -0x5100)" * (cast_expression "(undefined4 *)(puVar2 + -0x5100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x5100)" ( (binary_expression "puVar2 + -0x5100" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);" (call_expression "(*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0)" (parenthesized_expression "(*(code *)PTR_qsort_003a98d4)" ( (pointer_expression "*(code *)PTR_qsort_003a98d4" * (cast_expression "(code *)PTR_qsort_003a98d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0)" ( identifier , identifier , number_literal , (binary_expression "PTR_LAB_003a893c + 0x6e0" identifier + number_literal) ))) ;) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (return_statement "return piVar5;" return identifier ;) })) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" identifier = (cast_expression "(int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x4d50" identifier + number_literal) , (binary_expression "puVar1 + 0x4b4c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" identifier + number_literal) ))))) ;) (return_statement "return piVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return IDENT ;) })) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })))
(function_definition "int * GetColorInfoList(int param_1,int *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}" (primitive_type "int") (pointer_declarator "* GetColorInfoList(int param_1,int *param_2,undefined4 param_3)" (* "*") (function_declarator "GetColorInfoList(int param_1,int *param_2,undefined4 param_3)" (identifier "GetColorInfoList") (parameter_list "(int param_1,int *param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  \n  puVar1 = PTR_LAB_003a88e0;\n  if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }\n  (*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);\n  puVar3 = PTR_GetColorInfo_003a9580;\n  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n  if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }\n  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);\n  return piVar5;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (expression_statement "puVar1 = PTR_LAB_003a88e0;" (assignment_expression "puVar1 = PTR_LAB_003a88e0" (identifier "puVar1") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (if_statement "if (param_1 == 0) {\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);\n    return piVar5;\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,\n                               PTR_LAB_003a88e0 + 0x4fd4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x45e0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x45e0")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x4b4c")) (, ",") (number_literal "0x511") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x4fd4")) () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,\n             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x4b4c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x4b4c")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x4fc0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x4fc0")) (, ",") (number_literal "0x512") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar3 = PTR_GetColorInfo_003a9580;" (assignment_expression "puVar3 = PTR_GetColorInfo_003a9580" (identifier "puVar3") (= "=") (identifier "PTR_GetColorInfo_003a9580")) (; ";")) (expression_statement "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" (identifier "puVar2") (= "=") (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8")) (; ";")) (if_statement "if (param_2 != (int *)0x0) {\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }" (if "if") (parenthesized_expression "(param_2 != (int *)0x0)" (( "(") (binary_expression "param_2 != (int *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *param_2 = 0;\n    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);\n    puVar1 = PTR_DAT_003a88cc;\n    if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }\n    return (int *)0x0;\n  }" ({ "{") (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);" (assignment_expression "iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3)" (identifier "iVar4") (= "=") (call_expression "(*(code *)puVar3)(puVar2 + 0x6c9c,param_3)" (parenthesized_expression "(*(code *)puVar3)" (( "(") (pointer_expression "*(code *)puVar3" (* "*") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (argument_list "(puVar2 + 0x6c9c,param_3)" (( "(") (binary_expression "puVar2 + 0x6c9c" (identifier "puVar2") (+ "+") (number_literal "0x6c9c")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_DAT_003a88cc;" (assignment_expression "puVar1 = PTR_DAT_003a88cc" (identifier "puVar1") (= "=") (identifier "PTR_DAT_003a88cc")) (; ";")) (if_statement "if (iVar4 != 0) {\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));\n      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);\n      puVar2 = PTR_DAT_003a88cc;\n      if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }\n    }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)\n                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)" (( "(") (pointer_expression "*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" (* "*") (cast_expression "(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetNumberOfElementsInLinkedList_003a93f4"))) () ")")) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc))" (( "(") (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x50fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003a88cc + -0x50fc)" (( "(") (binary_expression "PTR_DAT_003a88cc + -0x50fc" (identifier "PTR_DAT_003a88cc") (+ "+") (number_literal "-0x50fc")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" (( "(") (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" (* "*") (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireQuantumMemory_003a950c"))) () ")")) (argument_list "(iVar4 + 1,4)" (( "(") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "puVar2 = PTR_DAT_003a88cc;" (assignment_expression "puVar2 = PTR_DAT_003a88cc" (identifier "puVar2") (= "=") (identifier "PTR_DAT_003a88cc")) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));\n        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));\n        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));\n        if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }\n        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));\n        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);\n        *param_2 = iVar7;\n        *piVar8 = 0;\n        return piVar5;\n      }" ({ "{") (expression_statement "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));" (call_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" (parenthesized_expression "(*(code *)PTR_LockSemaphoreInfo_003a96e8)" (( "(") (pointer_expression "*(code *)PTR_LockSemaphoreInfo_003a96e8" (* "*") (cast_expression "(code *)PTR_LockSemaphoreInfo_003a96e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LockSemaphoreInfo_003a96e8"))) () ")")) (argument_list "(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100))" (( "(") (pointer_expression "*(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_003a88cc + -0x5100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003a88cc + -0x5100)" (( "(") (binary_expression "PTR_DAT_003a88cc + -0x5100" (identifier "PTR_DAT_003a88cc") (+ "+") (number_literal "-0x5100")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));" (call_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_ResetLinkedListIterator_003a9538)" (( "(") (pointer_expression "*(code *)PTR_ResetLinkedListIterator_003a9538" (* "*") (cast_expression "(code *)PTR_ResetLinkedListIterator_003a9538" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ResetLinkedListIterator_003a9538"))) () ")")) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" (( "(") (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x50fc)" (( "(") (binary_expression "puVar1 + -0x50fc" (identifier "puVar1") (+ "+") (number_literal "-0x50fc")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" (( "(") (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" (* "*") (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetNextValueInLinkedList_003a9310"))) () ")")) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" (( "(") (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x50fc)" (( "(") (binary_expression "puVar1 + -0x50fc" (identifier "puVar1") (+ "+") (number_literal "-0x50fc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }\n        else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar7 = 0;\n          piVar8 = piVar5;\n        }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8 = piVar5;" (assignment_expression "piVar8 = piVar5" (identifier "piVar8") (= "=") (identifier "piVar5")) (; ";")) (} "}")) (else_clause "else {\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" (else "else") (compound_statement "{\n          iVar7 = 0;\n          do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);\n        }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          } while (iVar4 != 0);" (do "do") (compound_statement "{\n            piVar8 = piVar5 + iVar7;\n            if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }\n            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));\n          }" ({ "{") (expression_statement "piVar8 = piVar5 + iVar7;" (assignment_expression "piVar8 = piVar5 + iVar7" (identifier "piVar8") (= "=") (binary_expression "piVar5 + iVar7" (identifier "piVar5") (+ "+") (identifier "iVar7"))) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x6c) == 0) {\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x6c) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x6c) == 0" (pointer_expression "*(int *)(iVar4 + 0x6c)" (* "*") (cast_expression "(int *)(iVar4 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x6c)" (( "(") (binary_expression "iVar4 + 0x6c" (identifier "iVar4") (+ "+") (number_literal "0x6c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);\n              if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }\n            }" ({ "{") (expression_statement "iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);" (assignment_expression "iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0)" (parenthesized_expression "(*(code *)PTR_GlobExpression_003a9648)" (( "(") (pointer_expression "*(code *)PTR_GlobExpression_003a9648" (* "*") (cast_expression "(code *)PTR_GlobExpression_003a9648" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GlobExpression_003a9648"))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + 4),param_1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "param_1") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *piVar8 = iVar4;\n                piVar8 = piVar5 + iVar7 + 1;\n                iVar7 = iVar7 + 1;\n              }" ({ "{") (expression_statement "*piVar8 = iVar4;" (assignment_expression "*piVar8 = iVar4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar8 = piVar5 + iVar7 + 1;" (assignment_expression "piVar8 = piVar5 + iVar7 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar5 + iVar7 + 1" (binary_expression "piVar5 + iVar7" (identifier "piVar5") (+ "+") (identifier "iVar7")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc));" (assignment_expression "iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc))" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)\n                              (*(undefined4 *)(puVar1 + -0x50fc))" (parenthesized_expression "(*(code *)PTR_GetNextValueInLinkedList_003a9310)" (( "(") (pointer_expression "*(code *)PTR_GetNextValueInLinkedList_003a9310" (* "*") (cast_expression "(code *)PTR_GetNextValueInLinkedList_003a9310" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetNextValueInLinkedList_003a9310"))) () ")")) (argument_list "(*(undefined4 *)(puVar1 + -0x50fc))" (( "(") (pointer_expression "*(undefined4 *)(puVar1 + -0x50fc)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0x50fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x50fc)" (( "(") (binary_expression "puVar1 + -0x50fc" (identifier "puVar1") (+ "+") (number_literal "-0x50fc")) () ")")))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));" (call_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100))" (parenthesized_expression "(*(code *)PTR_UnlockSemaphoreInfo_003a9380)" (( "(") (pointer_expression "*(code *)PTR_UnlockSemaphoreInfo_003a9380" (* "*") (cast_expression "(code *)PTR_UnlockSemaphoreInfo_003a9380" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_UnlockSemaphoreInfo_003a9380"))) () ")")) (argument_list "(*(undefined4 *)(puVar2 + -0x5100))" (( "(") (pointer_expression "*(undefined4 *)(puVar2 + -0x5100)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x5100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x5100)" (( "(") (binary_expression "puVar2 + -0x5100" (identifier "puVar2") (+ "+") (number_literal "-0x5100")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);" (call_expression "(*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0)" (parenthesized_expression "(*(code *)PTR_qsort_003a98d4)" (( "(") (pointer_expression "*(code *)PTR_qsort_003a98d4" (* "*") (cast_expression "(code *)PTR_qsort_003a98d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_qsort_003a98d4"))) () ")")) (argument_list "(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0)" (( "(") (identifier "piVar5") (, ",") (identifier "iVar7") (, ",") (number_literal "4") (, ",") (binary_expression "PTR_LAB_003a893c + 0x6e0" (identifier "PTR_LAB_003a893c") (+ "+") (number_literal "0x6e0")) () ")"))) (; ";")) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (number_literal "0")) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}"))) (} "}"))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4);" (assignment_expression "piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,\n                             PTR_LAB_003a88e0 + 0x4fd4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x4d50" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x4d50")) (, ",") (binary_expression "puVar1 + 0x4b4c" (identifier "puVar1") (+ "+") (number_literal "0x4b4c")) (, ",") (number_literal "0x513") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x4fd4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x4fd4")) () ")"))))) (; ";")) (return_statement "return piVar5;" (return "return") (identifier "piVar5") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (identifier)))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))))

int * MASKED(int param_1,int *param_2,undefined4 param_3)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  
  puVar1 = PTR_LAB_003a88e0;
  if (param_1 == 0) {
    piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)
                              (PTR_LAB_003a88e0 + 0x45e0,PTR_LAB_003a88e0 + 0x4b4c,0x511,
                               PTR_LAB_003a88e0 + 0x4fd4);
    return piVar5;
  }
  (*(code *)PTR_LogMagickEvent_003a91e0)
            (0x8000,PTR_LAB_003a88e0 + 0x4b4c,PTR_LAB_003a88e0 + 0x4fc0,0x512,
             PTR_s_t_to_left_003a88e4 + -0x62ac,param_1);
  puVar3 = PTR_GetColorInfo_003a9580;
  puVar2 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;
  if (param_2 != (int *)0x0) {
    *param_2 = 0;
    iVar4 = (*(code *)puVar3)(puVar2 + 0x6c9c,param_3);
    puVar1 = PTR_DAT_003a88cc;
    if (iVar4 != 0) {
      iVar4 = (*(code *)PTR_GetNumberOfElementsInLinkedList_003a93f4)
                        (*(undefined4 *)(PTR_DAT_003a88cc + -0x50fc));
      piVar5 = (int *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(iVar4 + 1,4);
      puVar2 = PTR_DAT_003a88cc;
      if (piVar5 != (int *)0x0) {
        (*(code *)PTR_LockSemaphoreInfo_003a96e8)(*(undefined4 *)(PTR_DAT_003a88cc + -0x5100));
        (*(code *)PTR_ResetLinkedListIterator_003a9538)(*(undefined4 *)(puVar1 + -0x50fc));
        iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)(*(undefined4 *)(puVar1 + -0x50fc));
        if (iVar4 == 0) {
          iVar7 = 0;
          piVar8 = piVar5;
        }
        else {
          iVar7 = 0;
          do {
            piVar8 = piVar5 + iVar7;
            if (*(int *)(iVar4 + 0x6c) == 0) {
              iVar6 = (*(code *)PTR_GlobExpression_003a9648)(*(undefined4 *)(iVar4 + 4),param_1,0);
              if (iVar6 != 0) {
                *piVar8 = iVar4;
                piVar8 = piVar5 + iVar7 + 1;
                iVar7 = iVar7 + 1;
              }
            }
            iVar4 = (*(code *)PTR_GetNextValueInLinkedList_003a9310)
                              (*(undefined4 *)(puVar1 + -0x50fc));
          } while (iVar4 != 0);
        }
        (*(code *)PTR_UnlockSemaphoreInfo_003a9380)(*(undefined4 *)(puVar2 + -0x5100));
        (*(code *)PTR_qsort_003a98d4)(piVar5,iVar7,4,PTR_LAB_003a893c + 0x6e0);
        *param_2 = iVar7;
        *piVar8 = 0;
        return piVar5;
      }
    }
    return (int *)0x0;
  }
  piVar5 = (int *)(*(code *)PTR___assert_fail_003a9608)
                            (PTR_LAB_003a88e0 + 0x4d50,puVar1 + 0x4b4c,0x513,
                             PTR_LAB_003a88e0 + 0x4fd4);
  return piVar5;
}

