
void replace_members(bfd *arch,char **files_to_move,bfd_boolean quick)

{
  bfd **contents;
  bfd *pbVar1;
  bool bVar2;
  bfd_boolean bVar3;
  int iVar4;
  bfd **ppbVar5;
  char *pcVar6;
  int *piVar7;
  bfd **after_bfd;
  char *pcVar8;
  stat fsbuf;
  stat asbuf;
  
  if ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)) {
    contents = &arch->archive_next;
    bVar2 = false;
    do {
      if (quick == 0) {
        ppbVar5 = contents;
        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {
          pcVar6 = pbVar1->filename;
          if (full_pathname == 0) {
            pcVar6 = normalize(pcVar6,arch);
            pcVar8 = *files_to_move;
            if (full_pathname == 0) {
              pcVar8 = normalize(pcVar8,arch);
            }
          }
          else {
            pcVar8 = *files_to_move;
          }
          iVar4 = filename_cmp(pcVar8,pcVar6);
          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {
            if (newer_only != 0) {
              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);
              if (iVar4 != 0) {
                piVar7 = __errno_location();
                if (*piVar7 != 2) {
                    /* WARNING: Subroutine does not return */
                  bfd_fatal(*files_to_move);
                }
                goto LAB_00105cc2;
              }
              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);
              if (iVar4 != 0) {
                pcVar6 = pbVar1->filename;
                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);
                    /* WARNING: Subroutine does not return */
                fatal(pcVar8,pcVar6);
              }
              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;
            }
            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);
            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);
            if (bVar3 != 0) {
              bVar2 = true;
              *ppbVar5 = (*ppbVar5)->archive_next;
            }
            goto LAB_00105cc2;
          }
          ppbVar5 = &pbVar1->archive_next;
        }
      }
      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);
      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);
      if (bVar3 != 0) {
        bVar2 = true;
      }
LAB_00105cc2:
      files_to_move = files_to_move + 1;
    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));
    if (bVar2) {
      write_archive(arch);
      return;
    }
  }
  output_filename = (char *)0x0;
  return;
}



void FUN_00105c30(long param_1,long *param_2,int param_3)

{
  long *plVar1;
  long *plVar2;
  undefined8 *puVar3;
  bool bVar4;
  int iVar5;
  undefined8 uVar6;
  long lVar7;
  int *piVar8;
  undefined8 uVar9;
  stat local_158;
  undefined1 local_c8 [88];
  long local_70;
  
  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {
    plVar1 = (long *)(param_1 + 0xd8);
    bVar4 = false;
    do {
      if (param_3 == 0) {
        plVar2 = plVar1;
        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;
            puVar3 = (undefined8 *)puVar3[0x1b]) {
          uVar6 = *puVar3;
          if (DAT_00110504 == 0) {
            uVar6 = FUN_00105b50(uVar6,param_1);
            lVar7 = *param_2;
            if (DAT_00110504 == 0) {
              lVar7 = FUN_00105b50(lVar7,param_1);
            }
          }
          else {
            lVar7 = *param_2;
          }
          iVar5 = filename_cmp(lVar7,uVar6);
          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {
            if (DAT_001104c4 != 0) {
              iVar5 = __xstat(1,(char *)*param_2,&local_158);
              if (iVar5 != 0) {
                piVar8 = __errno_location();
                if (*piVar8 == 2) goto LAB_00105cc2;
                FUN_001077e0(*param_2);
              }
              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);
              if (iVar5 != 0) {
                uVar6 = *puVar3;
                uVar9 = dcgettext(0,"internal stat error on %s",5);
                    /* WARNING: Subroutine does not return */
                FUN_00107860(uVar9,uVar6);
              }
              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;
            }
            uVar6 = FUN_00104e70(plVar1,2,*puVar3);
            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);
            if (iVar5 != 0) {
              bVar4 = true;
              *plVar2 = *(long *)(*plVar2 + 0xd8);
            }
            goto LAB_00105cc2;
          }
          plVar2 = puVar3 + 0x1b;
        }
      }
      uVar6 = FUN_00104e70(plVar1,3,0);
      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);
      if (iVar5 != 0) {
        bVar4 = true;
      }
LAB_00105cc2:
      param_2 = param_2 + 1;
    } while ((param_2 != (long *)0x0) && (*param_2 != 0));
    if (bVar4) {
      FUN_00105280(param_1);
      return;
    }
  }
  DAT_001104e8 = 0;
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x148
MOV dword ptr [RSP + 0xc],EDX
TEST RSI,RSI
JZ 0x00105e15
CMP qword ptr [RSI],0x0
MOV RBX,RSI
JZ 0x00105e15
LEA RAX,[RDI + 0xd8]
MOV RBP,RDI
XOR R13D,R13D
MOV qword ptr [RSP],RAX
LEA RAX,[RSP + 0x20]
MOV qword ptr [RSP + 0x10],RAX
LEA RAX,[RSP + 0xb0]
MOV qword ptr [RSP + 0x18],RAX
JMP 0x00105cd6
MOV RDI,qword ptr [RSP]
XOR EDX,EDX
MOV ESI,0x3
CALL 0x00104e70
MOV R8D,dword ptr [0x00110500]
MOV ECX,dword ptr [0x001104d0]
MOV RDX,qword ptr [0x001104f0]
MOV RSI,qword ptr [RBX]
MOV RDI,RAX
CALL 0x001072d0
TEST EAX,EAX
MOV EAX,0x1
CMOVNZ R13D,EAX
ADD RBX,0x8
JZ 0x00105e10
CMP qword ptr [RBX],0x0
JZ 0x00105e10
MOV ESI,dword ptr [RSP + 0xc]
TEST ESI,ESI
JNZ 0x00105c88
MOV R15,qword ptr [RBP + 0xd8]
TEST R15,R15
JZ 0x00105c88
MOV R12,qword ptr [RSP]
JMP 0x00105d43
MOV RDI,R14
MOV RSI,RBP
CALL 0x00105b50
MOV EDX,dword ptr [0x00110504]
MOV RDI,qword ptr [RBX]
MOV R14,RAX
TEST EDX,EDX
JNZ 0x00105d16
MOV RSI,RBP
CALL 0x00105b50
MOV RDI,RAX
MOV RSI,R14
CALL 0x00102140
TEST EAX,EAX
JNZ 0x00105d2c
CMP qword ptr [R15 + 0xc8],0x0
JNZ 0x00105d58
LEA R12,[R15 + 0xd8]
MOV R15,qword ptr [R15 + 0xd8]
TEST R15,R15
JZ 0x00105c88
MOV ECX,dword ptr [0x00110504]
MOV R14,qword ptr [R15]
TEST ECX,ECX
JZ 0x00105cf0
MOV RDI,qword ptr [RBX]
JMP 0x00105d16
MOV EAX,dword ptr [0x001104c4]
TEST EAX,EAX
JZ 0x00105dbd
MOV RDX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RBX]
MOV EDI,0x1
CALL 0x001023d0
TEST EAX,EAX
JZ 0x00105d90
CALL 0x001020a0
CMP dword ptr [RAX],0x2
JZ 0x00105cc2
MOV RDI,qword ptr [RBX]
CALL 0x001077e0
NOP
MOV RAX,qword ptr [R15 + 0x8]
MOV RSI,qword ptr [RSP + 0x18]
MOV RDI,R15
CALL qword ptr [RAX + 0x1e0]
TEST EAX,EAX
JNZ 0x00105e3c
MOV RAX,qword ptr [RSP + 0x108]
CMP qword ptr [RSP + 0x78],RAX
JLE 0x00105cc2
MOV RDX,qword ptr [R15]
MOV RDI,qword ptr [RSP]
MOV ESI,0x2
CALL 0x00104e70
MOV ECX,dword ptr [0x001104d0]
MOV RDX,qword ptr [0x001104f0]
MOV RSI,qword ptr [RBX]
MOV RDI,RAX
CALL 0x00107430
TEST EAX,EAX
JZ 0x00105cc2
MOV RAX,qword ptr [R12]
MOV R13D,0x1
MOV RAX,qword ptr [RAX + 0xd8]
MOV qword ptr [R12],RAX
JMP 0x00105cc2
TEST R13D,R13D
JNZ 0x00105e32
MOV qword ptr [0x001104e8],0x0
ADD RSP,0x148
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RDI,RBP
CALL 0x00105280
JMP 0x00105e20
MOV RBX,qword ptr [R15]
LEA RSI,[0x10b022]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x001021b0
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x00107860
(translation_unit "void FUN_00105c30(long param_1,long *param_2,int param_3)\n\n{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}\n\n" (function_definition "void FUN_00105c30(long param_1,long *param_2,int param_3)\n\n{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}" primitive_type (function_declarator "FUN_00105c30(long param_1,long *param_2,int param_3)" identifier (parameter_list "(long param_1,long *param_2,int param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "stat local_158;" type_identifier identifier ;) (declaration "undefined1 local_c8 [88];" type_identifier (array_declarator "local_c8 [88]" identifier [ number_literal ]) ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (if_statement "if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }" if (parenthesized_expression "((param_2 != (long *)0x0) && (*param_2 != 0))" ( (binary_expression "(param_2 != (long *)0x0) && (*param_2 != 0)" (parenthesized_expression "(param_2 != (long *)0x0)" ( (binary_expression "param_2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*param_2 != 0)" ( (binary_expression "*param_2 != 0" (pointer_expression "*param_2" * identifier) != number_literal) ))) )) (compound_statement "{\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }" { (expression_statement "plVar1 = (long *)(param_1 + 0xd8);" (assignment_expression "plVar1 = (long *)(param_1 + 0xd8)" identifier = (cast_expression "(long *)(param_1 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd8)" ( (binary_expression "param_1 + 0xd8" identifier + number_literal) )))) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (do_statement "do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));" do (compound_statement "{\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    }" { (if_statement "if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }" { (expression_statement "plVar2 = plVar1;" (assignment_expression "plVar2 = plVar1" identifier = identifier) ;) (for_statement "for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }" for ( (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0xd8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0xd8)" * (cast_expression "(undefined8 **)(param_1 + 0xd8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xd8)" ( (binary_expression "param_1 + 0xd8" identifier + number_literal) ))))) ; (binary_expression "puVar3 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar3 = (undefined8 *)puVar3[0x1b]" identifier = (cast_expression "(undefined8 *)puVar3[0x1b]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[0x1b]" identifier [ number_literal ]))) ) (compound_statement "{\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }" { (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (if_statement "if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }" if (parenthesized_expression "(DAT_00110504 == 0)" ( (binary_expression "DAT_00110504 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }" { (expression_statement "uVar6 = FUN_00105b50(uVar6,param_1);" (assignment_expression "uVar6 = FUN_00105b50(uVar6,param_1)" identifier = (call_expression "FUN_00105b50(uVar6,param_1)" identifier (argument_list "(uVar6,param_1)" ( identifier , identifier )))) ;) (expression_statement "lVar7 = *param_2;" (assignment_expression "lVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }" if (parenthesized_expression "(DAT_00110504 == 0)" ( (binary_expression "DAT_00110504 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }" { (expression_statement "lVar7 = FUN_00105b50(lVar7,param_1);" (assignment_expression "lVar7 = FUN_00105b50(lVar7,param_1)" identifier = (call_expression "FUN_00105b50(lVar7,param_1)" identifier (argument_list "(lVar7,param_1)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n            lVar7 = *param_2;\n          }" else (compound_statement "{\n            lVar7 = *param_2;\n          }" { (expression_statement "lVar7 = *param_2;" (assignment_expression "lVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) }))) (expression_statement "iVar5 = filename_cmp(lVar7,uVar6);" (assignment_expression "iVar5 = filename_cmp(lVar7,uVar6)" identifier = (call_expression "filename_cmp(lVar7,uVar6)" identifier (argument_list "(lVar7,uVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }" if (parenthesized_expression "((iVar5 == 0) && (puVar3[0x19] != 0))" ( (binary_expression "(iVar5 == 0) && (puVar3[0x19] != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(puVar3[0x19] != 0)" ( (binary_expression "puVar3[0x19] != 0" (subscript_expression "puVar3[0x19]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }" { (if_statement "if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }" if (parenthesized_expression "(DAT_001104c4 != 0)" ( (binary_expression "DAT_001104c4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }" { (expression_statement "iVar5 = __xstat(1,(char *)*param_2,&local_158);" (assignment_expression "iVar5 = __xstat(1,(char *)*param_2,&local_158)" identifier = (call_expression "__xstat(1,(char *)*param_2,&local_158)" identifier (argument_list "(1,(char *)*param_2,&local_158)" ( number_literal , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , (pointer_expression "&local_158" & identifier) )))) ;) (if_statement "if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 == 2) goto LAB_00105cc2;" if (parenthesized_expression "(*piVar8 == 2)" ( (binary_expression "*piVar8 == 2" (pointer_expression "*piVar8" * identifier) == number_literal) )) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;)) (expression_statement "FUN_001077e0(*param_2);" (call_expression "FUN_001077e0(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) ))) ;) })) (expression_statement "iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);" (assignment_expression "iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8)" identifier = (call_expression "(**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8)" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1e0))" ( (pointer_expression "**(code **)(puVar3[1] + 0x1e0)" * (pointer_expression "*(code **)(puVar3[1] + 0x1e0)" * (cast_expression "(code **)(puVar3[1] + 0x1e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x1e0)" ( (binary_expression "puVar3[1] + 0x1e0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar3,local_c8)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                FUN_00107860(uVar9,uVar6);\n              }" { (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "uVar9 = dcgettext(0,"internal stat error on %s",5);" (assignment_expression "uVar9 = dcgettext(0,"internal stat error on %s",5)" identifier = (call_expression "dcgettext(0,"internal stat error on %s",5)" identifier (argument_list "(0,"internal stat error on %s",5)" ( number_literal , (string_literal ""internal stat error on %s"" " string_content ") , number_literal )))) ;) comment (expression_statement "FUN_00107860(uVar9,uVar6);" (call_expression "FUN_00107860(uVar9,uVar6)" identifier (argument_list "(uVar9,uVar6)" ( identifier , identifier ))) ;) })) (if_statement "if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;" if (parenthesized_expression "(local_158.st_mtim.tv_sec <= local_70)" ( (binary_expression "local_158.st_mtim.tv_sec <= local_70" (field_expression "local_158.st_mtim.tv_sec" (field_expression "local_158.st_mtim" identifier . field_identifier) . field_identifier) <= identifier) )) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;)) })) (expression_statement "uVar6 = FUN_00104e70(plVar1,2,*puVar3);" (assignment_expression "uVar6 = FUN_00104e70(plVar1,2,*puVar3)" identifier = (call_expression "FUN_00104e70(plVar1,2,*puVar3)" identifier (argument_list "(plVar1,2,*puVar3)" ( identifier , number_literal , (pointer_expression "*puVar3" * identifier) )))) ;) (expression_statement "iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);" (assignment_expression "iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" identifier = (call_expression "FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" identifier (argument_list "(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "*plVar2 = *(long *)(*plVar2 + 0xd8);" (assignment_expression "*plVar2 = *(long *)(*plVar2 + 0xd8)" (pointer_expression "*plVar2" * identifier) = (pointer_expression "*(long *)(*plVar2 + 0xd8)" * (cast_expression "(long *)(*plVar2 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*plVar2 + 0xd8)" ( (binary_expression "*plVar2 + 0xd8" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) ;) })) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;) })) (expression_statement "plVar2 = puVar3 + 0x1b;" (assignment_expression "plVar2 = puVar3 + 0x1b" identifier = (binary_expression "puVar3 + 0x1b" identifier + number_literal)) ;) })) })) (expression_statement "uVar6 = FUN_00104e70(plVar1,3,0);" (assignment_expression "uVar6 = FUN_00104e70(plVar1,3,0)" identifier = (call_expression "FUN_00104e70(plVar1,3,0)" identifier (argument_list "(plVar1,3,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);" (assignment_expression "iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" identifier = (call_expression "FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" identifier (argument_list "(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n        bVar4 = true;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        bVar4 = true;\n      }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) })) (labeled_statement "LAB_00105cc2:\n      param_2 = param_2 + 1;" statement_identifier : (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "((param_2 != (long *)0x0) && (*param_2 != 0))" ( (binary_expression "(param_2 != (long *)0x0) && (*param_2 != 0)" (parenthesized_expression "(param_2 != (long *)0x0)" ( (binary_expression "param_2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*param_2 != 0)" ( (binary_expression "*param_2 != 0" (pointer_expression "*param_2" * identifier) != number_literal) ))) )) ;) (if_statement "if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      FUN_00105280(param_1);\n      return;\n    }" { (expression_statement "FUN_00105280(param_1);" (call_expression "FUN_00105280(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "DAT_001104e8 = 0;" (assignment_expression "DAT_001104e8 = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void replace_members(bfd *arch,char **files_to_move,bfd_boolean quick)\n\n{\n  bfd **contents;\n  bfd *pbVar1;\n  bool bVar2;\n  bfd_boolean bVar3;\n  int iVar4;\n  bfd **ppbVar5;\n  char *pcVar6;\n  int *piVar7;\n  bfd **after_bfd;\n  char *pcVar8;\n  stat fsbuf;\n  stat asbuf;\n  \n  if ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)) {\n    contents = &arch->archive_next;\n    bVar2 = false;\n    do {\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));\n    if (bVar2) {\n      write_archive(arch);\n      return;\n    }\n  }\n  output_filename = (char *)0x0;\n  return;\n}\n\n" (function_definition "void replace_members(bfd *arch,char **files_to_move,bfd_boolean quick)\n\n{\n  bfd **contents;\n  bfd *pbVar1;\n  bool bVar2;\n  bfd_boolean bVar3;\n  int iVar4;\n  bfd **ppbVar5;\n  char *pcVar6;\n  int *piVar7;\n  bfd **after_bfd;\n  char *pcVar8;\n  stat fsbuf;\n  stat asbuf;\n  \n  if ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)) {\n    contents = &arch->archive_next;\n    bVar2 = false;\n    do {\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));\n    if (bVar2) {\n      write_archive(arch);\n      return;\n    }\n  }\n  output_filename = (char *)0x0;\n  return;\n}" primitive_type (function_declarator "replace_members(bfd *arch,char **files_to_move,bfd_boolean quick)" identifier (parameter_list "(bfd *arch,char **files_to_move,bfd_boolean quick)" ( (parameter_declaration "bfd *arch" type_identifier (pointer_declarator "*arch" * identifier)) , (parameter_declaration "char **files_to_move" primitive_type (pointer_declarator "**files_to_move" * (pointer_declarator "*files_to_move" * identifier))) , (parameter_declaration "bfd_boolean quick" type_identifier identifier) ))) (compound_statement "{\n  bfd **contents;\n  bfd *pbVar1;\n  bool bVar2;\n  bfd_boolean bVar3;\n  int iVar4;\n  bfd **ppbVar5;\n  char *pcVar6;\n  int *piVar7;\n  bfd **after_bfd;\n  char *pcVar8;\n  stat fsbuf;\n  stat asbuf;\n  \n  if ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)) {\n    contents = &arch->archive_next;\n    bVar2 = false;\n    do {\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));\n    if (bVar2) {\n      write_archive(arch);\n      return;\n    }\n  }\n  output_filename = (char *)0x0;\n  return;\n}" { (declaration "bfd **contents;" type_identifier (pointer_declarator "**contents" * (pointer_declarator "*contents" * identifier)) ;) (declaration "bfd *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bfd_boolean bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "bfd **ppbVar5;" type_identifier (pointer_declarator "**ppbVar5" * (pointer_declarator "*ppbVar5" * identifier)) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "bfd **after_bfd;" type_identifier (pointer_declarator "**after_bfd" * (pointer_declarator "*after_bfd" * identifier)) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "stat fsbuf;" type_identifier identifier ;) (declaration "stat asbuf;" type_identifier identifier ;) (if_statement "if ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)) {\n    contents = &arch->archive_next;\n    bVar2 = false;\n    do {\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));\n    if (bVar2) {\n      write_archive(arch);\n      return;\n    }\n  }" if (parenthesized_expression "((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0))" ( (binary_expression "(files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)" (parenthesized_expression "(files_to_move != (char **)0x0)" ( (binary_expression "files_to_move != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(*files_to_move != (char *)0x0)" ( (binary_expression "*files_to_move != (char *)0x0" (pointer_expression "*files_to_move" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    contents = &arch->archive_next;\n    bVar2 = false;\n    do {\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));\n    if (bVar2) {\n      write_archive(arch);\n      return;\n    }\n  }" { (expression_statement "contents = &arch->archive_next;" (assignment_expression "contents = &arch->archive_next" identifier = (pointer_expression "&arch->archive_next" & (field_expression "arch->archive_next" identifier -> field_identifier))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (do_statement "do {\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    } while ((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0));" do (compound_statement "{\n      if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }\n      ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);\n      bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);\n      if (bVar3 != 0) {\n        bVar2 = true;\n      }\nLAB_00105cc2:\n      files_to_move = files_to_move + 1;\n    }" { (if_statement "if (quick == 0) {\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }" if (parenthesized_expression "(quick == 0)" ( (binary_expression "quick == 0" identifier == number_literal) )) (compound_statement "{\n        ppbVar5 = contents;\n        for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }\n      }" { (expression_statement "ppbVar5 = contents;" (assignment_expression "ppbVar5 = contents" identifier = identifier) ;) (for_statement "for (pbVar1 = arch->archive_next; pbVar1 != (bfd *)0x0; pbVar1 = pbVar1->archive_next) {\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }" for ( (assignment_expression "pbVar1 = arch->archive_next" identifier = (field_expression "arch->archive_next" identifier -> field_identifier)) ; (binary_expression "pbVar1 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar1 = pbVar1->archive_next" identifier = (field_expression "pbVar1->archive_next" identifier -> field_identifier)) ) (compound_statement "{\n          pcVar6 = pbVar1->filename;\n          if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }\n          iVar4 = filename_cmp(pcVar8,pcVar6);\n          if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }\n          ppbVar5 = &pbVar1->archive_next;\n        }" { (expression_statement "pcVar6 = pbVar1->filename;" (assignment_expression "pcVar6 = pbVar1->filename" identifier = (field_expression "pbVar1->filename" identifier -> field_identifier)) ;) (if_statement "if (full_pathname == 0) {\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }\n          else {\n            pcVar8 = *files_to_move;\n          }" if (parenthesized_expression "(full_pathname == 0)" ( (binary_expression "full_pathname == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar6 = normalize(pcVar6,arch);\n            pcVar8 = *files_to_move;\n            if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }\n          }" { (expression_statement "pcVar6 = normalize(pcVar6,arch);" (assignment_expression "pcVar6 = normalize(pcVar6,arch)" identifier = (call_expression "normalize(pcVar6,arch)" identifier (argument_list "(pcVar6,arch)" ( identifier , identifier )))) ;) (expression_statement "pcVar8 = *files_to_move;" (assignment_expression "pcVar8 = *files_to_move" identifier = (pointer_expression "*files_to_move" * identifier)) ;) (if_statement "if (full_pathname == 0) {\n              pcVar8 = normalize(pcVar8,arch);\n            }" if (parenthesized_expression "(full_pathname == 0)" ( (binary_expression "full_pathname == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar8 = normalize(pcVar8,arch);\n            }" { (expression_statement "pcVar8 = normalize(pcVar8,arch);" (assignment_expression "pcVar8 = normalize(pcVar8,arch)" identifier = (call_expression "normalize(pcVar8,arch)" identifier (argument_list "(pcVar8,arch)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n            pcVar8 = *files_to_move;\n          }" else (compound_statement "{\n            pcVar8 = *files_to_move;\n          }" { (expression_statement "pcVar8 = *files_to_move;" (assignment_expression "pcVar8 = *files_to_move" identifier = (pointer_expression "*files_to_move" * identifier)) ;) }))) (expression_statement "iVar4 = filename_cmp(pcVar8,pcVar6);" (assignment_expression "iVar4 = filename_cmp(pcVar8,pcVar6)" identifier = (call_expression "filename_cmp(pcVar8,pcVar6)" identifier (argument_list "(pcVar8,pcVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)) {\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }" if (parenthesized_expression "((iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0))" ( (binary_expression "(iVar4 == 0) && (pbVar1->arelt_data != (void *)0x0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(pbVar1->arelt_data != (void *)0x0)" ( (binary_expression "pbVar1->arelt_data != (void *)0x0" (field_expression "pbVar1->arelt_data" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }\n            after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);\n            bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);\n            if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }\n            goto LAB_00105cc2;\n          }" { (if_statement "if (newer_only != 0) {\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }" if (parenthesized_expression "(newer_only != 0)" ( (binary_expression "newer_only != 0" identifier != number_literal) )) (compound_statement "{\n              iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);\n              if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }\n              iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);\n              if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }\n              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;\n            }" { (expression_statement "iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf);" (assignment_expression "iVar4 = __xstat(1,*files_to_move,(stat *)&fsbuf)" identifier = (call_expression "__xstat(1,*files_to_move,(stat *)&fsbuf)" identifier (argument_list "(1,*files_to_move,(stat *)&fsbuf)" ( number_literal , (pointer_expression "*files_to_move" * identifier) , (cast_expression "(stat *)&fsbuf" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fsbuf" & identifier)) )))) ;) (if_statement "if (iVar4 != 0) {\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar7 = __errno_location();\n                if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }\n                goto LAB_00105cc2;\n              }" { (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar7 != 2) {\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }" if (parenthesized_expression "(*piVar7 != 2)" ( (binary_expression "*piVar7 != 2" (pointer_expression "*piVar7" * identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  bfd_fatal(*files_to_move);\n                }" { comment (expression_statement "bfd_fatal(*files_to_move);" (call_expression "bfd_fatal(*files_to_move)" identifier (argument_list "(*files_to_move)" ( (pointer_expression "*files_to_move" * identifier) ))) ;) })) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf);" (assignment_expression "iVar4 = (*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf)" identifier = (call_expression "(*pbVar1->xvec->_bfd_stat_arch_elt)(pbVar1,&asbuf)" (parenthesized_expression "(*pbVar1->xvec->_bfd_stat_arch_elt)" ( (pointer_expression "*pbVar1->xvec->_bfd_stat_arch_elt" * (field_expression "pbVar1->xvec->_bfd_stat_arch_elt" (field_expression "pbVar1->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar1,&asbuf)" ( identifier , (pointer_expression "&asbuf" & identifier) )))) ;) (if_statement "if (iVar4 != 0) {\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar6 = pbVar1->filename;\n                pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);\n                    /* WARNING: Subroutine does not return */\n                fatal(pcVar8,pcVar6);\n              }" { (expression_statement "pcVar6 = pbVar1->filename;" (assignment_expression "pcVar6 = pbVar1->filename" identifier = (field_expression "pbVar1->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"internal stat error on %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"internal stat error on %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"internal stat error on %s",5)" identifier (argument_list "(0,"internal stat error on %s",5)" ( number_literal , (string_literal ""internal stat error on %s"" " string_content ") , number_literal ))))) ;) comment (expression_statement "fatal(pcVar8,pcVar6);" (call_expression "fatal(pcVar8,pcVar6)" identifier (argument_list "(pcVar8,pcVar6)" ( identifier , identifier ))) ;) })) (if_statement "if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;" if (parenthesized_expression "(fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec)" ( (binary_expression "fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec" (field_expression "fsbuf.st_mtim.tv_sec" (field_expression "fsbuf.st_mtim" identifier . field_identifier) . field_identifier) <= (field_expression "asbuf.st_mtim.tv_sec" (field_expression "asbuf.st_mtim" identifier . field_identifier) . field_identifier)) )) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;)) })) (expression_statement "after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename);" (assignment_expression "after_bfd = get_pos_bfd(contents,pos_after,pbVar1->filename)" identifier = (call_expression "get_pos_bfd(contents,pos_after,pbVar1->filename)" identifier (argument_list "(contents,pos_after,pbVar1->filename)" ( identifier , identifier , (field_expression "pbVar1->filename" identifier -> field_identifier) )))) ;) (expression_statement "bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose);" (assignment_expression "bVar3 = ar_emul_replace(after_bfd,*files_to_move,target,verbose)" identifier = (call_expression "ar_emul_replace(after_bfd,*files_to_move,target,verbose)" identifier (argument_list "(after_bfd,*files_to_move,target,verbose)" ( identifier , (pointer_expression "*files_to_move" * identifier) , identifier , identifier )))) ;) (if_statement "if (bVar3 != 0) {\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }" if (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar2 = true;\n              *ppbVar5 = (*ppbVar5)->archive_next;\n            }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "*ppbVar5 = (*ppbVar5)->archive_next;" (assignment_expression "*ppbVar5 = (*ppbVar5)->archive_next" (pointer_expression "*ppbVar5" * identifier) = (field_expression "(*ppbVar5)->archive_next" (parenthesized_expression "(*ppbVar5)" ( (pointer_expression "*ppbVar5" * identifier) )) -> field_identifier)) ;) })) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;) })) (expression_statement "ppbVar5 = &pbVar1->archive_next;" (assignment_expression "ppbVar5 = &pbVar1->archive_next" identifier = (pointer_expression "&pbVar1->archive_next" & (field_expression "pbVar1->archive_next" identifier -> field_identifier))) ;) })) })) (expression_statement "ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0);" (assignment_expression "ppbVar5 = get_pos_bfd(contents,pos_end,(char *)0x0)" identifier = (call_expression "get_pos_bfd(contents,pos_end,(char *)0x0)" identifier (argument_list "(contents,pos_end,(char *)0x0)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive);" (assignment_expression "bVar3 = ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive)" identifier = (call_expression "ar_emul_append(ppbVar5,*files_to_move,target,verbose,make_thin_archive)" identifier (argument_list "(ppbVar5,*files_to_move,target,verbose,make_thin_archive)" ( identifier , (pointer_expression "*files_to_move" * identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (bVar3 != 0) {\n        bVar2 = true;\n      }" if (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        bVar2 = true;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) })) (labeled_statement "LAB_00105cc2:\n      files_to_move = files_to_move + 1;" statement_identifier : (expression_statement "files_to_move = files_to_move + 1;" (assignment_expression "files_to_move = files_to_move + 1" identifier = (binary_expression "files_to_move + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "((files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0))" ( (binary_expression "(files_to_move != (char **)0x0) && (*files_to_move != (char *)0x0)" (parenthesized_expression "(files_to_move != (char **)0x0)" ( (binary_expression "files_to_move != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(*files_to_move != (char *)0x0)" ( (binary_expression "*files_to_move != (char *)0x0" (pointer_expression "*files_to_move" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ;) (if_statement "if (bVar2) {\n      write_archive(arch);\n      return;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      write_archive(arch);\n      return;\n    }" { (expression_statement "write_archive(arch);" (call_expression "write_archive(arch)" identifier (argument_list "(arch)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "output_filename = (char *)0x0;" (assignment_expression "output_filename = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00105c30(long param_1,long *param_2,int param_3)\n\n{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}\n\n" (function_definition "void FUN_00105c30(long param_1,long *param_2,int param_3)\n\n{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}" primitive_type (function_declarator "FUN_00105c30(long param_1,long *param_2,int param_3)" identifier (parameter_list "(long param_1,long *param_2,int param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "stat local_158;" type_identifier identifier ;) (declaration "undefined1 local_c8 [88];" type_identifier (array_declarator "local_c8 [88]" identifier [ number_literal ]) ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (if_statement "if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }" if (parenthesized_expression "((param_2 != (long *)0x0) && (*param_2 != 0))" ( (binary_expression "(param_2 != (long *)0x0) && (*param_2 != 0)" (parenthesized_expression "(param_2 != (long *)0x0)" ( (binary_expression "param_2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*param_2 != 0)" ( (binary_expression "*param_2 != 0" (pointer_expression "*param_2" * identifier) != number_literal) ))) )) (compound_statement "{\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }" { (expression_statement "plVar1 = (long *)(param_1 + 0xd8);" (assignment_expression "plVar1 = (long *)(param_1 + 0xd8)" identifier = (cast_expression "(long *)(param_1 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd8)" ( (binary_expression "param_1 + 0xd8" identifier + number_literal) )))) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (do_statement "do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));" do (compound_statement "{\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    }" { (if_statement "if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }" { (expression_statement "plVar2 = plVar1;" (assignment_expression "plVar2 = plVar1" identifier = identifier) ;) (for_statement "for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }" for ( (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0xd8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0xd8)" * (cast_expression "(undefined8 **)(param_1 + 0xd8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xd8)" ( (binary_expression "param_1 + 0xd8" identifier + number_literal) ))))) ; (binary_expression "puVar3 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar3 = (undefined8 *)puVar3[0x1b]" identifier = (cast_expression "(undefined8 *)puVar3[0x1b]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[0x1b]" identifier [ number_literal ]))) ) (compound_statement "{\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }" { (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (if_statement "if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }" if (parenthesized_expression "(DAT_00110504 == 0)" ( (binary_expression "DAT_00110504 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }" { (expression_statement "uVar6 = FUN_00105b50(uVar6,param_1);" (assignment_expression "uVar6 = FUN_00105b50(uVar6,param_1)" identifier = (call_expression "FUN_00105b50(uVar6,param_1)" identifier (argument_list "(uVar6,param_1)" ( identifier , identifier )))) ;) (expression_statement "lVar7 = *param_2;" (assignment_expression "lVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }" if (parenthesized_expression "(DAT_00110504 == 0)" ( (binary_expression "DAT_00110504 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }" { (expression_statement "lVar7 = FUN_00105b50(lVar7,param_1);" (assignment_expression "lVar7 = FUN_00105b50(lVar7,param_1)" identifier = (call_expression "FUN_00105b50(lVar7,param_1)" identifier (argument_list "(lVar7,param_1)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n            lVar7 = *param_2;\n          }" else (compound_statement "{\n            lVar7 = *param_2;\n          }" { (expression_statement "lVar7 = *param_2;" (assignment_expression "lVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) }))) (expression_statement "iVar5 = filename_cmp(lVar7,uVar6);" (assignment_expression "iVar5 = filename_cmp(lVar7,uVar6)" identifier = (call_expression "filename_cmp(lVar7,uVar6)" identifier (argument_list "(lVar7,uVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }" if (parenthesized_expression "((iVar5 == 0) && (puVar3[0x19] != 0))" ( (binary_expression "(iVar5 == 0) && (puVar3[0x19] != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(puVar3[0x19] != 0)" ( (binary_expression "puVar3[0x19] != 0" (subscript_expression "puVar3[0x19]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }" { (if_statement "if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }" if (parenthesized_expression "(DAT_001104c4 != 0)" ( (binary_expression "DAT_001104c4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }" { (expression_statement "iVar5 = __xstat(1,(char *)*param_2,&local_158);" (assignment_expression "iVar5 = __xstat(1,(char *)*param_2,&local_158)" identifier = (call_expression "__xstat(1,(char *)*param_2,&local_158)" identifier (argument_list "(1,(char *)*param_2,&local_158)" ( number_literal , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , (pointer_expression "&local_158" & identifier) )))) ;) (if_statement "if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 == 2) goto LAB_00105cc2;" if (parenthesized_expression "(*piVar8 == 2)" ( (binary_expression "*piVar8 == 2" (pointer_expression "*piVar8" * identifier) == number_literal) )) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;)) (expression_statement "FUN_001077e0(*param_2);" (call_expression "FUN_001077e0(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) ))) ;) })) (expression_statement "iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);" (assignment_expression "iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8)" identifier = (call_expression "(**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8)" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1e0))" ( (pointer_expression "**(code **)(puVar3[1] + 0x1e0)" * (pointer_expression "*(code **)(puVar3[1] + 0x1e0)" * (cast_expression "(code **)(puVar3[1] + 0x1e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3[1] + 0x1e0)" ( (binary_expression "puVar3[1] + 0x1e0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar3,local_c8)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }" { (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "uVar9 = dcgettext(0,"internal stat error on %s",5);" (assignment_expression "uVar9 = dcgettext(0,"internal stat error on %s",5)" identifier = (call_expression "dcgettext(0,"internal stat error on %s",5)" identifier (argument_list "(0,"internal stat error on %s",5)" ( number_literal , (string_literal ""internal stat error on %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00107860(uVar9,uVar6);" (call_expression "FUN_00107860(uVar9,uVar6)" identifier (argument_list "(uVar9,uVar6)" ( identifier , identifier ))) ;) })) (if_statement "if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;" if (parenthesized_expression "(local_158.st_mtim.tv_sec <= local_70)" ( (binary_expression "local_158.st_mtim.tv_sec <= local_70" (field_expression "local_158.st_mtim.tv_sec" (field_expression "local_158.st_mtim" identifier . field_identifier) . field_identifier) <= identifier) )) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;)) })) (expression_statement "uVar6 = FUN_00104e70(plVar1,2,*puVar3);" (assignment_expression "uVar6 = FUN_00104e70(plVar1,2,*puVar3)" identifier = (call_expression "FUN_00104e70(plVar1,2,*puVar3)" identifier (argument_list "(plVar1,2,*puVar3)" ( identifier , number_literal , (pointer_expression "*puVar3" * identifier) )))) ;) (expression_statement "iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);" (assignment_expression "iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" identifier = (call_expression "FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" identifier (argument_list "(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "*plVar2 = *(long *)(*plVar2 + 0xd8);" (assignment_expression "*plVar2 = *(long *)(*plVar2 + 0xd8)" (pointer_expression "*plVar2" * identifier) = (pointer_expression "*(long *)(*plVar2 + 0xd8)" * (cast_expression "(long *)(*plVar2 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*plVar2 + 0xd8)" ( (binary_expression "*plVar2 + 0xd8" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) ;) })) (goto_statement "goto LAB_00105cc2;" goto statement_identifier ;) })) (expression_statement "plVar2 = puVar3 + 0x1b;" (assignment_expression "plVar2 = puVar3 + 0x1b" identifier = (binary_expression "puVar3 + 0x1b" identifier + number_literal)) ;) })) })) (expression_statement "uVar6 = FUN_00104e70(plVar1,3,0);" (assignment_expression "uVar6 = FUN_00104e70(plVar1,3,0)" identifier = (call_expression "FUN_00104e70(plVar1,3,0)" identifier (argument_list "(plVar1,3,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);" (assignment_expression "iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" identifier = (call_expression "FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" identifier (argument_list "(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" ( identifier , (pointer_expression "*param_2" * identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n        bVar4 = true;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        bVar4 = true;\n      }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) })) (labeled_statement "LAB_00105cc2:\n      param_2 = param_2 + 1;" statement_identifier : (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "((param_2 != (long *)0x0) && (*param_2 != 0))" ( (binary_expression "(param_2 != (long *)0x0) && (*param_2 != 0)" (parenthesized_expression "(param_2 != (long *)0x0)" ( (binary_expression "param_2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*param_2 != 0)" ( (binary_expression "*param_2 != 0" (pointer_expression "*param_2" * identifier) != number_literal) ))) )) ;) (if_statement "if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      FUN_00105280(param_1);\n      return;\n    }" { (expression_statement "FUN_00105280(param_1);" (call_expression "FUN_00105280(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "DAT_001104e8 = 0;" (assignment_expression "DAT_001104e8 = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })))
(function_definition "void FUN_00105c30(long param_1,long *param_2,int param_3)\n\n{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00105c30(long param_1,long *param_2,int param_3)" (identifier "FUN_00105c30") (parameter_list "(long param_1,long *param_2,int param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long *param_2" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  long *plVar1;\n  long *plVar2;\n  undefined8 *puVar3;\n  bool bVar4;\n  int iVar5;\n  undefined8 uVar6;\n  long lVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  stat local_158;\n  undefined1 local_c8 [88];\n  long local_70;\n  \n  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }\n  DAT_001104e8 = 0;\n  return;\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "long *plVar2;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar2" (* "*") (identifier "plVar2")) (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "stat local_158;" (type_identifier "stat") (identifier "local_158") (; ";")) (declaration "undefined1 local_c8 [88];" (type_identifier "undefined1") (array_declarator "local_c8 [88]" (identifier "local_c8") ([ "[") (number_literal "88") (] "]")) (; ";")) (declaration "long local_70;" (sized_type_specifier "long" (long "long")) (identifier "local_70") (; ";")) (if_statement "if ((param_2 != (long *)0x0) && (*param_2 != 0)) {\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }" (if "if") (parenthesized_expression "((param_2 != (long *)0x0) && (*param_2 != 0))" (( "(") (binary_expression "(param_2 != (long *)0x0) && (*param_2 != 0)" (parenthesized_expression "(param_2 != (long *)0x0)" (( "(") (binary_expression "param_2 != (long *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*param_2 != 0)" (( "(") (binary_expression "*param_2 != 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    plVar1 = (long *)(param_1 + 0xd8);\n    bVar4 = false;\n    do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));\n    if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }\n  }" ({ "{") (expression_statement "plVar1 = (long *)(param_1 + 0xd8);" (assignment_expression "plVar1 = (long *)(param_1 + 0xd8)" (identifier "plVar1") (= "=") (cast_expression "(long *)(param_1 + 0xd8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd8)" (( "(") (binary_expression "param_1 + 0xd8" (identifier "param_1") (+ "+") (number_literal "0xd8")) () ")")))) (; ";")) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (do_statement "do {\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    } while ((param_2 != (long *)0x0) && (*param_2 != 0));" (do "do") (compound_statement "{\n      if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }\n      uVar6 = FUN_00104e70(plVar1,3,0);\n      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);\n      if (iVar5 != 0) {\n        bVar4 = true;\n      }\nLAB_00105cc2:\n      param_2 = param_2 + 1;\n    }" ({ "{") (if_statement "if (param_3 == 0) {\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        plVar2 = plVar1;\n        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }\n      }" ({ "{") (expression_statement "plVar2 = plVar1;" (assignment_expression "plVar2 = plVar1" (identifier "plVar2") (= "=") (identifier "plVar1")) (; ";")) (for_statement "for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;\n            puVar3 = (undefined8 *)puVar3[0x1b]) {\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }" (for "for") (( "(") (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0xd8)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0xd8)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0xd8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xd8)" (( "(") (binary_expression "param_1 + 0xd8" (identifier "param_1") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";") (binary_expression "puVar3 != (undefined8 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar3 = (undefined8 *)puVar3[0x1b]" (identifier "puVar3") (= "=") (cast_expression "(undefined8 *)puVar3[0x1b]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[0x1b]" (identifier "puVar3") ([ "[") (number_literal "0x1b") (] "]")))) () ")") (compound_statement "{\n          uVar6 = *puVar3;\n          if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }\n          iVar5 = filename_cmp(lVar7,uVar6);\n          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }\n          plVar2 = puVar3 + 0x1b;\n        }" ({ "{") (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" (identifier "uVar6") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (if_statement "if (DAT_00110504 == 0) {\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }\n          else {\n            lVar7 = *param_2;\n          }" (if "if") (parenthesized_expression "(DAT_00110504 == 0)" (( "(") (binary_expression "DAT_00110504 == 0" (identifier "DAT_00110504") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar6 = FUN_00105b50(uVar6,param_1);\n            lVar7 = *param_2;\n            if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }\n          }" ({ "{") (expression_statement "uVar6 = FUN_00105b50(uVar6,param_1);" (assignment_expression "uVar6 = FUN_00105b50(uVar6,param_1)" (identifier "uVar6") (= "=") (call_expression "FUN_00105b50(uVar6,param_1)" (identifier "FUN_00105b50") (argument_list "(uVar6,param_1)" (( "(") (identifier "uVar6") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "lVar7 = *param_2;" (assignment_expression "lVar7 = *param_2" (identifier "lVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (if_statement "if (DAT_00110504 == 0) {\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }" (if "if") (parenthesized_expression "(DAT_00110504 == 0)" (( "(") (binary_expression "DAT_00110504 == 0" (identifier "DAT_00110504") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              lVar7 = FUN_00105b50(lVar7,param_1);\n            }" ({ "{") (expression_statement "lVar7 = FUN_00105b50(lVar7,param_1);" (assignment_expression "lVar7 = FUN_00105b50(lVar7,param_1)" (identifier "lVar7") (= "=") (call_expression "FUN_00105b50(lVar7,param_1)" (identifier "FUN_00105b50") (argument_list "(lVar7,param_1)" (( "(") (identifier "lVar7") (, ",") (identifier "param_1") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            lVar7 = *param_2;\n          }" (else "else") (compound_statement "{\n            lVar7 = *param_2;\n          }" ({ "{") (expression_statement "lVar7 = *param_2;" (assignment_expression "lVar7 = *param_2" (identifier "lVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (} "}")))) (expression_statement "iVar5 = filename_cmp(lVar7,uVar6);" (assignment_expression "iVar5 = filename_cmp(lVar7,uVar6)" (identifier "iVar5") (= "=") (call_expression "filename_cmp(lVar7,uVar6)" (identifier "filename_cmp") (argument_list "(lVar7,uVar6)" (( "(") (identifier "lVar7") (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if ((iVar5 == 0) && (puVar3[0x19] != 0)) {\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }" (if "if") (parenthesized_expression "((iVar5 == 0) && (puVar3[0x19] != 0))" (( "(") (binary_expression "(iVar5 == 0) && (puVar3[0x19] != 0)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar3[0x19] != 0)" (( "(") (binary_expression "puVar3[0x19] != 0" (subscript_expression "puVar3[0x19]" (identifier "puVar3") ([ "[") (number_literal "0x19") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }\n            uVar6 = FUN_00104e70(plVar1,2,*puVar3);\n            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);\n            if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }\n            goto LAB_00105cc2;\n          }" ({ "{") (if_statement "if (DAT_001104c4 != 0) {\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }" (if "if") (parenthesized_expression "(DAT_001104c4 != 0)" (( "(") (binary_expression "DAT_001104c4 != 0" (identifier "DAT_001104c4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar5 = __xstat(1,(char *)*param_2,&local_158);\n              if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }\n              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);\n              if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }\n              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;\n            }" ({ "{") (expression_statement "iVar5 = __xstat(1,(char *)*param_2,&local_158);" (assignment_expression "iVar5 = __xstat(1,(char *)*param_2,&local_158)" (identifier "iVar5") (= "=") (call_expression "__xstat(1,(char *)*param_2,&local_158)" (identifier "__xstat") (argument_list "(1,(char *)*param_2,&local_158)" (( "(") (number_literal "1") (, ",") (cast_expression "(char *)*param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (pointer_expression "&local_158" (& "&") (identifier "local_158")) () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar8 = __errno_location();\n                if (*piVar8 == 2) goto LAB_00105cc2;\n                FUN_001077e0(*param_2);\n              }" ({ "{") (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar8 == 2) goto LAB_00105cc2;" (if "if") (parenthesized_expression "(*piVar8 == 2)" (( "(") (binary_expression "*piVar8 == 2" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_00105cc2;" (goto "goto") (statement_identifier "LAB_00105cc2") (; ";"))) (expression_statement "FUN_001077e0(*param_2);" (call_expression "FUN_001077e0(*param_2)" (identifier "FUN_001077e0") (argument_list "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);" (assignment_expression "iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8)" (parenthesized_expression "(**(code **)(puVar3[1] + 0x1e0))" (( "(") (pointer_expression "**(code **)(puVar3[1] + 0x1e0)" (* "*") (pointer_expression "*(code **)(puVar3[1] + 0x1e0)" (* "*") (cast_expression "(code **)(puVar3[1] + 0x1e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3[1] + 0x1e0)" (( "(") (binary_expression "puVar3[1] + 0x1e0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1e0")) () ")"))))) () ")")) (argument_list "(puVar3,local_c8)" (( "(") (identifier "puVar3") (, ",") (identifier "local_c8") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar6 = *puVar3;\n                uVar9 = dcgettext(0,"internal stat error on %s",5);\n                    \n                FUN_00107860(uVar9,uVar6);\n              }" ({ "{") (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" (identifier "uVar6") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"internal stat error on %s",5);" (assignment_expression "uVar9 = dcgettext(0,"internal stat error on %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"internal stat error on %s",5)" (identifier "dcgettext") (argument_list "(0,"internal stat error on %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""internal stat error on %s"" (" """) (string_content "internal stat error on %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00107860(uVar9,uVar6);" (call_expression "FUN_00107860(uVar9,uVar6)" (identifier "FUN_00107860") (argument_list "(uVar9,uVar6)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;" (if "if") (parenthesized_expression "(local_158.st_mtim.tv_sec <= local_70)" (( "(") (binary_expression "local_158.st_mtim.tv_sec <= local_70" (field_expression "local_158.st_mtim.tv_sec" (field_expression "local_158.st_mtim" (identifier "local_158") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_sec")) (<= "<=") (identifier "local_70")) () ")")) (goto_statement "goto LAB_00105cc2;" (goto "goto") (statement_identifier "LAB_00105cc2") (; ";"))) (} "}"))) (expression_statement "uVar6 = FUN_00104e70(plVar1,2,*puVar3);" (assignment_expression "uVar6 = FUN_00104e70(plVar1,2,*puVar3)" (identifier "uVar6") (= "=") (call_expression "FUN_00104e70(plVar1,2,*puVar3)" (identifier "FUN_00104e70") (argument_list "(plVar1,2,*puVar3)" (( "(") (identifier "plVar1") (, ",") (number_literal "2") (, ",") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")")))) (; ";")) (expression_statement "iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);" (assignment_expression "iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" (identifier "iVar5") (= "=") (call_expression "FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" (identifier "FUN_00107430") (argument_list "(uVar6,*param_2,DAT_001104f0,DAT_001104d0)" (( "(") (identifier "uVar6") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "DAT_001104f0") (, ",") (identifier "DAT_001104d0") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              bVar4 = true;\n              *plVar2 = *(long *)(*plVar2 + 0xd8);\n            }" ({ "{") (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (expression_statement "*plVar2 = *(long *)(*plVar2 + 0xd8);" (assignment_expression "*plVar2 = *(long *)(*plVar2 + 0xd8)" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (= "=") (pointer_expression "*(long *)(*plVar2 + 0xd8)" (* "*") (cast_expression "(long *)(*plVar2 + 0xd8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*plVar2 + 0xd8)" (( "(") (binary_expression "*plVar2 + 0xd8" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (} "}"))) (goto_statement "goto LAB_00105cc2;" (goto "goto") (statement_identifier "LAB_00105cc2") (; ";")) (} "}"))) (expression_statement "plVar2 = puVar3 + 0x1b;" (assignment_expression "plVar2 = puVar3 + 0x1b" (identifier "plVar2") (= "=") (binary_expression "puVar3 + 0x1b" (identifier "puVar3") (+ "+") (number_literal "0x1b"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar6 = FUN_00104e70(plVar1,3,0);" (assignment_expression "uVar6 = FUN_00104e70(plVar1,3,0)" (identifier "uVar6") (= "=") (call_expression "FUN_00104e70(plVar1,3,0)" (identifier "FUN_00104e70") (argument_list "(plVar1,3,0)" (( "(") (identifier "plVar1") (, ",") (number_literal "3") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);" (assignment_expression "iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" (identifier "iVar5") (= "=") (call_expression "FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" (identifier "FUN_001072d0") (argument_list "(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500)" (( "(") (identifier "uVar6") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "DAT_001104f0") (, ",") (identifier "DAT_001104d0") (, ",") (identifier "DAT_00110500") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n        bVar4 = true;\n      }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        bVar4 = true;\n      }" ({ "{") (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}"))) (labeled_statement "LAB_00105cc2:\n      param_2 = param_2 + 1;" (statement_identifier "LAB_00105cc2") (: ":") (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "((param_2 != (long *)0x0) && (*param_2 != 0))" (( "(") (binary_expression "(param_2 != (long *)0x0) && (*param_2 != 0)" (parenthesized_expression "(param_2 != (long *)0x0)" (( "(") (binary_expression "param_2 != (long *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*param_2 != 0)" (( "(") (binary_expression "*param_2 != 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (; ";")) (if_statement "if (bVar4) {\n      FUN_00105280(param_1);\n      return;\n    }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n      FUN_00105280(param_1);\n      return;\n    }" ({ "{") (expression_statement "FUN_00105280(param_1);" (call_expression "FUN_00105280(param_1)" (identifier "FUN_00105280") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_001104e8 = 0;" (assignment_expression "DAT_001104e8 = 0" (identifier "DAT_001104e8") (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *arch,char **var_1,type_2 var_2)

{
  type_1 **contents;
  type_1 *var_3;
  bool bVar2;
  type_2 var_16;
  int var_7;
  type_1 **ppbVar5;
  char *pcVar6;
  int *piVar7;
  type_1 **after_bfd;
  char *pcVar8;
  type_3 fsbuf;
  type_3 asbuf;
  
  if ((var_1 != (char **)0x0) && (*var_1 != (char *)0x0)) {
    contents = &arch->archive_next;
    bVar2 = false;
    do {
      if (var_2 == 0) {
        ppbVar5 = contents;
        for (var_3 = arch->archive_next; var_3 != (type_1 *)0x0; var_3 = var_3->archive_next) {
          pcVar6 = var_3->filename;
          if (var_4 == 0) {
            pcVar6 = var_5(pcVar6,arch);
            pcVar8 = *var_1;
            if (var_4 == 0) {
              pcVar8 = var_5(pcVar8,arch);
            }
          }
          else {
            pcVar8 = *var_1;
          }
          var_7 = var_6(pcVar8,pcVar6);
          if ((var_7 == 0) && (var_3->arelt_data != (void *)0x0)) {
            if (var_8 != 0) {
              var_7 = var_9(1,*var_1,(type_3 *)&fsbuf);
              if (var_7 != 0) {
                piVar7 = var_10();
                if (*piVar7 != 2) {
                    /* WARNING: Subroutine does not return */
                  var_11(*var_1);
                }
                goto LAB_00105cc2;
              }
              var_7 = (*var_3->xvec->_bfd_stat_arch_elt)(var_3,&asbuf);
              if (var_7 != 0) {
                pcVar6 = var_3->filename;
                pcVar8 = (char *)var_12(0,"internal stat error on %s",5);
                    /* WARNING: Subroutine does not return */
                var_13(pcVar8,pcVar6);
              }
              if (fsbuf.st_mtim.tv_sec <= asbuf.st_mtim.tv_sec) goto LAB_00105cc2;
            }
            after_bfd = var_14(contents,pos_after,var_3->filename);
            var_16 = var_15(after_bfd,*var_1,target,verbose);
            if (var_16 != 0) {
              bVar2 = true;
              *ppbVar5 = (*ppbVar5)->archive_next;
            }
            goto LAB_00105cc2;
          }
          ppbVar5 = &var_3->archive_next;
        }
      }
      ppbVar5 = var_14(contents,pos_end,(char *)0x0);
      var_16 = var_17(ppbVar5,*var_1,target,verbose,make_thin_archive);
      if (var_16 != 0) {
        bVar2 = true;
      }
LAB_00105cc2:
      var_1 = var_1 + 1;
    } while ((var_1 != (char **)0x0) && (*var_1 != (char *)0x0));
    if (bVar2) {
      var_18(arch);
      return;
    }
  }
  output_filename = (char *)0x0;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier) arguments: (argument_list (identifier) (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (pointer_expression argument: (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: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement))))

void MASKED(long param_1,long *param_2,int param_3)

{
  long *plVar1;
  long *plVar2;
  undefined8 *puVar3;
  bool bVar4;
  int iVar5;
  undefined8 uVar6;
  long lVar7;
  int *piVar8;
  undefined8 uVar9;
  stat local_158;
  undefined1 local_c8 [88];
  long local_70;
  
  if ((param_2 != (long *)0x0) && (*param_2 != 0)) {
    plVar1 = (long *)(param_1 + 0xd8);
    bVar4 = false;
    do {
      if (param_3 == 0) {
        plVar2 = plVar1;
        for (puVar3 = *(undefined8 **)(param_1 + 0xd8); puVar3 != (undefined8 *)0x0;
            puVar3 = (undefined8 *)puVar3[0x1b]) {
          uVar6 = *puVar3;
          if (DAT_00110504 == 0) {
            uVar6 = FUN_00105b50(uVar6,param_1);
            lVar7 = *param_2;
            if (DAT_00110504 == 0) {
              lVar7 = FUN_00105b50(lVar7,param_1);
            }
          }
          else {
            lVar7 = *param_2;
          }
          iVar5 = filename_cmp(lVar7,uVar6);
          if ((iVar5 == 0) && (puVar3[0x19] != 0)) {
            if (DAT_001104c4 != 0) {
              iVar5 = __xstat(1,(char *)*param_2,&local_158);
              if (iVar5 != 0) {
                piVar8 = __errno_location();
                if (*piVar8 == 2) goto LAB_00105cc2;
                FUN_001077e0(*param_2);
              }
              iVar5 = (**(code **)(puVar3[1] + 0x1e0))(puVar3,local_c8);
              if (iVar5 != 0) {
                uVar6 = *puVar3;
                uVar9 = dcgettext(0,"internal stat error on %s",5);
                    /* WARNING: Subroutine does not return */
                FUN_00107860(uVar9,uVar6);
              }
              if (local_158.st_mtim.tv_sec <= local_70) goto LAB_00105cc2;
            }
            uVar6 = FUN_00104e70(plVar1,2,*puVar3);
            iVar5 = FUN_00107430(uVar6,*param_2,DAT_001104f0,DAT_001104d0);
            if (iVar5 != 0) {
              bVar4 = true;
              *plVar2 = *(long *)(*plVar2 + 0xd8);
            }
            goto LAB_00105cc2;
          }
          plVar2 = puVar3 + 0x1b;
        }
      }
      uVar6 = FUN_00104e70(plVar1,3,0);
      iVar5 = FUN_001072d0(uVar6,*param_2,DAT_001104f0,DAT_001104d0,DAT_00110500);
      if (iVar5 != 0) {
        bVar4 = true;
      }
LAB_00105cc2:
      param_2 = param_2 + 1;
    } while ((param_2 != (long *)0x0) && (*param_2 != 0));
    if (bVar4) {
      FUN_00105280(param_1);
      return;
    }
  }
  DAT_001104e8 = 0;
  return;
}

