
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void core_create_function_syms(void)

{
  bfd_flavour bVar1;
  char *pcVar2;
  asymbol *paVar3;
  bfd_section *pbVar4;
  function_map *pfVar5;
  char *pcVar6;
  int iVar7;
  char **filename_00;
  bfd_boolean bVar8;
  Sym *pSVar9;
  int iVar10;
  Source_File *pSVar11;
  char *__format;
  byte bVar12;
  char **name;
  function_map *pfVar13;
  uint uVar14;
  uint uVar15;
  int iVar16;
  uint uVar17;
  bool bVar18;
  bool bVar19;
  char *filename;
  char *func_name;
  undefined4 uStack_14;
  
  uStack_14 = 0x190e9;
  bVar19 = false;
  bVar1 = core_bfd->xvec->flavour;
  if (bVar1 < bfd_target_os9k_flavour) {
    bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;
  }
  pfVar13 = (function_map *)0x0;
  iVar16 = 0;
  symtab.len = 0;
  if (0 < core_num_syms) {
    do {
      iVar7 = core_sym_class(core_syms[iVar16]);
      pfVar5 = symbol_map;
      if (iVar7 != 0) {
        if (symbol_map_count == 0) {
          if (pfVar13 != (function_map *)0x0) {
LAB_00019164:
            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;
          }
        }
        else {
          pcVar2 = core_syms[iVar16]->name;
          uVar17 = 0;
          uVar14 = symbol_map_count;
          while (uVar17 < uVar14) {
            while( true ) {
              uVar15 = uVar17 + uVar14 >> 1;
              pfVar13 = pfVar5 + uVar15;
              iVar7 = strcmp(pcVar2,pfVar13->function_name);
              if (-1 < iVar7) break;
              uVar14 = uVar15;
              if (uVar15 <= uVar17) goto LAB_00019211;
            }
            if (iVar7 == 0) goto LAB_00019164;
            uVar17 = uVar15 + 1;
          }
LAB_00019211:
          pfVar13 = (function_map *)0x0;
        }
        symtab.len = symtab.len + 1;
      }
LAB_00019171:
      iVar16 = iVar16 + 1;
    } while (iVar16 < core_num_syms);
    if (symtab.len != 0) {
      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);
      symtab.limit = symtab.base;
      if (core_num_syms < 1) {
        symtab.len = 0;
      }
      else {
        iVar16 = 0;
        do {
          while( true ) {
            iVar7 = core_sym_class(core_syms[iVar16]);
            pfVar5 = symbol_map;
            if (iVar7 == 0) break;
            if (symbol_map_count == 0) {
              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;
LAB_0001928e:
              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;
              sym_init(symtab.limit);
              pSVar9 = symtab.limit;
              paVar3 = core_syms[iVar16];
              pbVar4 = paVar3->section;
              name = *(char ***)((int)&paVar3->value + 4);
              filename_00 = *(char ***)&paVar3->value;
              *(char ***)((int)&(symtab.limit)->addr + 4) = name;
              *(char ***)&pSVar9->addr = filename_00;
              if (pbVar4 != (bfd_section *)0x0) {
                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);
                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);
                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));
                *(char ***)((int)&pSVar9->addr + 4) = name;
                *(char ***)&pSVar9->addr = filename_00;
              }
              pcVar2 = pfVar13->file_name;
              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;
              pSVar9->name = pcVar2;
            }
            else {
              pcVar2 = core_syms[iVar16]->name;
              uVar17 = 0;
              uVar14 = symbol_map_count;
              while (uVar17 < uVar14) {
                while( true ) {
                  uVar15 = uVar17 + uVar14 >> 1;
                  pfVar13 = pfVar5 + uVar15;
                  iVar10 = strcmp(pcVar2,pfVar13->function_name);
                  if (-1 < iVar10) break;
                  uVar14 = uVar15;
                  if (uVar15 <= uVar17) goto LAB_00019486;
                }
                if (iVar10 == 0) goto LAB_0001928e;
                uVar17 = uVar15 + 1;
              }
LAB_00019486:
              sym_init(symtab.limit);
              pSVar9 = symtab.limit;
              paVar3 = core_syms[iVar16];
              pbVar4 = paVar3->section;
              filename_00 = *(char ***)&paVar3->value;
              name = *(char ***)((int)&paVar3->value + 4);
              *(char ***)&(symtab.limit)->addr = filename_00;
              *(char ***)((int)&pSVar9->addr + 4) = name;
              if (pbVar4 != (bfd_section *)0x0) {
                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);
                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);
                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));
                *(char ***)((int)&pSVar9->addr + 4) = name;
                *(char ***)&pSVar9->addr = filename_00;
              }
              pcVar2 = paVar3->name;
              pfVar13 = (function_map *)0x0;
              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;
              pSVar9->name = pcVar2;
            }
            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,
                                 (int *)&filename);
            pSVar9 = symtab.limit;
            if (bVar8 != 0) {
              pSVar11 = source_file_lookup_path(filename);
              pSVar9->file = pSVar11;
            }
            pSVar9 = symtab.limit;
            bVar12 = 1;
            if (bVar19) {
              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;
            }
            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;
            (symtab.limit)->field_0x1c = bVar12 | 4;
            if (iVar7 == 0x74) {
              pSVar9->field_0x1c = bVar12 | 6;
            }
            if (((byte)debug_level & 0x80) != 0) {
              printf("[core_create_function_syms] %ld %s 0x%lx\n",
                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,
                     (int)pSVar9->addr);
              pSVar9 = symtab.limit;
            }
            symtab.limit = pSVar9 + 1;
LAB_00019364:
            iVar16 = iVar16 + 1;
            if (core_num_syms <= iVar16) goto LAB_000193d8;
          }
          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;
          iVar7 = iVar16 + 1;
          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,
                 core_syms[iVar16]->name);
          iVar16 = iVar7;
        } while (iVar7 < core_num_syms);
LAB_000193d8:
        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;
      }
      symtab_finalize(&symtab);
      return;
    }
  }
  pcVar6 = whoami;
  pcVar2 = a_out_name;
  __format = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);
  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2);
                    /* WARNING: Subroutine does not return */
  done(1);
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_000190e0(void)

{
  int iVar1;
  undefined *puVar2;
  undefined4 uVar3;
  int iVar4;
  uint *puVar5;
  int iVar6;
  int iVar7;
  char *pcVar8;
  byte bVar9;
  undefined4 *puVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  uint uVar14;
  bool bVar15;
  undefined4 local_24;
  undefined1 local_20 [12];
  undefined4 uStack_14;
  
  uStack_14 = 0x190e9;
  bVar15 = false;
  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);
  if (uVar14 < 0xb) {
    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;
  }
  puVar10 = (undefined4 *)0x0;
  iVar13 = 0;
  DAT_0002e520 = 0;
  if (0 < DAT_0002e128) {
    do {
      iVar4 = FUN_000185b0();
      iVar1 = DAT_0002e4f4;
      if (iVar4 != 0) {
        if (DAT_0002e4f8 == 0) {
          if (puVar10 != (undefined4 *)0x0) {
LAB_00019164:
            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;
          }
        }
        else {
          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);
          uVar14 = 0;
          uVar11 = DAT_0002e4f8;
          while (uVar14 < uVar11) {
            while( true ) {
              uVar12 = uVar14 + uVar11 >> 1;
              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);
              iVar4 = strcmp(pcVar8,(char *)*puVar10);
              if (-1 < iVar4) break;
              uVar11 = uVar12;
              if (uVar12 <= uVar14) goto LAB_00019211;
            }
            if (iVar4 == 0) goto LAB_00019164;
            uVar14 = uVar12 + 1;
          }
LAB_00019211:
          puVar10 = (undefined4 *)0x0;
        }
        DAT_0002e520 = DAT_0002e520 + 1;
      }
LAB_00019171:
      iVar13 = iVar13 + 1;
    } while (iVar13 < DAT_0002e128);
    if (DAT_0002e520 != 0) {
      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);
      DAT_0002e528 = DAT_0002e524;
      if (DAT_0002e128 < 1) {
        DAT_0002e520 = 0;
      }
      else {
        iVar13 = 0;
        do {
          while( true ) {
            iVar1 = iVar13 * 4;
            iVar6 = FUN_000185b0();
            iVar4 = DAT_0002e4f4;
            if (iVar6 == 0) break;
            if (DAT_0002e4f8 == 0) {
              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;
LAB_0001928e:
              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;
              FUN_0001ce40(DAT_0002e528);
              puVar5 = DAT_0002e528;
              iVar4 = *(int *)(DAT_0002e124 + iVar1);
              iVar7 = *(int *)(iVar4 + 0x14);
              uVar14 = *(uint *)(iVar4 + 0xc);
              uVar11 = *(uint *)(iVar4 + 8);
              DAT_0002e528[1] = uVar14;
              *puVar5 = uVar11;
              if (iVar7 != 0) {
                uVar12 = *(uint *)(iVar7 + 0x1c);
                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +
                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));
                *puVar5 = uVar11 + uVar12;
              }
              uVar14 = puVar10[1];
              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;
              puVar5[4] = uVar14;
            }
            else {
              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);
              uVar14 = 0;
              uVar11 = DAT_0002e4f8;
              while (uVar14 < uVar11) {
                while( true ) {
                  uVar12 = uVar14 + uVar11 >> 1;
                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);
                  iVar7 = strcmp(pcVar8,(char *)*puVar10);
                  if (-1 < iVar7) break;
                  uVar11 = uVar12;
                  if (uVar12 <= uVar14) goto LAB_00019486;
                }
                if (iVar7 == 0) goto LAB_0001928e;
                uVar14 = uVar12 + 1;
              }
LAB_00019486:
              FUN_0001ce40(DAT_0002e528);
              puVar5 = DAT_0002e528;
              iVar4 = *(int *)(DAT_0002e124 + iVar1);
              iVar7 = *(int *)(iVar4 + 0x14);
              uVar14 = *(uint *)(iVar4 + 8);
              uVar11 = *(uint *)(iVar4 + 0xc);
              *DAT_0002e528 = uVar14;
              puVar5[1] = uVar11;
              if (iVar7 != 0) {
                uVar12 = *(uint *)(iVar7 + 0x1c);
                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +
                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));
                *puVar5 = uVar14 + uVar12;
              }
              uVar14 = *(uint *)(iVar4 + 4);
              puVar10 = (undefined4 *)0x0;
              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;
              puVar5[4] = uVar14;
            }
            iVar4 = FUN_00018440(local_20,puVar5 + 6);
            puVar5 = DAT_0002e528;
            if (iVar4 != 0) {
              uVar14 = FUN_0001c820(local_24);
              puVar5[5] = uVar14;
            }
            puVar5 = DAT_0002e528;
            bVar9 = 1;
            if (bVar15) {
              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;
            }
            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;
            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;
            if (iVar6 == 0x74) {
              *(byte *)(puVar5 + 7) = bVar9 | 6;
            }
            if (((byte)DAT_0002e158 & 0x80) != 0) {
              printf("[core_create_function_syms] %ld %s 0x%lx\n",
                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);
              puVar5 = DAT_0002e528;
            }
            DAT_0002e528 = puVar5 + 0x3f;
LAB_00019364:
            iVar13 = iVar13 + 1;
            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;
          }
          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;
          iVar1 = iVar13 * 4;
          iVar13 = iVar13 + 1;
          iVar1 = *(int *)(DAT_0002e124 + iVar1);
          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),
                 *(undefined4 *)(iVar1 + 4));
        } while (iVar13 < DAT_0002e128);
LAB_000193d8:
        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;
      }
      FUN_0001ce90(&DAT_0002e520);
      return;
    }
  }
  uVar3 = DAT_0002e508;
  puVar2 = PTR_s_a_out_0002d4a0;
  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);
  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);
                    /* WARNING: Subroutine does not return */
  FUN_0001adb0(1);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013030
ADD EBX,0x13f17
SUB ESP,0x4c
MOV dword ptr [ESP + 0x24],0x0
LEA EAX,[EBX + 0x14ec]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV ECX,dword ptr [EAX + 0x4]
CMP ECX,0xa
JA 0x00019123
MOV EAX,0x1
SHL EAX,CL
TEST EAX,0x43c
SETNZ AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0x1520]
MOV ECX,dword ptr [EBX + 0x1128]
XOR EBP,EBP
XOR EDI,EDI
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [EAX],0x0
TEST ECX,ECX
JLE 0x0001954b
LEA EAX,[EBX + 0x14f8]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0x14f4]
MOV dword ptr [ESP + 0x20],EAX
JMP 0x00019180
TEST EBP,EBP
JZ 0x0001916a
TEST byte ptr [EBP + 0x8],0x1
JZ 0x00019171
MOV EAX,dword ptr [ESP + 0xc]
ADD dword ptr [EAX],0x1
ADD EDI,0x1
CMP dword ptr [EBX + 0x1128],EDI
JLE 0x00019220
MOV EAX,dword ptr [EBX + 0x1124]
LEA ESI,[EDI*0x4 + 0x0]
MOV EAX,dword ptr [EAX + EDI*0x4]
CALL 0x000185b0
TEST EAX,EAX
JZ 0x00019171
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x00019160
MOV EAX,dword ptr [ESP + 0x20]
XOR ECX,ECX
MOV dword ptr [ESP + 0x1c],EDI
MOV EBP,EDX
MOV EDI,ECX
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBX + 0x1124]
MOV EAX,dword ptr [EAX + ESI*0x1]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x000191d9
JZ 0x00019540
LEA EDI,[ESI + 0x1]
CMP EDI,EBP
JNC 0x00019211
MOV dword ptr [ESP + 0x8],EDI
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0x10]
SUB ESP,0x8
LEA ESI,[EAX + EBP*0x1]
SHR ESI,0x1
LEA EAX,[ESI + ESI*0x2]
LEA EDI,[EDX + EAX*0x4]
PUSH dword ptr [EDI]
PUSH dword ptr [ESP + 0x20]
CALL 0x00012060
ADD ESP,0x10
TEST EAX,EAX
JNS 0x000191d0
MOV EBP,ESI
CMP ESI,dword ptr [ESP + 0x8]
JA 0x000191e1
MOV EDI,dword ptr [ESP + 0x1c]
XOR EBP,EBP
JMP 0x0001916a
MOV EDI,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0001954b
IMUL EAX,EAX,0xfc
SUB ESP,0xc
PUSH EAX
CALL 0x000121d0
MOV EDX,dword ptr [EBX + 0x1128]
ADD ESP,0x10
MOV dword ptr [EDI + 0x4],EAX
MOV dword ptr [EDI + 0x8],EAX
TEST EDX,EDX
JLE 0x0001958d
LEA EAX,[EBX + 0x14f8]
XOR EDI,EDI
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBX + 0x1158]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,EDI
MOV EDI,EBP
MOV EBP,EAX
JMP 0x0001936f
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JNZ 0x00019408
TEST EDI,EDI
JZ 0x00019486
TEST byte ptr [EDI + 0x8],0x1
JZ 0x00019364
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x18]
PUSH dword ptr [ESI + 0x8]
CALL 0x0001ce40
MOV EDX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ESI + 0x8]
ADD ESP,0x10
MOV EAX,dword ptr [EBX + 0x1124]
MOV EAX,dword ptr [EAX + EDX*0x1]
MOV ECX,dword ptr [EAX + 0x14]
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI],EAX
TEST ECX,ECX
JZ 0x000192d7
ADD EAX,dword ptr [ECX + 0x1c]
ADC EDX,dword ptr [ECX + 0x20]
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI],EAX
MOV ECX,dword ptr [EDI + 0x4]
OR byte ptr [ESI + 0x1c],0x8
MOV dword ptr [ESI + 0x10],ECX
LEA ECX,[ESP + 0x38]
ADD ESI,0x18
SUB ESP,0x8
PUSH ESI
LEA ESI,[ESP + 0x48]
PUSH ESI
CALL 0x00018440
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000194e0
MOV EAX,dword ptr [ESP + 0x24]
MOV ECX,0x1
TEST EAX,EAX
JZ 0x00019326
MOV EDX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EBX + 0x1124]
MOV EAX,dword ptr [EAX + EDX*0x1]
MOV EDX,dword ptr [EAX + 0x10]
SHR EDX,0x3
MOV ECX,EDX
AND ECX,0x1
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
MOVZX EDX,byte ptr [EAX + 0x1c]
AND EDX,0xfffffffe
OR EDX,ECX
MOV ECX,EDX
OR ECX,0x4
CMP dword ptr [ESP + 0x1c],0x74
MOV byte ptr [EAX + 0x1c],CL
JNZ 0x0001934b
OR EDX,0x6
MOV byte ptr [EAX + 0x1c],DL
MOV EDX,dword ptr [ESP + 0x28]
TEST byte ptr [EDX],0x80
JNZ 0x00019500
MOV EDX,dword ptr [ESP + 0xc]
ADD EAX,0xfc
MOV dword ptr [EDX + 0x8],EAX
ADD EBP,0x1
CMP dword ptr [EBX + 0x1128],EBP
JLE 0x000193d8
LEA EAX,[EBP*0x4 + 0x0]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBX + 0x1124]
MOV EAX,dword ptr [EAX + EBP*0x4]
CALL 0x000185b0
MOV dword ptr [ESP + 0x1c],EAX
TEST EAX,EAX
JNZ 0x00019278
LEA EAX,[EBX + 0x1158]
TEST byte ptr [EAX],0x80
JZ 0x00019364
MOV EAX,dword ptr [EBX + 0x1124]
LEA EDX,[EBP*0x4 + 0x0]
SUB ESP,0x4
ADD EBP,0x1
MOV EAX,dword ptr [EAX + EDX*0x1]
PUSH dword ptr [EAX + 0x4]
PUSH dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xffff5bd0]
PUSH EAX
CALL 0x00012070
ADD ESP,0x10
CMP dword ptr [EBX + 0x1128],EBP
JG 0x0001936f
LEA ESI,[ESI]
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EDX + 0x8]
SUB EAX,dword ptr [EDX + 0x4]
SAR EAX,0x2
IMUL EAX,EAX,-0x41041041
MOV EDX,dword ptr [ESP + 0xc]
SUB ESP,0xc
MOV dword ptr [EDX],EAX
PUSH EDX
CALL 0x0001ce90
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0x14f4]
LEA ECX,[EBP*0x4 + 0x0]
MOV dword ptr [ESP + 0x2c],EBP
MOV EDI,EDX
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBX + 0x1124]
MOV EAX,dword ptr [EAX + ECX*0x1]
XOR ECX,ECX
MOV EBP,ECX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00019449
JZ 0x00019530
LEA EBP,[ESI + 0x1]
CMP EDI,EBP
JBE 0x00019482
MOV dword ptr [ESP + 0x8],EBP
MOV EAX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0x10]
SUB ESP,0x8
LEA ESI,[EAX + EDI*0x1]
SHR ESI,0x1
LEA EAX,[ESI + ESI*0x2]
LEA EBP,[ECX + EAX*0x4]
PUSH dword ptr [EBP]
PUSH dword ptr [ESP + 0x20]
CALL 0x00012060
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00019440
MOV EDI,ESI
CMP dword ptr [ESP + 0x8],ESI
JC 0x00019451
MOV EBP,dword ptr [ESP + 0x2c]
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x18]
PUSH dword ptr [ESI + 0x8]
CALL 0x0001ce40
MOV EDX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ESI + 0x8]
ADD ESP,0x10
MOV EAX,dword ptr [EBX + 0x1124]
MOV ECX,dword ptr [EAX + EDX*0x1]
MOV EDI,dword ptr [ECX + 0x14]
MOV EAX,dword ptr [ECX + 0x8]
MOV EDX,dword ptr [ECX + 0xc]
MOV dword ptr [ESI],EAX
MOV dword ptr [ESI + 0x4],EDX
TEST EDI,EDI
JZ 0x000194c5
ADD EAX,dword ptr [EDI + 0x1c]
ADC EDX,dword ptr [EDI + 0x20]
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI],EAX
MOV ECX,dword ptr [ECX + 0x4]
XOR EDI,EDI
AND byte ptr [ESI + 0x1c],0xf7
MOV dword ptr [ESI + 0x10],ECX
JMP 0x000192e1
MOV EAX,dword ptr [ESP + 0xc]
SUB ESP,0xc
MOV ESI,dword ptr [EAX + 0x8]
PUSH dword ptr [ESP + 0x44]
CALL 0x0001c820
ADD ESP,0x10
MOV dword ptr [ESI + 0x14],EAX
JMP 0x00019301
PUSH dword ptr [EAX]
PUSH dword ptr [EAX + 0x10]
MOV ESI,dword ptr [ESP + 0x14]
SUB EAX,dword ptr [ESI + 0x4]
SAR EAX,0x2
IMUL EAX,EAX,-0x41041041
PUSH EAX
LEA EAX,[EBX + 0xffff5c04]
PUSH EAX
CALL 0x00012070
MOV EAX,dword ptr [ESI + 0x8]
ADD ESP,0x10
JMP 0x00019358
MOV EDI,EBP
MOV EBP,dword ptr [ESP + 0x2c]
JMP 0x0001928e
MOV EBP,EDI
MOV EDI,dword ptr [ESP + 0x1c]
JMP 0x00019164
LEA EAX,[EBX + 0x4a0]
SUB ESP,0x4
MOV EDI,dword ptr [EAX]
LEA EAX,[EBX + 0x1508]
MOV ESI,dword ptr [EAX]
LEA EAX,[EBX + 0xffff5d42]
PUSH 0x5
PUSH EAX
LEA EAX,[EBX + 0xffff500c]
PUSH EAX
CALL 0x00012120
PUSH EDI
PUSH ESI
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffcc]
PUSH dword ptr [EAX]
CALL 0x00012310
ADD ESP,0x14
PUSH 0x1
CALL 0x0001adb0
XOR EAX,EAX
JMP 0x000193eb
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_000190e0(void)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    /* WARNING: Subroutine does not return */\n  FUN_0001adb0(1);\n}\n\n" comment (function_definition "void FUN_000190e0(void)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    /* WARNING: Subroutine does not return */\n  FUN_0001adb0(1);\n}" primitive_type (function_declarator "FUN_000190e0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    /* WARNING: Subroutine does not return */\n  FUN_0001adb0(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined1 local_20 [12];" type_identifier (array_declarator "local_20 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x190e9;" (assignment_expression "uStack_14 = 0x190e9" identifier = number_literal) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);" (assignment_expression "uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" identifier = (pointer_expression "*(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" * (cast_expression "(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0002e4ec + 4) + 4)" ( (binary_expression "*(int *)(DAT_0002e4ec + 4) + 4" (pointer_expression "*(int *)(DAT_0002e4ec + 4)" * (cast_expression "(int *)(DAT_0002e4ec + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4ec + 4)" ( (binary_expression "DAT_0002e4ec + 4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }" if (parenthesized_expression "(uVar14 < 0xb)" ( (binary_expression "uVar14 < 0xb" identifier < number_literal) )) (compound_statement "{\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }" { (expression_statement "bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;" (assignment_expression "bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0" identifier = (binary_expression "(1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0" (parenthesized_expression "(1 << ((byte)uVar14 & 0x1f) & 0x43cU)" ( (binary_expression "1 << ((byte)uVar14 & 0x1f) & 0x43cU" (binary_expression "1 << ((byte)uVar14 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar14 & 0x1f)" ( (binary_expression "(byte)uVar14 & 0x1f" (cast_expression "(byte)uVar14" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal)) ;) })) (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "DAT_0002e520 = 0;" (assignment_expression "DAT_0002e520 = 0" identifier = number_literal) ;) (if_statement "if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }" if (parenthesized_expression "(0 < DAT_0002e128)" ( (binary_expression "0 < DAT_0002e128" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }" { (do_statement "do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);" do (compound_statement "{\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    }" { (expression_statement "iVar4 = FUN_000185b0();" (assignment_expression "iVar4 = FUN_000185b0()" identifier = (call_expression "FUN_000185b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = DAT_0002e4f4;" (assignment_expression "iVar1 = DAT_0002e4f4" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }" { (if_statement "if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" if (parenthesized_expression "(DAT_0002e4f8 == 0)" ( (binary_expression "DAT_0002e4f8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }" { (if_statement "if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }" if (parenthesized_expression "(puVar10 != (undefined4 *)0x0)" ( (binary_expression "puVar10 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }" { (labeled_statement "LAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;" statement_identifier : (if_statement "if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;" if (parenthesized_expression "((*(byte *)(puVar10 + 2) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar10 + 2) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10 + 2) & 1)" ( (binary_expression "*(byte *)(puVar10 + 2) & 1" (pointer_expression "*(byte *)(puVar10 + 2)" * (cast_expression "(byte *)(puVar10 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 2)" ( (binary_expression "puVar10 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019171;" goto statement_identifier ;))) })) }) (else_clause "else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" else (compound_statement "{\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" { (expression_statement "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);" (assignment_expression "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" identifier = (pointer_expression "*(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" * (cast_expression "(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (binary_expression "*(int *)(DAT_0002e124 + iVar13 * 4) + 4" (pointer_expression "*(int *)(DAT_0002e124 + iVar13 * 4)" * (cast_expression "(int *)(DAT_0002e124 + iVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar13 * 4)" ( (binary_expression "DAT_0002e124 + iVar13 * 4" identifier + (binary_expression "iVar13 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = DAT_0002e4f8;" (assignment_expression "uVar11 = DAT_0002e4f8" identifier = identifier) ;) (while_statement "while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }" while (parenthesized_expression "(uVar14 < uVar11)" ( (binary_expression "uVar14 < uVar11" identifier < identifier) )) (compound_statement "{\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }" { (while_statement "while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }" { (expression_statement "uVar12 = uVar14 + uVar11 >> 1;" (assignment_expression "uVar12 = uVar14 + uVar11 >> 1" identifier = (binary_expression "uVar14 + uVar11 >> 1" (binary_expression "uVar14 + uVar11" identifier + identifier) >> number_literal)) ;) (expression_statement "puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);" (assignment_expression "puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc)" identifier = (cast_expression "(undefined4 *)(iVar1 + uVar12 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + uVar12 * 0xc)" ( (binary_expression "iVar1 + uVar12 * 0xc" identifier + (binary_expression "uVar12 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "iVar4 = strcmp(pcVar8,(char *)*puVar10);" (assignment_expression "iVar4 = strcmp(pcVar8,(char *)*puVar10)" identifier = (call_expression "strcmp(pcVar8,(char *)*puVar10)" identifier (argument_list "(pcVar8,(char *)*puVar10)" ( identifier , (cast_expression "(char *)*puVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) )))) ;) (if_statement "if (-1 < iVar4) break;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (if_statement "if (uVar12 <= uVar14) goto LAB_00019211;" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (goto_statement "goto LAB_00019211;" goto statement_identifier ;)) })) (if_statement "if (iVar4 == 0) goto LAB_00019164;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019164;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019211:\n          puVar10 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "DAT_0002e520 = DAT_0002e520 + 1;" (assignment_expression "DAT_0002e520 = DAT_0002e520 + 1" identifier = (binary_expression "DAT_0002e520 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019171:\n      iVar13 = iVar13 + 1;" statement_identifier : (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar13 < DAT_0002e128)" ( (binary_expression "iVar13 < DAT_0002e128" identifier < identifier) )) ;) (if_statement "if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }" if (parenthesized_expression "(DAT_0002e520 != 0)" ( (binary_expression "DAT_0002e520 != 0" identifier != number_literal) )) (compound_statement "{\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }" { (expression_statement "DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);" (assignment_expression "DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc)" identifier = (cast_expression "(uint *)xmalloc(DAT_0002e520 * 0xfc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(DAT_0002e520 * 0xfc)" identifier (argument_list "(DAT_0002e520 * 0xfc)" ( (binary_expression "DAT_0002e520 * 0xfc" identifier * number_literal) ))))) ;) (expression_statement "DAT_0002e528 = DAT_0002e524;" (assignment_expression "DAT_0002e528 = DAT_0002e524" identifier = identifier) ;) (if_statement "if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" if (parenthesized_expression "(DAT_0002e128 < 1)" ( (binary_expression "DAT_0002e128 < 1" identifier < number_literal) )) (compound_statement "{\n        DAT_0002e520 = 0;\n      }" { (expression_statement "DAT_0002e520 = 0;" (assignment_expression "DAT_0002e520 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" else (compound_statement "{\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);" do (compound_statement "{\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        }" { (while_statement "while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }" { (expression_statement "iVar1 = iVar13 * 4;" (assignment_expression "iVar1 = iVar13 * 4" identifier = (binary_expression "iVar13 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = FUN_000185b0();" (assignment_expression "iVar6 = FUN_000185b0()" identifier = (call_expression "FUN_000185b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = DAT_0002e4f4;" (assignment_expression "iVar4 = DAT_0002e4f4" identifier = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" if (parenthesized_expression "(DAT_0002e4f8 == 0)" ( (binary_expression "DAT_0002e4f8 == 0" identifier == number_literal) )) (compound_statement "{\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }" { (if_statement "if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;" if (parenthesized_expression "(puVar10 == (undefined4 *)0x0)" ( (binary_expression "puVar10 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00019486;" goto statement_identifier ;)) (labeled_statement "LAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;" statement_identifier : (if_statement "if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;" if (parenthesized_expression "((*(byte *)(puVar10 + 2) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar10 + 2) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10 + 2) & 1)" ( (binary_expression "*(byte *)(puVar10 + 2) & 1" (pointer_expression "*(byte *)(puVar10 + 2)" * (cast_expression "(byte *)(puVar10 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 2)" ( (binary_expression "puVar10 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019364;" goto statement_identifier ;))) (expression_statement "FUN_0001ce40(DAT_0002e528);" (call_expression "FUN_0001ce40(DAT_0002e528)" identifier (argument_list "(DAT_0002e528)" ( identifier ))) ;) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar4 = *(int *)(DAT_0002e124 + iVar1)" identifier = (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar11 = *(uint *)(iVar4 + 8)" identifier = (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "DAT_0002e528[1] = uVar14;" (assignment_expression "DAT_0002e528[1] = uVar14" (subscript_expression "DAT_0002e528[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar5 = uVar11;" (assignment_expression "*puVar5 = uVar11" (pointer_expression "*puVar5" * identifier) = identifier) ;) (if_statement "if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }" { (expression_statement "uVar12 = *(uint *)(iVar7 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(iVar7 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));" (assignment_expression "puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (binary_expression "uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (binary_expression "uVar14 + *(int *)(iVar7 + 0x20)" identifier + (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" identifier (argument_list "(uVar11,*(uint *)(iVar7 + 0x1c))" ( identifier , (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) )))))) ;) (expression_statement "*puVar5 = uVar11 + uVar12;" (assignment_expression "*puVar5 = uVar11 + uVar12" (pointer_expression "*puVar5" * identifier) = (binary_expression "uVar11 + uVar12" identifier + identifier)) ;) })) (expression_statement "uVar14 = puVar10[1];" (assignment_expression "uVar14 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;" (assignment_expression "*(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "(byte)puVar5[7] | 8" (cast_expression "(byte)puVar5[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar5[7]" identifier [ number_literal ])) | number_literal)) ;) (expression_statement "puVar5[4] = uVar14;" (assignment_expression "puVar5[4] = uVar14" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" else (compound_statement "{\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" { (expression_statement "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);" (assignment_expression "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" identifier = (pointer_expression "*(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" * (cast_expression "(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (binary_expression "*(int *)(DAT_0002e124 + iVar13 * 4) + 4" (pointer_expression "*(int *)(DAT_0002e124 + iVar13 * 4)" * (cast_expression "(int *)(DAT_0002e124 + iVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar13 * 4)" ( (binary_expression "DAT_0002e124 + iVar13 * 4" identifier + (binary_expression "iVar13 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = DAT_0002e4f8;" (assignment_expression "uVar11 = DAT_0002e4f8" identifier = identifier) ;) (while_statement "while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }" while (parenthesized_expression "(uVar14 < uVar11)" ( (binary_expression "uVar14 < uVar11" identifier < identifier) )) (compound_statement "{\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }" { (while_statement "while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }" { (expression_statement "uVar12 = uVar14 + uVar11 >> 1;" (assignment_expression "uVar12 = uVar14 + uVar11 >> 1" identifier = (binary_expression "uVar14 + uVar11 >> 1" (binary_expression "uVar14 + uVar11" identifier + identifier) >> number_literal)) ;) (expression_statement "puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);" (assignment_expression "puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc)" identifier = (cast_expression "(undefined4 *)(iVar4 + uVar12 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar12 * 0xc)" ( (binary_expression "iVar4 + uVar12 * 0xc" identifier + (binary_expression "uVar12 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "iVar7 = strcmp(pcVar8,(char *)*puVar10);" (assignment_expression "iVar7 = strcmp(pcVar8,(char *)*puVar10)" identifier = (call_expression "strcmp(pcVar8,(char *)*puVar10)" identifier (argument_list "(pcVar8,(char *)*puVar10)" ( identifier , (cast_expression "(char *)*puVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) )))) ;) (if_statement "if (-1 < iVar7) break;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (if_statement "if (uVar12 <= uVar14) goto LAB_00019486;" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (goto_statement "goto LAB_00019486;" goto statement_identifier ;)) })) (if_statement "if (iVar7 == 0) goto LAB_0001928e;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001928e;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019486:\n              FUN_0001ce40(DAT_0002e528);" statement_identifier : (expression_statement "FUN_0001ce40(DAT_0002e528);" (call_expression "FUN_0001ce40(DAT_0002e528)" identifier (argument_list "(DAT_0002e528)" ( identifier ))) ;)) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar4 = *(int *)(DAT_0002e124 + iVar1)" identifier = (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 8)" identifier = (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar11 = *(uint *)(iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*DAT_0002e528 = uVar14;" (assignment_expression "*DAT_0002e528 = uVar14" (pointer_expression "*DAT_0002e528" * identifier) = identifier) ;) (expression_statement "puVar5[1] = uVar11;" (assignment_expression "puVar5[1] = uVar11" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }" { (expression_statement "uVar12 = *(uint *)(iVar7 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(iVar7 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));" (assignment_expression "puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (binary_expression "uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (binary_expression "uVar11 + *(int *)(iVar7 + 0x20)" identifier + (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" identifier (argument_list "(uVar14,*(uint *)(iVar7 + 0x1c))" ( identifier , (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) )))))) ;) (expression_statement "*puVar5 = uVar14 + uVar12;" (assignment_expression "*puVar5 = uVar14 + uVar12" (pointer_expression "*puVar5" * identifier) = (binary_expression "uVar14 + uVar12" identifier + identifier)) ;) })) (expression_statement "uVar14 = *(uint *)(iVar4 + 4);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 4)" identifier = (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;" (assignment_expression "*(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "(byte)puVar5[7] & 0xf7" (cast_expression "(byte)puVar5[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar5[7]" identifier [ number_literal ])) & number_literal)) ;) (expression_statement "puVar5[4] = uVar14;" (assignment_expression "puVar5[4] = uVar14" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "iVar4 = FUN_00018440(local_20,puVar5 + 6);" (assignment_expression "iVar4 = FUN_00018440(local_20,puVar5 + 6)" identifier = (call_expression "FUN_00018440(local_20,puVar5 + 6)" identifier (argument_list "(local_20,puVar5 + 6)" ( identifier , (binary_expression "puVar5 + 6" identifier + number_literal) )))) ;) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }" { (expression_statement "uVar14 = FUN_0001c820(local_24);" (assignment_expression "uVar14 = FUN_0001c820(local_24)" identifier = (call_expression "FUN_0001c820(local_24)" identifier (argument_list "(local_24)" ( identifier )))) ;) (expression_statement "puVar5[5] = uVar14;" (assignment_expression "puVar5[5] = uVar14" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" identifier = number_literal) ;) (if_statement "if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }" { (expression_statement "bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;" (assignment_expression "bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1" identifier = (binary_expression "(byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1" (call_expression "(byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3)" ( (binary_expression "*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3" (pointer_expression "*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar1) + 0x10)" ( (binary_expression "*(int *)(DAT_0002e124 + iVar1) + 0x10" (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) )))) + number_literal) )))) >> number_literal) ))) & number_literal)) ;) })) (expression_statement "bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;" (assignment_expression "bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9" identifier = (binary_expression "(byte)DAT_0002e528[7] & 0xfe | bVar9" (binary_expression "(byte)DAT_0002e528[7] & 0xfe" (cast_expression "(byte)DAT_0002e528[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_0002e528[7]" identifier [ number_literal ])) & number_literal) | identifier)) ;) (expression_statement "*(byte *)(DAT_0002e528 + 7) = bVar9 | 4;" (assignment_expression "*(byte *)(DAT_0002e528 + 7) = bVar9 | 4" (pointer_expression "*(byte *)(DAT_0002e528 + 7)" * (cast_expression "(byte *)(DAT_0002e528 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e528 + 7)" ( (binary_expression "DAT_0002e528 + 7" identifier + number_literal) )))) = (binary_expression "bVar9 | 4" identifier | number_literal)) ;) (if_statement "if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }" if (parenthesized_expression "(iVar6 == 0x74)" ( (binary_expression "iVar6 == 0x74" identifier == number_literal) )) (compound_statement "{\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }" { (expression_statement "*(byte *)(puVar5 + 7) = bVar9 | 6;" (assignment_expression "*(byte *)(puVar5 + 7) = bVar9 | 6" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "bVar9 | 6" identifier | number_literal)) ;) })) (if_statement "if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) != 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x80) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" ( (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }" { (expression_statement "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);" (call_expression "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5)" identifier (argument_list "("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5)" ( (string_literal ""[core_create_function_syms] %ld %s 0x%lx\n"" " string_content escape_sequence ") , (binary_expression "((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041" (parenthesized_expression "((int)puVar5 - (int)DAT_0002e524 >> 2)" ( (binary_expression "(int)puVar5 - (int)DAT_0002e524 >> 2" (binary_expression "(int)puVar5 - (int)DAT_0002e524" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)DAT_0002e524" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) , (subscript_expression "puVar5[4]" identifier [ number_literal ]) , (pointer_expression "*puVar5" * identifier) ))) ;) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) })) (expression_statement "DAT_0002e528 = puVar5 + 0x3f;" (assignment_expression "DAT_0002e528 = puVar5 + 0x3f" identifier = (binary_expression "puVar5 + 0x3f" identifier + number_literal)) ;) (labeled_statement "LAB_00019364:\n            iVar13 = iVar13 + 1;" statement_identifier : (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (DAT_0002e128 <= iVar13) goto LAB_000193d8;" if (parenthesized_expression "(DAT_0002e128 <= iVar13)" ( (binary_expression "DAT_0002e128 <= iVar13" identifier <= identifier) )) (goto_statement "goto LAB_000193d8;" goto statement_identifier ;)) })) (if_statement "if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) == 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x80) == 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" ( (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019364;" goto statement_identifier ;)) (expression_statement "iVar1 = iVar13 * 4;" (assignment_expression "iVar1 = iVar13 * 4" identifier = (binary_expression "iVar13 * 4" identifier * number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar1 = *(int *)(DAT_0002e124 + iVar1)" identifier = (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) ))))) ;) (expression_statement "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));" (call_expression "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4))" identifier (argument_list "("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4))" ( (string_literal ""[core_create_function_syms] rejecting: 0x%lx %s\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(iVar1 + 8)" * (cast_expression "(undefined4 *)(iVar1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar1 + 4)" * (cast_expression "(undefined4 *)(iVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(iVar13 < DAT_0002e128)" ( (binary_expression "iVar13 < DAT_0002e128" identifier < identifier) )) ;) (labeled_statement "LAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;" statement_identifier : (expression_statement "DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;" (assignment_expression "DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041" identifier = (binary_expression "((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041" (parenthesized_expression "((int)DAT_0002e528 - (int)DAT_0002e524 >> 2)" ( (binary_expression "(int)DAT_0002e528 - (int)DAT_0002e524 >> 2" (binary_expression "(int)DAT_0002e528 - (int)DAT_0002e524" (cast_expression "(int)DAT_0002e528" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)DAT_0002e524" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;)) }))) (expression_statement "FUN_0001ce90(&DAT_0002e520);" (call_expression "FUN_0001ce90(&DAT_0002e520)" identifier (argument_list "(&DAT_0002e520)" ( (pointer_expression "&DAT_0002e520" & identifier) ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "uVar3 = DAT_0002e508;" (assignment_expression "uVar3 = DAT_0002e508" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_a_out_0002d4a0;" (assignment_expression "puVar2 = PTR_s_a_out_0002d4a0" identifier = identifier) ;) (expression_statement "pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" identifier (argument_list "("gprof","%s: file `%s\' has no symbols\n",5)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: file `%s\' has no symbols\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) comment (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid core_create_function_syms(void)\n\n{\n  bfd_flavour bVar1;\n  char *pcVar2;\n  asymbol *paVar3;\n  bfd_section *pbVar4;\n  function_map *pfVar5;\n  char *pcVar6;\n  int iVar7;\n  char **filename_00;\n  bfd_boolean bVar8;\n  Sym *pSVar9;\n  int iVar10;\n  Source_File *pSVar11;\n  char *__format;\n  byte bVar12;\n  char **name;\n  function_map *pfVar13;\n  uint uVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  bool bVar18;\n  bool bVar19;\n  char *filename;\n  char *func_name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar19 = false;\n  bVar1 = core_bfd->xvec->flavour;\n  if (bVar1 < bfd_target_os9k_flavour) {\n    bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;\n  }\n  pfVar13 = (function_map *)0x0;\n  iVar16 = 0;\n  symtab.len = 0;\n  if (0 < core_num_syms) {\n    do {\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    } while (iVar16 < core_num_syms);\n    if (symtab.len != 0) {\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }\n  }\n  pcVar6 = whoami;\n  pcVar2 = a_out_name;\n  __format = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2);\n                    /* WARNING: Subroutine does not return */\n  done(1);\n}\n\n" comment comment (function_definition "void core_create_function_syms(void)\n\n{\n  bfd_flavour bVar1;\n  char *pcVar2;\n  asymbol *paVar3;\n  bfd_section *pbVar4;\n  function_map *pfVar5;\n  char *pcVar6;\n  int iVar7;\n  char **filename_00;\n  bfd_boolean bVar8;\n  Sym *pSVar9;\n  int iVar10;\n  Source_File *pSVar11;\n  char *__format;\n  byte bVar12;\n  char **name;\n  function_map *pfVar13;\n  uint uVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  bool bVar18;\n  bool bVar19;\n  char *filename;\n  char *func_name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar19 = false;\n  bVar1 = core_bfd->xvec->flavour;\n  if (bVar1 < bfd_target_os9k_flavour) {\n    bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;\n  }\n  pfVar13 = (function_map *)0x0;\n  iVar16 = 0;\n  symtab.len = 0;\n  if (0 < core_num_syms) {\n    do {\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    } while (iVar16 < core_num_syms);\n    if (symtab.len != 0) {\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }\n  }\n  pcVar6 = whoami;\n  pcVar2 = a_out_name;\n  __format = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2);\n                    /* WARNING: Subroutine does not return */\n  done(1);\n}" primitive_type (function_declarator "core_create_function_syms(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  bfd_flavour bVar1;\n  char *pcVar2;\n  asymbol *paVar3;\n  bfd_section *pbVar4;\n  function_map *pfVar5;\n  char *pcVar6;\n  int iVar7;\n  char **filename_00;\n  bfd_boolean bVar8;\n  Sym *pSVar9;\n  int iVar10;\n  Source_File *pSVar11;\n  char *__format;\n  byte bVar12;\n  char **name;\n  function_map *pfVar13;\n  uint uVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  bool bVar18;\n  bool bVar19;\n  char *filename;\n  char *func_name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar19 = false;\n  bVar1 = core_bfd->xvec->flavour;\n  if (bVar1 < bfd_target_os9k_flavour) {\n    bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;\n  }\n  pfVar13 = (function_map *)0x0;\n  iVar16 = 0;\n  symtab.len = 0;\n  if (0 < core_num_syms) {\n    do {\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    } while (iVar16 < core_num_syms);\n    if (symtab.len != 0) {\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }\n  }\n  pcVar6 = whoami;\n  pcVar2 = a_out_name;\n  __format = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2);\n                    /* WARNING: Subroutine does not return */\n  done(1);\n}" { (declaration "bfd_flavour bVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "asymbol *paVar3;" type_identifier (pointer_declarator "*paVar3" * identifier) ;) (declaration "bfd_section *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "function_map *pfVar5;" type_identifier (pointer_declarator "*pfVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char **filename_00;" primitive_type (pointer_declarator "**filename_00" * (pointer_declarator "*filename_00" * identifier)) ;) (declaration "bfd_boolean bVar8;" type_identifier identifier ;) (declaration "Sym *pSVar9;" type_identifier (pointer_declarator "*pSVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Source_File *pSVar11;" type_identifier (pointer_declarator "*pSVar11" * identifier) ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "char **name;" primitive_type (pointer_declarator "**name" * (pointer_declarator "*name" * identifier)) ;) (declaration "function_map *pfVar13;" type_identifier (pointer_declarator "*pfVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "char *filename;" primitive_type (pointer_declarator "*filename" * identifier) ;) (declaration "char *func_name;" primitive_type (pointer_declarator "*func_name" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x190e9;" (assignment_expression "uStack_14 = 0x190e9" identifier = number_literal) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (expression_statement "bVar1 = core_bfd->xvec->flavour;" (assignment_expression "bVar1 = core_bfd->xvec->flavour" identifier = (field_expression "core_bfd->xvec->flavour" (field_expression "core_bfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (bVar1 < bfd_target_os9k_flavour) {\n    bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;\n  }" if (parenthesized_expression "(bVar1 < bfd_target_os9k_flavour)" ( (binary_expression "bVar1 < bfd_target_os9k_flavour" identifier < identifier) )) (compound_statement "{\n    bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;\n  }" { (expression_statement "bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0;" (assignment_expression "bVar19 = (1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0" identifier = (binary_expression "(1 << ((byte)bVar1 & 0x1f) & 0x43cU) != 0" (parenthesized_expression "(1 << ((byte)bVar1 & 0x1f) & 0x43cU)" ( (binary_expression "1 << ((byte)bVar1 & 0x1f) & 0x43cU" (binary_expression "1 << ((byte)bVar1 & 0x1f)" number_literal << (parenthesized_expression "((byte)bVar1 & 0x1f)" ( (binary_expression "(byte)bVar1 & 0x1f" (cast_expression "(byte)bVar1" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal)) ;) })) (expression_statement "pfVar13 = (function_map *)0x0;" (assignment_expression "pfVar13 = (function_map *)0x0" identifier = (cast_expression "(function_map *)0x0" ( (type_descriptor "function_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "symtab.len = 0;" (assignment_expression "symtab.len = 0" (field_expression "symtab.len" identifier . field_identifier) = number_literal) ;) (if_statement "if (0 < core_num_syms) {\n    do {\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    } while (iVar16 < core_num_syms);\n    if (symtab.len != 0) {\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }\n  }" if (parenthesized_expression "(0 < core_num_syms)" ( (binary_expression "0 < core_num_syms" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    } while (iVar16 < core_num_syms);\n    if (symtab.len != 0) {\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }\n  }" { (do_statement "do {\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    } while (iVar16 < core_num_syms);" do (compound_statement "{\n      iVar7 = core_sym_class(core_syms[iVar16]);\n      pfVar5 = symbol_map;\n      if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }\nLAB_00019171:\n      iVar16 = iVar16 + 1;\n    }" { (expression_statement "iVar7 = core_sym_class(core_syms[iVar16]);" (assignment_expression "iVar7 = core_sym_class(core_syms[iVar16])" identifier = (call_expression "core_sym_class(core_syms[iVar16])" identifier (argument_list "(core_syms[iVar16])" ( (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) )))) ;) (expression_statement "pfVar5 = symbol_map;" (assignment_expression "pfVar5 = symbol_map" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }\n        symtab.len = symtab.len + 1;\n      }" { (if_statement "if (symbol_map_count == 0) {\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }" if (parenthesized_expression "(symbol_map_count == 0)" ( (binary_expression "symbol_map_count == 0" identifier == number_literal) )) (compound_statement "{\n          if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }\n        }" { (if_statement "if (pfVar13 != (function_map *)0x0) {\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }" if (parenthesized_expression "(pfVar13 != (function_map *)0x0)" ( (binary_expression "pfVar13 != (function_map *)0x0" identifier != (cast_expression "(function_map *)0x0" ( (type_descriptor "function_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;\n          }" { (labeled_statement "LAB_00019164:\n            if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;" statement_identifier : (if_statement "if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019171;" if (parenthesized_expression "((pfVar13->field_0x8 & 1) == 0)" ( (binary_expression "(pfVar13->field_0x8 & 1) == 0" (parenthesized_expression "(pfVar13->field_0x8 & 1)" ( (binary_expression "pfVar13->field_0x8 & 1" (field_expression "pfVar13->field_0x8" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019171;" goto statement_identifier ;))) })) }) (else_clause "else {\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }" else (compound_statement "{\n          pcVar2 = core_syms[iVar16]->name;\n          uVar17 = 0;\n          uVar14 = symbol_map_count;\n          while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }\nLAB_00019211:\n          pfVar13 = (function_map *)0x0;\n        }" { (expression_statement "pcVar2 = core_syms[iVar16]->name;" (assignment_expression "pcVar2 = core_syms[iVar16]->name" identifier = (field_expression "core_syms[iVar16]->name" (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) -> field_identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = symbol_map_count;" (assignment_expression "uVar14 = symbol_map_count" identifier = identifier) ;) (while_statement "while (uVar17 < uVar14) {\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }" while (parenthesized_expression "(uVar17 < uVar14)" ( (binary_expression "uVar17 < uVar14" identifier < identifier) )) (compound_statement "{\n            while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }\n            if (iVar7 == 0) goto LAB_00019164;\n            uVar17 = uVar15 + 1;\n          }" { (while_statement "while( true ) {\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar15 = uVar17 + uVar14 >> 1;\n              pfVar13 = pfVar5 + uVar15;\n              iVar7 = strcmp(pcVar2,pfVar13->function_name);\n              if (-1 < iVar7) break;\n              uVar14 = uVar15;\n              if (uVar15 <= uVar17) goto LAB_00019211;\n            }" { (expression_statement "uVar15 = uVar17 + uVar14 >> 1;" (assignment_expression "uVar15 = uVar17 + uVar14 >> 1" identifier = (binary_expression "uVar17 + uVar14 >> 1" (binary_expression "uVar17 + uVar14" identifier + identifier) >> number_literal)) ;) (expression_statement "pfVar13 = pfVar5 + uVar15;" (assignment_expression "pfVar13 = pfVar5 + uVar15" identifier = (binary_expression "pfVar5 + uVar15" identifier + identifier)) ;) (expression_statement "iVar7 = strcmp(pcVar2,pfVar13->function_name);" (assignment_expression "iVar7 = strcmp(pcVar2,pfVar13->function_name)" identifier = (call_expression "strcmp(pcVar2,pfVar13->function_name)" identifier (argument_list "(pcVar2,pfVar13->function_name)" ( identifier , (field_expression "pfVar13->function_name" identifier -> field_identifier) )))) ;) (if_statement "if (-1 < iVar7) break;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = uVar15;" (assignment_expression "uVar14 = uVar15" identifier = identifier) ;) (if_statement "if (uVar15 <= uVar17) goto LAB_00019211;" if (parenthesized_expression "(uVar15 <= uVar17)" ( (binary_expression "uVar15 <= uVar17" identifier <= identifier) )) (goto_statement "goto LAB_00019211;" goto statement_identifier ;)) })) (if_statement "if (iVar7 == 0) goto LAB_00019164;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019164;" goto statement_identifier ;)) (expression_statement "uVar17 = uVar15 + 1;" (assignment_expression "uVar17 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019211:\n          pfVar13 = (function_map *)0x0;" statement_identifier : (expression_statement "pfVar13 = (function_map *)0x0;" (assignment_expression "pfVar13 = (function_map *)0x0" identifier = (cast_expression "(function_map *)0x0" ( (type_descriptor "function_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "symtab.len = symtab.len + 1;" (assignment_expression "symtab.len = symtab.len + 1" (field_expression "symtab.len" identifier . field_identifier) = (binary_expression "symtab.len + 1" (field_expression "symtab.len" identifier . field_identifier) + number_literal)) ;) })) (labeled_statement "LAB_00019171:\n      iVar16 = iVar16 + 1;" statement_identifier : (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar16 < core_num_syms)" ( (binary_expression "iVar16 < core_num_syms" identifier < identifier) )) ;) (if_statement "if (symtab.len != 0) {\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }" if (parenthesized_expression "(symtab.len != 0)" ( (binary_expression "symtab.len != 0" (field_expression "symtab.len" identifier . field_identifier) != number_literal) )) (compound_statement "{\n      symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);\n      symtab.limit = symtab.base;\n      if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }\n      symtab_finalize(&symtab);\n      return;\n    }" { (expression_statement "symtab.base = (Sym *)xmalloc(symtab.len * 0xfc);" (assignment_expression "symtab.base = (Sym *)xmalloc(symtab.len * 0xfc)" (field_expression "symtab.base" identifier . field_identifier) = (cast_expression "(Sym *)xmalloc(symtab.len * 0xfc)" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(symtab.len * 0xfc)" identifier (argument_list "(symtab.len * 0xfc)" ( (binary_expression "symtab.len * 0xfc" (field_expression "symtab.len" identifier . field_identifier) * number_literal) ))))) ;) (expression_statement "symtab.limit = symtab.base;" (assignment_expression "symtab.limit = symtab.base" (field_expression "symtab.limit" identifier . field_identifier) = (field_expression "symtab.base" identifier . field_identifier)) ;) (if_statement "if (core_num_syms < 1) {\n        symtab.len = 0;\n      }\n      else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }" if (parenthesized_expression "(core_num_syms < 1)" ( (binary_expression "core_num_syms < 1" identifier < number_literal) )) (compound_statement "{\n        symtab.len = 0;\n      }" { (expression_statement "symtab.len = 0;" (assignment_expression "symtab.len = 0" (field_expression "symtab.len" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }" else (compound_statement "{\n        iVar16 = 0;\n        do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);\nLAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;\n      }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        } while (iVar7 < core_num_syms);" do (compound_statement "{\n          while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }\n          if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;\n          iVar7 = iVar16 + 1;\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);\n          iVar16 = iVar7;\n        }" { (while_statement "while( true ) {\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar7 = core_sym_class(core_syms[iVar16]);\n            pfVar5 = symbol_map;\n            if (iVar7 == 0) break;\n            if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }\n            bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);\n            pSVar9 = symtab.limit;\n            if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }\n            pSVar9 = symtab.limit;\n            bVar12 = 1;\n            if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }\n            bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;\n            (symtab.limit)->field_0x1c = bVar12 | 4;\n            if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }\n            if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }\n            symtab.limit = pSVar9 + 1;\nLAB_00019364:\n            iVar16 = iVar16 + 1;\n            if (core_num_syms <= iVar16) goto LAB_000193d8;\n          }" { (expression_statement "iVar7 = core_sym_class(core_syms[iVar16]);" (assignment_expression "iVar7 = core_sym_class(core_syms[iVar16])" identifier = (call_expression "core_sym_class(core_syms[iVar16])" identifier (argument_list "(core_syms[iVar16])" ( (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) )))) ;) (expression_statement "pfVar5 = symbol_map;" (assignment_expression "pfVar5 = symbol_map" identifier = identifier) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (symbol_map_count == 0) {\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }\n            else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }" if (parenthesized_expression "(symbol_map_count == 0)" ( (binary_expression "symbol_map_count == 0" identifier == number_literal) )) (compound_statement "{\n              if (pfVar13 == (function_map *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              name = *(char ***)((int)&paVar3->value + 4);\n              filename_00 = *(char ***)&paVar3->value;\n              *(char ***)((int)&(symtab.limit)->addr + 4) = name;\n              *(char ***)&pSVar9->addr = filename_00;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = pfVar13->file_name;\n              pSVar9->field_0x1c = pSVar9->field_0x1c | 8;\n              pSVar9->name = pcVar2;\n            }" { (if_statement "if (pfVar13 == (function_map *)0x0) goto LAB_00019486;" if (parenthesized_expression "(pfVar13 == (function_map *)0x0)" ( (binary_expression "pfVar13 == (function_map *)0x0" identifier == (cast_expression "(function_map *)0x0" ( (type_descriptor "function_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00019486;" goto statement_identifier ;)) (labeled_statement "LAB_0001928e:\n              if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;" statement_identifier : (if_statement "if ((pfVar13->field_0x8 & 1) == 0) goto LAB_00019364;" if (parenthesized_expression "((pfVar13->field_0x8 & 1) == 0)" ( (binary_expression "(pfVar13->field_0x8 & 1) == 0" (parenthesized_expression "(pfVar13->field_0x8 & 1)" ( (binary_expression "pfVar13->field_0x8 & 1" (field_expression "pfVar13->field_0x8" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019364;" goto statement_identifier ;))) (expression_statement "sym_init(symtab.limit);" (call_expression "sym_init(symtab.limit)" identifier (argument_list "(symtab.limit)" ( (field_expression "symtab.limit" identifier . field_identifier) ))) ;) (expression_statement "pSVar9 = symtab.limit;" (assignment_expression "pSVar9 = symtab.limit" identifier = (field_expression "symtab.limit" identifier . field_identifier)) ;) (expression_statement "paVar3 = core_syms[iVar16];" (assignment_expression "paVar3 = core_syms[iVar16]" identifier = (subscript_expression "core_syms[iVar16]" identifier [ identifier ])) ;) (expression_statement "pbVar4 = paVar3->section;" (assignment_expression "pbVar4 = paVar3->section" identifier = (field_expression "paVar3->section" identifier -> field_identifier)) ;) (expression_statement "name = *(char ***)((int)&paVar3->value + 4);" (assignment_expression "name = *(char ***)((int)&paVar3->value + 4)" identifier = (pointer_expression "*(char ***)((int)&paVar3->value + 4)" * (cast_expression "(char ***)((int)&paVar3->value + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&paVar3->value + 4)" ( (binary_expression "(int)&paVar3->value + 4" (cast_expression "(int)&paVar3->value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar3->value" & (field_expression "paVar3->value" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "filename_00 = *(char ***)&paVar3->value;" (assignment_expression "filename_00 = *(char ***)&paVar3->value" identifier = (pointer_expression "*(char ***)&paVar3->value" * (cast_expression "(char ***)&paVar3->value" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&paVar3->value" & (field_expression "paVar3->value" identifier -> field_identifier))))) ;) (expression_statement "*(char ***)((int)&(symtab.limit)->addr + 4) = name;" (assignment_expression "*(char ***)((int)&(symtab.limit)->addr + 4) = name" (pointer_expression "*(char ***)((int)&(symtab.limit)->addr + 4)" * (cast_expression "(char ***)((int)&(symtab.limit)->addr + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&(symtab.limit)->addr + 4)" ( (binary_expression "(int)&(symtab.limit)->addr + 4" (cast_expression "(int)&(symtab.limit)->addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(symtab.limit)->addr" & (field_expression "(symtab.limit)->addr" (parenthesized_expression "(symtab.limit)" ( (field_expression "symtab.limit" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)&pSVar9->addr = filename_00;" (assignment_expression "*(char ***)&pSVar9->addr = filename_00" (pointer_expression "*(char ***)&pSVar9->addr" * (cast_expression "(char ***)&pSVar9->addr" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pSVar9->addr" & (field_expression "pSVar9->addr" identifier -> field_identifier)))) = identifier) ;) (if_statement "if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }" if (parenthesized_expression "(pbVar4 != (bfd_section *)0x0)" ( (binary_expression "pbVar4 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }" { (expression_statement "bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);" (assignment_expression "bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma)" identifier = (call_expression "CARRY4((uint)filename_00,(uint)pbVar4->vma)" identifier (argument_list "((uint)filename_00,(uint)pbVar4->vma)" ( (cast_expression "(uint)filename_00" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pbVar4->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "pbVar4->vma" identifier -> field_identifier)) )))) ;) (expression_statement "filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);" (assignment_expression "filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma)" identifier = (cast_expression "(char **)((int)filename_00 + (int)pbVar4->vma)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)filename_00 + (int)pbVar4->vma)" ( (binary_expression "(int)filename_00 + (int)pbVar4->vma" (cast_expression "(int)filename_00" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar4->vma" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar4->vma" identifier -> field_identifier))) )))) ;) (expression_statement "name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));" (assignment_expression "name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4))" identifier = (cast_expression "(char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4))" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4))" ( (binary_expression "(int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4)" (binary_expression "(int)name + (uint)bVar18" (cast_expression "(int)name" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) + (pointer_expression "*(int *)((int)&pbVar4->vma + 4)" * (cast_expression "(int *)((int)&pbVar4->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar4->vma + 4)" ( (binary_expression "(int)&pbVar4->vma + 4" (cast_expression "(int)&pbVar4->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar4->vma" & (field_expression "pbVar4->vma" identifier -> field_identifier))) + number_literal) ))))) )))) ;) (expression_statement "*(char ***)((int)&pSVar9->addr + 4) = name;" (assignment_expression "*(char ***)((int)&pSVar9->addr + 4) = name" (pointer_expression "*(char ***)((int)&pSVar9->addr + 4)" * (cast_expression "(char ***)((int)&pSVar9->addr + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&pSVar9->addr + 4)" ( (binary_expression "(int)&pSVar9->addr + 4" (cast_expression "(int)&pSVar9->addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar9->addr" & (field_expression "pSVar9->addr" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)&pSVar9->addr = filename_00;" (assignment_expression "*(char ***)&pSVar9->addr = filename_00" (pointer_expression "*(char ***)&pSVar9->addr" * (cast_expression "(char ***)&pSVar9->addr" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pSVar9->addr" & (field_expression "pSVar9->addr" identifier -> field_identifier)))) = identifier) ;) })) (expression_statement "pcVar2 = pfVar13->file_name;" (assignment_expression "pcVar2 = pfVar13->file_name" identifier = (field_expression "pfVar13->file_name" identifier -> field_identifier)) ;) (expression_statement "pSVar9->field_0x1c = pSVar9->field_0x1c | 8;" (assignment_expression "pSVar9->field_0x1c = pSVar9->field_0x1c | 8" (field_expression "pSVar9->field_0x1c" identifier -> field_identifier) = (binary_expression "pSVar9->field_0x1c | 8" (field_expression "pSVar9->field_0x1c" identifier -> field_identifier) | number_literal)) ;) (expression_statement "pSVar9->name = pcVar2;" (assignment_expression "pSVar9->name = pcVar2" (field_expression "pSVar9->name" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }" else (compound_statement "{\n              pcVar2 = core_syms[iVar16]->name;\n              uVar17 = 0;\n              uVar14 = symbol_map_count;\n              while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }\nLAB_00019486:\n              sym_init(symtab.limit);\n              pSVar9 = symtab.limit;\n              paVar3 = core_syms[iVar16];\n              pbVar4 = paVar3->section;\n              filename_00 = *(char ***)&paVar3->value;\n              name = *(char ***)((int)&paVar3->value + 4);\n              *(char ***)&(symtab.limit)->addr = filename_00;\n              *(char ***)((int)&pSVar9->addr + 4) = name;\n              if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }\n              pcVar2 = paVar3->name;\n              pfVar13 = (function_map *)0x0;\n              pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;\n              pSVar9->name = pcVar2;\n            }" { (expression_statement "pcVar2 = core_syms[iVar16]->name;" (assignment_expression "pcVar2 = core_syms[iVar16]->name" identifier = (field_expression "core_syms[iVar16]->name" (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) -> field_identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = symbol_map_count;" (assignment_expression "uVar14 = symbol_map_count" identifier = identifier) ;) (while_statement "while (uVar17 < uVar14) {\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }" while (parenthesized_expression "(uVar17 < uVar14)" ( (binary_expression "uVar17 < uVar14" identifier < identifier) )) (compound_statement "{\n                while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }\n                if (iVar10 == 0) goto LAB_0001928e;\n                uVar17 = uVar15 + 1;\n              }" { (while_statement "while( true ) {\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  uVar15 = uVar17 + uVar14 >> 1;\n                  pfVar13 = pfVar5 + uVar15;\n                  iVar10 = strcmp(pcVar2,pfVar13->function_name);\n                  if (-1 < iVar10) break;\n                  uVar14 = uVar15;\n                  if (uVar15 <= uVar17) goto LAB_00019486;\n                }" { (expression_statement "uVar15 = uVar17 + uVar14 >> 1;" (assignment_expression "uVar15 = uVar17 + uVar14 >> 1" identifier = (binary_expression "uVar17 + uVar14 >> 1" (binary_expression "uVar17 + uVar14" identifier + identifier) >> number_literal)) ;) (expression_statement "pfVar13 = pfVar5 + uVar15;" (assignment_expression "pfVar13 = pfVar5 + uVar15" identifier = (binary_expression "pfVar5 + uVar15" identifier + identifier)) ;) (expression_statement "iVar10 = strcmp(pcVar2,pfVar13->function_name);" (assignment_expression "iVar10 = strcmp(pcVar2,pfVar13->function_name)" identifier = (call_expression "strcmp(pcVar2,pfVar13->function_name)" identifier (argument_list "(pcVar2,pfVar13->function_name)" ( identifier , (field_expression "pfVar13->function_name" identifier -> field_identifier) )))) ;) (if_statement "if (-1 < iVar10) break;" if (parenthesized_expression "(-1 < iVar10)" ( (binary_expression "-1 < iVar10" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = uVar15;" (assignment_expression "uVar14 = uVar15" identifier = identifier) ;) (if_statement "if (uVar15 <= uVar17) goto LAB_00019486;" if (parenthesized_expression "(uVar15 <= uVar17)" ( (binary_expression "uVar15 <= uVar17" identifier <= identifier) )) (goto_statement "goto LAB_00019486;" goto statement_identifier ;)) })) (if_statement "if (iVar10 == 0) goto LAB_0001928e;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001928e;" goto statement_identifier ;)) (expression_statement "uVar17 = uVar15 + 1;" (assignment_expression "uVar17 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019486:\n              sym_init(symtab.limit);" statement_identifier : (expression_statement "sym_init(symtab.limit);" (call_expression "sym_init(symtab.limit)" identifier (argument_list "(symtab.limit)" ( (field_expression "symtab.limit" identifier . field_identifier) ))) ;)) (expression_statement "pSVar9 = symtab.limit;" (assignment_expression "pSVar9 = symtab.limit" identifier = (field_expression "symtab.limit" identifier . field_identifier)) ;) (expression_statement "paVar3 = core_syms[iVar16];" (assignment_expression "paVar3 = core_syms[iVar16]" identifier = (subscript_expression "core_syms[iVar16]" identifier [ identifier ])) ;) (expression_statement "pbVar4 = paVar3->section;" (assignment_expression "pbVar4 = paVar3->section" identifier = (field_expression "paVar3->section" identifier -> field_identifier)) ;) (expression_statement "filename_00 = *(char ***)&paVar3->value;" (assignment_expression "filename_00 = *(char ***)&paVar3->value" identifier = (pointer_expression "*(char ***)&paVar3->value" * (cast_expression "(char ***)&paVar3->value" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&paVar3->value" & (field_expression "paVar3->value" identifier -> field_identifier))))) ;) (expression_statement "name = *(char ***)((int)&paVar3->value + 4);" (assignment_expression "name = *(char ***)((int)&paVar3->value + 4)" identifier = (pointer_expression "*(char ***)((int)&paVar3->value + 4)" * (cast_expression "(char ***)((int)&paVar3->value + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&paVar3->value + 4)" ( (binary_expression "(int)&paVar3->value + 4" (cast_expression "(int)&paVar3->value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar3->value" & (field_expression "paVar3->value" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(char ***)&(symtab.limit)->addr = filename_00;" (assignment_expression "*(char ***)&(symtab.limit)->addr = filename_00" (pointer_expression "*(char ***)&(symtab.limit)->addr" * (cast_expression "(char ***)&(symtab.limit)->addr" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&(symtab.limit)->addr" & (field_expression "(symtab.limit)->addr" (parenthesized_expression "(symtab.limit)" ( (field_expression "symtab.limit" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (expression_statement "*(char ***)((int)&pSVar9->addr + 4) = name;" (assignment_expression "*(char ***)((int)&pSVar9->addr + 4) = name" (pointer_expression "*(char ***)((int)&pSVar9->addr + 4)" * (cast_expression "(char ***)((int)&pSVar9->addr + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&pSVar9->addr + 4)" ( (binary_expression "(int)&pSVar9->addr + 4" (cast_expression "(int)&pSVar9->addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar9->addr" & (field_expression "pSVar9->addr" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (pbVar4 != (bfd_section *)0x0) {\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }" if (parenthesized_expression "(pbVar4 != (bfd_section *)0x0)" ( (binary_expression "pbVar4 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);\n                filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);\n                name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));\n                *(char ***)((int)&pSVar9->addr + 4) = name;\n                *(char ***)&pSVar9->addr = filename_00;\n              }" { (expression_statement "bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma);" (assignment_expression "bVar18 = CARRY4((uint)filename_00,(uint)pbVar4->vma)" identifier = (call_expression "CARRY4((uint)filename_00,(uint)pbVar4->vma)" identifier (argument_list "((uint)filename_00,(uint)pbVar4->vma)" ( (cast_expression "(uint)filename_00" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pbVar4->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "pbVar4->vma" identifier -> field_identifier)) )))) ;) (expression_statement "filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma);" (assignment_expression "filename_00 = (char **)((int)filename_00 + (int)pbVar4->vma)" identifier = (cast_expression "(char **)((int)filename_00 + (int)pbVar4->vma)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)filename_00 + (int)pbVar4->vma)" ( (binary_expression "(int)filename_00 + (int)pbVar4->vma" (cast_expression "(int)filename_00" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar4->vma" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar4->vma" identifier -> field_identifier))) )))) ;) (expression_statement "name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4));" (assignment_expression "name = (char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4))" identifier = (cast_expression "(char **)((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4))" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4))" ( (binary_expression "(int)name + (uint)bVar18 + *(int *)((int)&pbVar4->vma + 4)" (binary_expression "(int)name + (uint)bVar18" (cast_expression "(int)name" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) + (pointer_expression "*(int *)((int)&pbVar4->vma + 4)" * (cast_expression "(int *)((int)&pbVar4->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar4->vma + 4)" ( (binary_expression "(int)&pbVar4->vma + 4" (cast_expression "(int)&pbVar4->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar4->vma" & (field_expression "pbVar4->vma" identifier -> field_identifier))) + number_literal) ))))) )))) ;) (expression_statement "*(char ***)((int)&pSVar9->addr + 4) = name;" (assignment_expression "*(char ***)((int)&pSVar9->addr + 4) = name" (pointer_expression "*(char ***)((int)&pSVar9->addr + 4)" * (cast_expression "(char ***)((int)&pSVar9->addr + 4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&pSVar9->addr + 4)" ( (binary_expression "(int)&pSVar9->addr + 4" (cast_expression "(int)&pSVar9->addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar9->addr" & (field_expression "pSVar9->addr" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(char ***)&pSVar9->addr = filename_00;" (assignment_expression "*(char ***)&pSVar9->addr = filename_00" (pointer_expression "*(char ***)&pSVar9->addr" * (cast_expression "(char ***)&pSVar9->addr" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pSVar9->addr" & (field_expression "pSVar9->addr" identifier -> field_identifier)))) = identifier) ;) })) (expression_statement "pcVar2 = paVar3->name;" (assignment_expression "pcVar2 = paVar3->name" identifier = (field_expression "paVar3->name" identifier -> field_identifier)) ;) (expression_statement "pfVar13 = (function_map *)0x0;" (assignment_expression "pfVar13 = (function_map *)0x0" identifier = (cast_expression "(function_map *)0x0" ( (type_descriptor "function_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7;" (assignment_expression "pSVar9->field_0x1c = pSVar9->field_0x1c & 0xf7" (field_expression "pSVar9->field_0x1c" identifier -> field_identifier) = (binary_expression "pSVar9->field_0x1c & 0xf7" (field_expression "pSVar9->field_0x1c" identifier -> field_identifier) & number_literal)) ;) (expression_statement "pSVar9->name = pcVar2;" (assignment_expression "pSVar9->name = pcVar2" (field_expression "pSVar9->name" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename);" (assignment_expression "bVar8 = get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename)" identifier = (call_expression "get_src_info(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename)" identifier (argument_list "(CONCAT44(&pSVar9->line_num,&func_name),filename_00,name,\n                                 (int *)&filename)" ( (call_expression "CONCAT44(&pSVar9->line_num,&func_name)" identifier (argument_list "(&pSVar9->line_num,&func_name)" ( (pointer_expression "&pSVar9->line_num" & (field_expression "pSVar9->line_num" identifier -> field_identifier)) , (pointer_expression "&func_name" & identifier) ))) , identifier , identifier , (cast_expression "(int *)&filename" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filename" & identifier)) )))) ;) (expression_statement "pSVar9 = symtab.limit;" (assignment_expression "pSVar9 = symtab.limit" identifier = (field_expression "symtab.limit" identifier . field_identifier)) ;) (if_statement "if (bVar8 != 0) {\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }" if (parenthesized_expression "(bVar8 != 0)" ( (binary_expression "bVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              pSVar11 = source_file_lookup_path(filename);\n              pSVar9->file = pSVar11;\n            }" { (expression_statement "pSVar11 = source_file_lookup_path(filename);" (assignment_expression "pSVar11 = source_file_lookup_path(filename)" identifier = (call_expression "source_file_lookup_path(filename)" identifier (argument_list "(filename)" ( identifier )))) ;) (expression_statement "pSVar9->file = pSVar11;" (assignment_expression "pSVar9->file = pSVar11" (field_expression "pSVar9->file" identifier -> field_identifier) = identifier) ;) })) (expression_statement "pSVar9 = symtab.limit;" (assignment_expression "pSVar9 = symtab.limit" identifier = (field_expression "symtab.limit" identifier . field_identifier)) ;) (expression_statement "bVar12 = 1;" (assignment_expression "bVar12 = 1" identifier = number_literal) ;) (if_statement "if (bVar19) {\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n              bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;\n            }" { (expression_statement "bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1;" (assignment_expression "bVar12 = (byte)(core_syms[iVar16]->flags >> 3) & 1" identifier = (binary_expression "(byte)(core_syms[iVar16]->flags >> 3) & 1" (call_expression "(byte)(core_syms[iVar16]->flags >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(core_syms[iVar16]->flags >> 3)" ( (binary_expression "core_syms[iVar16]->flags >> 3" (field_expression "core_syms[iVar16]->flags" (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) -> field_identifier) >> number_literal) ))) & number_literal)) ;) })) (expression_statement "bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12;" (assignment_expression "bVar12 = (symtab.limit)->field_0x1c & 0xfe | bVar12" identifier = (binary_expression "(symtab.limit)->field_0x1c & 0xfe | bVar12" (binary_expression "(symtab.limit)->field_0x1c & 0xfe" (field_expression "(symtab.limit)->field_0x1c" (parenthesized_expression "(symtab.limit)" ( (field_expression "symtab.limit" identifier . field_identifier) )) -> field_identifier) & number_literal) | identifier)) ;) (expression_statement "(symtab.limit)->field_0x1c = bVar12 | 4;" (assignment_expression "(symtab.limit)->field_0x1c = bVar12 | 4" (field_expression "(symtab.limit)->field_0x1c" (parenthesized_expression "(symtab.limit)" ( (field_expression "symtab.limit" identifier . field_identifier) )) -> field_identifier) = (binary_expression "bVar12 | 4" identifier | number_literal)) ;) (if_statement "if (iVar7 == 0x74) {\n              pSVar9->field_0x1c = bVar12 | 6;\n            }" if (parenthesized_expression "(iVar7 == 0x74)" ( (binary_expression "iVar7 == 0x74" identifier == number_literal) )) (compound_statement "{\n              pSVar9->field_0x1c = bVar12 | 6;\n            }" { (expression_statement "pSVar9->field_0x1c = bVar12 | 6;" (assignment_expression "pSVar9->field_0x1c = bVar12 | 6" (field_expression "pSVar9->field_0x1c" identifier -> field_identifier) = (binary_expression "bVar12 | 6" identifier | number_literal)) ;) })) (if_statement "if (((byte)debug_level & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }" if (parenthesized_expression "(((byte)debug_level & 0x80) != 0)" ( (binary_expression "((byte)debug_level & 0x80) != 0" (parenthesized_expression "((byte)debug_level & 0x80)" ( (binary_expression "(byte)debug_level & 0x80" (cast_expression "(byte)debug_level" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);\n              pSVar9 = symtab.limit;\n            }" { (expression_statement "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr);" (call_expression "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr)" identifier (argument_list "("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041,pSVar9->name,\n                     (int)pSVar9->addr)" ( (string_literal ""[core_create_function_syms] %ld %s 0x%lx\n"" " string_content escape_sequence ") , (binary_expression "((int)pSVar9 - (int)symtab.base >> 2) * -0x41041041" (parenthesized_expression "((int)pSVar9 - (int)symtab.base >> 2)" ( (binary_expression "(int)pSVar9 - (int)symtab.base >> 2" (binary_expression "(int)pSVar9 - (int)symtab.base" (cast_expression "(int)pSVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)symtab.base" ( (type_descriptor "int" primitive_type) ) (field_expression "symtab.base" identifier . field_identifier))) >> number_literal) )) * number_literal) , (field_expression "pSVar9->name" identifier -> field_identifier) , (cast_expression "(int)pSVar9->addr" ( (type_descriptor "int" primitive_type) ) (field_expression "pSVar9->addr" identifier -> field_identifier)) ))) ;) (expression_statement "pSVar9 = symtab.limit;" (assignment_expression "pSVar9 = symtab.limit" identifier = (field_expression "symtab.limit" identifier . field_identifier)) ;) })) (expression_statement "symtab.limit = pSVar9 + 1;" (assignment_expression "symtab.limit = pSVar9 + 1" (field_expression "symtab.limit" identifier . field_identifier) = (binary_expression "pSVar9 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_00019364:\n            iVar16 = iVar16 + 1;" statement_identifier : (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;)) (if_statement "if (core_num_syms <= iVar16) goto LAB_000193d8;" if (parenthesized_expression "(core_num_syms <= iVar16)" ( (binary_expression "core_num_syms <= iVar16" identifier <= identifier) )) (goto_statement "goto LAB_000193d8;" goto statement_identifier ;)) })) (if_statement "if (((byte)debug_level & 0x80) == 0) goto LAB_00019364;" if (parenthesized_expression "(((byte)debug_level & 0x80) == 0)" ( (binary_expression "((byte)debug_level & 0x80) == 0" (parenthesized_expression "((byte)debug_level & 0x80)" ( (binary_expression "(byte)debug_level & 0x80" (cast_expression "(byte)debug_level" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019364;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar16 + 1;" (assignment_expression "iVar7 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name);" (call_expression "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name)" identifier (argument_list "("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[iVar16]->value,\n                 core_syms[iVar16]->name)" ( (string_literal ""[core_create_function_syms] rejecting: 0x%lx %s\n"" " string_content escape_sequence ") , (cast_expression "(int)core_syms[iVar16]->value" ( (type_descriptor "int" primitive_type) ) (field_expression "core_syms[iVar16]->value" (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) -> field_identifier)) , (field_expression "core_syms[iVar16]->name" (subscript_expression "core_syms[iVar16]" identifier [ identifier ]) -> field_identifier) ))) ;) (expression_statement "iVar16 = iVar7;" (assignment_expression "iVar16 = iVar7" identifier = identifier) ;) }) while (parenthesized_expression "(iVar7 < core_num_syms)" ( (binary_expression "iVar7 < core_num_syms" identifier < identifier) )) ;) (labeled_statement "LAB_000193d8:\n        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;" statement_identifier : (expression_statement "symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;" (assignment_expression "symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041" (field_expression "symtab.len" identifier . field_identifier) = (binary_expression "((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041" (parenthesized_expression "((int)symtab.limit - (int)symtab.base >> 2)" ( (binary_expression "(int)symtab.limit - (int)symtab.base >> 2" (binary_expression "(int)symtab.limit - (int)symtab.base" (cast_expression "(int)symtab.limit" ( (type_descriptor "int" primitive_type) ) (field_expression "symtab.limit" identifier . field_identifier)) - (cast_expression "(int)symtab.base" ( (type_descriptor "int" primitive_type) ) (field_expression "symtab.base" identifier . field_identifier))) >> number_literal) )) * number_literal)) ;)) }))) (expression_statement "symtab_finalize(&symtab);" (call_expression "symtab_finalize(&symtab)" identifier (argument_list "(&symtab)" ( (pointer_expression "&symtab" & identifier) ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "pcVar6 = whoami;" (assignment_expression "pcVar6 = whoami" identifier = identifier) ;) (expression_statement "pcVar2 = a_out_name;" (assignment_expression "pcVar2 = a_out_name" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);" (assignment_expression "__format = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" identifier (argument_list "("gprof","%s: file `%s\' has no symbols\n",5)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: file `%s\' has no symbols\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) comment (expression_statement "done(1);" (call_expression "done(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "void FUN_000190e0(void)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    \n  FUN_0001adb0(1);\n}\n\n" (function_definition "void FUN_000190e0(void)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    \n  FUN_0001adb0(1);\n}" primitive_type (function_declarator "FUN_000190e0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    \n  FUN_0001adb0(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined1 local_20 [12];" type_identifier (array_declarator "local_20 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x190e9;" (assignment_expression "uStack_14 = 0x190e9" identifier = number_literal) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);" (assignment_expression "uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" identifier = (pointer_expression "*(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" * (cast_expression "(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0002e4ec + 4) + 4)" ( (binary_expression "*(int *)(DAT_0002e4ec + 4) + 4" (pointer_expression "*(int *)(DAT_0002e4ec + 4)" * (cast_expression "(int *)(DAT_0002e4ec + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e4ec + 4)" ( (binary_expression "DAT_0002e4ec + 4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }" if (parenthesized_expression "(uVar14 < 0xb)" ( (binary_expression "uVar14 < 0xb" identifier < number_literal) )) (compound_statement "{\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }" { (expression_statement "bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;" (assignment_expression "bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0" identifier = (binary_expression "(1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0" (parenthesized_expression "(1 << ((byte)uVar14 & 0x1f) & 0x43cU)" ( (binary_expression "1 << ((byte)uVar14 & 0x1f) & 0x43cU" (binary_expression "1 << ((byte)uVar14 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar14 & 0x1f)" ( (binary_expression "(byte)uVar14 & 0x1f" (cast_expression "(byte)uVar14" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal)) ;) })) (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "DAT_0002e520 = 0;" (assignment_expression "DAT_0002e520 = 0" identifier = number_literal) ;) (if_statement "if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }" if (parenthesized_expression "(0 < DAT_0002e128)" ( (binary_expression "0 < DAT_0002e128" number_literal < identifier) )) (compound_statement "{\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }" { (do_statement "do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);" do (compound_statement "{\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    }" { (expression_statement "iVar4 = FUN_000185b0();" (assignment_expression "iVar4 = FUN_000185b0()" identifier = (call_expression "FUN_000185b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = DAT_0002e4f4;" (assignment_expression "iVar1 = DAT_0002e4f4" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }" { (if_statement "if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" if (parenthesized_expression "(DAT_0002e4f8 == 0)" ( (binary_expression "DAT_0002e4f8 == 0" identifier == number_literal) )) (compound_statement "{\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }" { (if_statement "if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }" if (parenthesized_expression "(puVar10 != (undefined4 *)0x0)" ( (binary_expression "puVar10 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }" { (labeled_statement "LAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;" statement_identifier : (if_statement "if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;" if (parenthesized_expression "((*(byte *)(puVar10 + 2) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar10 + 2) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10 + 2) & 1)" ( (binary_expression "*(byte *)(puVar10 + 2) & 1" (pointer_expression "*(byte *)(puVar10 + 2)" * (cast_expression "(byte *)(puVar10 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 2)" ( (binary_expression "puVar10 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019171;" goto statement_identifier ;))) })) }) (else_clause "else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" else (compound_statement "{\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" { (expression_statement "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);" (assignment_expression "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" identifier = (pointer_expression "*(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" * (cast_expression "(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (binary_expression "*(int *)(DAT_0002e124 + iVar13 * 4) + 4" (pointer_expression "*(int *)(DAT_0002e124 + iVar13 * 4)" * (cast_expression "(int *)(DAT_0002e124 + iVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar13 * 4)" ( (binary_expression "DAT_0002e124 + iVar13 * 4" identifier + (binary_expression "iVar13 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = DAT_0002e4f8;" (assignment_expression "uVar11 = DAT_0002e4f8" identifier = identifier) ;) (while_statement "while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }" while (parenthesized_expression "(uVar14 < uVar11)" ( (binary_expression "uVar14 < uVar11" identifier < identifier) )) (compound_statement "{\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }" { (while_statement "while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }" { (expression_statement "uVar12 = uVar14 + uVar11 >> 1;" (assignment_expression "uVar12 = uVar14 + uVar11 >> 1" identifier = (binary_expression "uVar14 + uVar11 >> 1" (binary_expression "uVar14 + uVar11" identifier + identifier) >> number_literal)) ;) (expression_statement "puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);" (assignment_expression "puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc)" identifier = (cast_expression "(undefined4 *)(iVar1 + uVar12 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + uVar12 * 0xc)" ( (binary_expression "iVar1 + uVar12 * 0xc" identifier + (binary_expression "uVar12 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "iVar4 = strcmp(pcVar8,(char *)*puVar10);" (assignment_expression "iVar4 = strcmp(pcVar8,(char *)*puVar10)" identifier = (call_expression "strcmp(pcVar8,(char *)*puVar10)" identifier (argument_list "(pcVar8,(char *)*puVar10)" ( identifier , (cast_expression "(char *)*puVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) )))) ;) (if_statement "if (-1 < iVar4) break;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (if_statement "if (uVar12 <= uVar14) goto LAB_00019211;" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (goto_statement "goto LAB_00019211;" goto statement_identifier ;)) })) (if_statement "if (iVar4 == 0) goto LAB_00019164;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019164;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019211:\n          puVar10 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "DAT_0002e520 = DAT_0002e520 + 1;" (assignment_expression "DAT_0002e520 = DAT_0002e520 + 1" identifier = (binary_expression "DAT_0002e520 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019171:\n      iVar13 = iVar13 + 1;" statement_identifier : (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar13 < DAT_0002e128)" ( (binary_expression "iVar13 < DAT_0002e128" identifier < identifier) )) ;) (if_statement "if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }" if (parenthesized_expression "(DAT_0002e520 != 0)" ( (binary_expression "DAT_0002e520 != 0" identifier != number_literal) )) (compound_statement "{\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }" { (expression_statement "DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);" (assignment_expression "DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc)" identifier = (cast_expression "(uint *)xmalloc(DAT_0002e520 * 0xfc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(DAT_0002e520 * 0xfc)" identifier (argument_list "(DAT_0002e520 * 0xfc)" ( (binary_expression "DAT_0002e520 * 0xfc" identifier * number_literal) ))))) ;) (expression_statement "DAT_0002e528 = DAT_0002e524;" (assignment_expression "DAT_0002e528 = DAT_0002e524" identifier = identifier) ;) (if_statement "if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" if (parenthesized_expression "(DAT_0002e128 < 1)" ( (binary_expression "DAT_0002e128 < 1" identifier < number_literal) )) (compound_statement "{\n        DAT_0002e520 = 0;\n      }" { (expression_statement "DAT_0002e520 = 0;" (assignment_expression "DAT_0002e520 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" else (compound_statement "{\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);" do (compound_statement "{\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        }" { (while_statement "while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }" { (expression_statement "iVar1 = iVar13 * 4;" (assignment_expression "iVar1 = iVar13 * 4" identifier = (binary_expression "iVar13 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = FUN_000185b0();" (assignment_expression "iVar6 = FUN_000185b0()" identifier = (call_expression "FUN_000185b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = DAT_0002e4f4;" (assignment_expression "iVar4 = DAT_0002e4f4" identifier = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" if (parenthesized_expression "(DAT_0002e4f8 == 0)" ( (binary_expression "DAT_0002e4f8 == 0" identifier == number_literal) )) (compound_statement "{\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }" { (if_statement "if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;" if (parenthesized_expression "(puVar10 == (undefined4 *)0x0)" ( (binary_expression "puVar10 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00019486;" goto statement_identifier ;)) (labeled_statement "LAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;" statement_identifier : (if_statement "if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;" if (parenthesized_expression "((*(byte *)(puVar10 + 2) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar10 + 2) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10 + 2) & 1)" ( (binary_expression "*(byte *)(puVar10 + 2) & 1" (pointer_expression "*(byte *)(puVar10 + 2)" * (cast_expression "(byte *)(puVar10 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 2)" ( (binary_expression "puVar10 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019364;" goto statement_identifier ;))) (expression_statement "FUN_0001ce40(DAT_0002e528);" (call_expression "FUN_0001ce40(DAT_0002e528)" identifier (argument_list "(DAT_0002e528)" ( identifier ))) ;) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar4 = *(int *)(DAT_0002e124 + iVar1)" identifier = (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar11 = *(uint *)(iVar4 + 8)" identifier = (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "DAT_0002e528[1] = uVar14;" (assignment_expression "DAT_0002e528[1] = uVar14" (subscript_expression "DAT_0002e528[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar5 = uVar11;" (assignment_expression "*puVar5 = uVar11" (pointer_expression "*puVar5" * identifier) = identifier) ;) (if_statement "if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }" { (expression_statement "uVar12 = *(uint *)(iVar7 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(iVar7 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));" (assignment_expression "puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (binary_expression "uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (binary_expression "uVar14 + *(int *)(iVar7 + 0x20)" identifier + (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" identifier (argument_list "(uVar11,*(uint *)(iVar7 + 0x1c))" ( identifier , (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) )))))) ;) (expression_statement "*puVar5 = uVar11 + uVar12;" (assignment_expression "*puVar5 = uVar11 + uVar12" (pointer_expression "*puVar5" * identifier) = (binary_expression "uVar11 + uVar12" identifier + identifier)) ;) })) (expression_statement "uVar14 = puVar10[1];" (assignment_expression "uVar14 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;" (assignment_expression "*(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "(byte)puVar5[7] | 8" (cast_expression "(byte)puVar5[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar5[7]" identifier [ number_literal ])) | number_literal)) ;) (expression_statement "puVar5[4] = uVar14;" (assignment_expression "puVar5[4] = uVar14" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" else (compound_statement "{\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" { (expression_statement "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);" (assignment_expression "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" identifier = (pointer_expression "*(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" * (cast_expression "(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" ( (binary_expression "*(int *)(DAT_0002e124 + iVar13 * 4) + 4" (pointer_expression "*(int *)(DAT_0002e124 + iVar13 * 4)" * (cast_expression "(int *)(DAT_0002e124 + iVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar13 * 4)" ( (binary_expression "DAT_0002e124 + iVar13 * 4" identifier + (binary_expression "iVar13 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = DAT_0002e4f8;" (assignment_expression "uVar11 = DAT_0002e4f8" identifier = identifier) ;) (while_statement "while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }" while (parenthesized_expression "(uVar14 < uVar11)" ( (binary_expression "uVar14 < uVar11" identifier < identifier) )) (compound_statement "{\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }" { (while_statement "while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }" { (expression_statement "uVar12 = uVar14 + uVar11 >> 1;" (assignment_expression "uVar12 = uVar14 + uVar11 >> 1" identifier = (binary_expression "uVar14 + uVar11 >> 1" (binary_expression "uVar14 + uVar11" identifier + identifier) >> number_literal)) ;) (expression_statement "puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);" (assignment_expression "puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc)" identifier = (cast_expression "(undefined4 *)(iVar4 + uVar12 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar12 * 0xc)" ( (binary_expression "iVar4 + uVar12 * 0xc" identifier + (binary_expression "uVar12 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "iVar7 = strcmp(pcVar8,(char *)*puVar10);" (assignment_expression "iVar7 = strcmp(pcVar8,(char *)*puVar10)" identifier = (call_expression "strcmp(pcVar8,(char *)*puVar10)" identifier (argument_list "(pcVar8,(char *)*puVar10)" ( identifier , (cast_expression "(char *)*puVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) )))) ;) (if_statement "if (-1 < iVar7) break;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (if_statement "if (uVar12 <= uVar14) goto LAB_00019486;" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (goto_statement "goto LAB_00019486;" goto statement_identifier ;)) })) (if_statement "if (iVar7 == 0) goto LAB_0001928e;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001928e;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_00019486:\n              FUN_0001ce40(DAT_0002e528);" statement_identifier : (expression_statement "FUN_0001ce40(DAT_0002e528);" (call_expression "FUN_0001ce40(DAT_0002e528)" identifier (argument_list "(DAT_0002e528)" ( identifier ))) ;)) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar4 = *(int *)(DAT_0002e124 + iVar1)" identifier = (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 8)" identifier = (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar11 = *(uint *)(iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*DAT_0002e528 = uVar14;" (assignment_expression "*DAT_0002e528 = uVar14" (pointer_expression "*DAT_0002e528" * identifier) = identifier) ;) (expression_statement "puVar5[1] = uVar11;" (assignment_expression "puVar5[1] = uVar11" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }" { (expression_statement "uVar12 = *(uint *)(iVar7 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(iVar7 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));" (assignment_expression "puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (binary_expression "uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (binary_expression "uVar11 + *(int *)(iVar7 + 0x20)" identifier + (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" identifier (argument_list "(uVar14,*(uint *)(iVar7 + 0x1c))" ( identifier , (pointer_expression "*(uint *)(iVar7 + 0x1c)" * (cast_expression "(uint *)(iVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) )))))) ;) (expression_statement "*puVar5 = uVar14 + uVar12;" (assignment_expression "*puVar5 = uVar14 + uVar12" (pointer_expression "*puVar5" * identifier) = (binary_expression "uVar14 + uVar12" identifier + identifier)) ;) })) (expression_statement "uVar14 = *(uint *)(iVar4 + 4);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 4)" identifier = (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;" (assignment_expression "*(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "(byte)puVar5[7] & 0xf7" (cast_expression "(byte)puVar5[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar5[7]" identifier [ number_literal ])) & number_literal)) ;) (expression_statement "puVar5[4] = uVar14;" (assignment_expression "puVar5[4] = uVar14" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "iVar4 = FUN_00018440(local_20,puVar5 + 6);" (assignment_expression "iVar4 = FUN_00018440(local_20,puVar5 + 6)" identifier = (call_expression "FUN_00018440(local_20,puVar5 + 6)" identifier (argument_list "(local_20,puVar5 + 6)" ( identifier , (binary_expression "puVar5 + 6" identifier + number_literal) )))) ;) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }" { (expression_statement "uVar14 = FUN_0001c820(local_24);" (assignment_expression "uVar14 = FUN_0001c820(local_24)" identifier = (call_expression "FUN_0001c820(local_24)" identifier (argument_list "(local_24)" ( identifier )))) ;) (expression_statement "puVar5[5] = uVar14;" (assignment_expression "puVar5[5] = uVar14" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" identifier = number_literal) ;) (if_statement "if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }" { (expression_statement "bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;" (assignment_expression "bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1" identifier = (binary_expression "(byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1" (call_expression "(byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3)" ( (binary_expression "*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3" (pointer_expression "*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar1) + 0x10)" ( (binary_expression "*(int *)(DAT_0002e124 + iVar1) + 0x10" (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) )))) + number_literal) )))) >> number_literal) ))) & number_literal)) ;) })) (expression_statement "bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;" (assignment_expression "bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9" identifier = (binary_expression "(byte)DAT_0002e528[7] & 0xfe | bVar9" (binary_expression "(byte)DAT_0002e528[7] & 0xfe" (cast_expression "(byte)DAT_0002e528[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_0002e528[7]" identifier [ number_literal ])) & number_literal) | identifier)) ;) (expression_statement "*(byte *)(DAT_0002e528 + 7) = bVar9 | 4;" (assignment_expression "*(byte *)(DAT_0002e528 + 7) = bVar9 | 4" (pointer_expression "*(byte *)(DAT_0002e528 + 7)" * (cast_expression "(byte *)(DAT_0002e528 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e528 + 7)" ( (binary_expression "DAT_0002e528 + 7" identifier + number_literal) )))) = (binary_expression "bVar9 | 4" identifier | number_literal)) ;) (if_statement "if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }" if (parenthesized_expression "(iVar6 == 0x74)" ( (binary_expression "iVar6 == 0x74" identifier == number_literal) )) (compound_statement "{\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }" { (expression_statement "*(byte *)(puVar5 + 7) = bVar9 | 6;" (assignment_expression "*(byte *)(puVar5 + 7) = bVar9 | 6" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "bVar9 | 6" identifier | number_literal)) ;) })) (if_statement "if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) != 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x80) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" ( (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }" { (expression_statement "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);" (call_expression "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5)" identifier (argument_list "("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5)" ( (string_literal ""[core_create_function_syms] %ld %s 0x%lx\n"" " string_content escape_sequence ") , (binary_expression "((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041" (parenthesized_expression "((int)puVar5 - (int)DAT_0002e524 >> 2)" ( (binary_expression "(int)puVar5 - (int)DAT_0002e524 >> 2" (binary_expression "(int)puVar5 - (int)DAT_0002e524" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)DAT_0002e524" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) , (subscript_expression "puVar5[4]" identifier [ number_literal ]) , (pointer_expression "*puVar5" * identifier) ))) ;) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" identifier = identifier) ;) })) (expression_statement "DAT_0002e528 = puVar5 + 0x3f;" (assignment_expression "DAT_0002e528 = puVar5 + 0x3f" identifier = (binary_expression "puVar5 + 0x3f" identifier + number_literal)) ;) (labeled_statement "LAB_00019364:\n            iVar13 = iVar13 + 1;" statement_identifier : (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (DAT_0002e128 <= iVar13) goto LAB_000193d8;" if (parenthesized_expression "(DAT_0002e128 <= iVar13)" ( (binary_expression "DAT_0002e128 <= iVar13" identifier <= identifier) )) (goto_statement "goto LAB_000193d8;" goto statement_identifier ;)) })) (if_statement "if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) == 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x80) == 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" ( (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00019364;" goto statement_identifier ;)) (expression_statement "iVar1 = iVar13 * 4;" (assignment_expression "iVar1 = iVar13 * 4" identifier = (binary_expression "iVar13 * 4" identifier * number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar1 = *(int *)(DAT_0002e124 + iVar1)" identifier = (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" * (cast_expression "(int *)(DAT_0002e124 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002e124 + iVar1)" ( (binary_expression "DAT_0002e124 + iVar1" identifier + identifier) ))))) ;) (expression_statement "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));" (call_expression "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4))" identifier (argument_list "("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4))" ( (string_literal ""[core_create_function_syms] rejecting: 0x%lx %s\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(iVar1 + 8)" * (cast_expression "(undefined4 *)(iVar1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar1 + 4)" * (cast_expression "(undefined4 *)(iVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(iVar13 < DAT_0002e128)" ( (binary_expression "iVar13 < DAT_0002e128" identifier < identifier) )) ;) (labeled_statement "LAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;" statement_identifier : (expression_statement "DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;" (assignment_expression "DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041" identifier = (binary_expression "((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041" (parenthesized_expression "((int)DAT_0002e528 - (int)DAT_0002e524 >> 2)" ( (binary_expression "(int)DAT_0002e528 - (int)DAT_0002e524 >> 2" (binary_expression "(int)DAT_0002e528 - (int)DAT_0002e524" (cast_expression "(int)DAT_0002e528" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)DAT_0002e524" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;)) }))) (expression_statement "FUN_0001ce90(&DAT_0002e520);" (call_expression "FUN_0001ce90(&DAT_0002e520)" identifier (argument_list "(&DAT_0002e520)" ( (pointer_expression "&DAT_0002e520" & identifier) ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "uVar3 = DAT_0002e508;" (assignment_expression "uVar3 = DAT_0002e508" identifier = identifier) ;) (expression_statement "puVar2 = PTR_s_a_out_0002d4a0;" (assignment_expression "puVar2 = PTR_s_a_out_0002d4a0" identifier = identifier) ;) (expression_statement "pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" identifier (argument_list "("gprof","%s: file `%s\' has no symbols\n",5)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: file `%s\' has no symbols\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) != LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) + LIT) )))) >> LIT) ))) & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) | IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT)) ;)) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))
(function_definition "void FUN_000190e0(void)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    \n  FUN_0001adb0(1);\n}" (primitive_type "void") (function_declarator "FUN_000190e0(void)" (identifier "FUN_000190e0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint *puVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  bool bVar15;\n  undefined4 local_24;\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x190e9;\n  bVar15 = false;\n  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);\n  if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }\n  puVar10 = (undefined4 *)0x0;\n  iVar13 = 0;\n  DAT_0002e520 = 0;\n  if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }\n  uVar3 = DAT_0002e508;\n  puVar2 = PTR_s_a_out_0002d4a0;\n  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);\n                    \n  FUN_0001adb0(1);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined1 local_20 [12];" (type_identifier "undefined1") (array_declarator "local_20 [12]" (identifier "local_20") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x190e9;" (assignment_expression "uStack_14 = 0x190e9" (identifier "uStack_14") (= "=") (number_literal "0x190e9")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);" (assignment_expression "uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_0002e4ec + 4) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0002e4ec + 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_0002e4ec + 4) + 4" (pointer_expression "*(int *)(DAT_0002e4ec + 4)" (* "*") (cast_expression "(int *)(DAT_0002e4ec + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e4ec + 4)" (( "(") (binary_expression "DAT_0002e4ec + 4" (identifier "DAT_0002e4ec") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (uVar14 < 0xb) {\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }" (if "if") (parenthesized_expression "(uVar14 < 0xb)" (( "(") (binary_expression "uVar14 < 0xb" (identifier "uVar14") (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;\n  }" ({ "{") (expression_statement "bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;" (assignment_expression "bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0" (identifier "bVar15") (= "=") (binary_expression "(1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0" (parenthesized_expression "(1 << ((byte)uVar14 & 0x1f) & 0x43cU)" (( "(") (binary_expression "1 << ((byte)uVar14 & 0x1f) & 0x43cU" (binary_expression "1 << ((byte)uVar14 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar14 & 0x1f)" (( "(") (binary_expression "(byte)uVar14 & 0x1f" (cast_expression "(byte)uVar14" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar14")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x43cU")) () ")")) (!= "!=") (number_literal "0"))) (; ";")) (} "}"))) (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0002e520 = 0;" (assignment_expression "DAT_0002e520 = 0" (identifier "DAT_0002e520") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < DAT_0002e128) {\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(0 < DAT_0002e128)" (( "(") (binary_expression "0 < DAT_0002e128" (number_literal "0") (< "<") (identifier "DAT_0002e128")) () ")")) (compound_statement "{\n    do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);\n    if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }\n  }" ({ "{") (do_statement "do {\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    } while (iVar13 < DAT_0002e128);" (do "do") (compound_statement "{\n      iVar4 = FUN_000185b0();\n      iVar1 = DAT_0002e4f4;\n      if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }\nLAB_00019171:\n      iVar13 = iVar13 + 1;\n    }" ({ "{") (expression_statement "iVar4 = FUN_000185b0();" (assignment_expression "iVar4 = FUN_000185b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000185b0()" (identifier "FUN_000185b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar1 = DAT_0002e4f4;" (assignment_expression "iVar1 = DAT_0002e4f4" (identifier "iVar1") (= "=") (identifier "DAT_0002e4f4")) (; ";")) (if_statement "if (iVar4 != 0) {\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }\n        DAT_0002e520 = DAT_0002e520 + 1;\n      }" ({ "{") (if_statement "if (DAT_0002e4f8 == 0) {\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }\n        else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" (if "if") (parenthesized_expression "(DAT_0002e4f8 == 0)" (( "(") (binary_expression "DAT_0002e4f8 == 0" (identifier "DAT_0002e4f8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }\n        }" ({ "{") (if_statement "if (puVar10 != (undefined4 *)0x0) {\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }" (if "if") (parenthesized_expression "(puVar10 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar10 != (undefined4 *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;\n          }" ({ "{") (labeled_statement "LAB_00019164:\n            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;" (statement_identifier "LAB_00019164") (: ":") (if_statement "if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;" (if "if") (parenthesized_expression "((*(byte *)(puVar10 + 2) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar10 + 2) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10 + 2) & 1)" (( "(") (binary_expression "*(byte *)(puVar10 + 2) & 1" (pointer_expression "*(byte *)(puVar10 + 2)" (* "*") (cast_expression "(byte *)(puVar10 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 2)" (( "(") (binary_expression "puVar10 + 2" (identifier "puVar10") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019171;" (goto "goto") (statement_identifier "LAB_00019171") (; ";")))) (} "}"))) (} "}")) (else_clause "else {\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" (else "else") (compound_statement "{\n          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n          uVar14 = 0;\n          uVar11 = DAT_0002e4f8;\n          while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }\nLAB_00019211:\n          puVar10 = (undefined4 *)0x0;\n        }" ({ "{") (expression_statement "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);" (assignment_expression "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (identifier "pcVar8") (= "=") (pointer_expression "*(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (* "*") (cast_expression "(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_0002e124 + iVar13 * 4) + 4" (pointer_expression "*(int *)(DAT_0002e124 + iVar13 * 4)" (* "*") (cast_expression "(int *)(DAT_0002e124 + iVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e124 + iVar13 * 4)" (( "(") (binary_expression "DAT_0002e124 + iVar13 * 4" (identifier "DAT_0002e124") (+ "+") (binary_expression "iVar13 * 4" (identifier "iVar13") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = DAT_0002e4f8;" (assignment_expression "uVar11 = DAT_0002e4f8" (identifier "uVar11") (= "=") (identifier "DAT_0002e4f8")) (; ";")) (while_statement "while (uVar14 < uVar11) {\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }" (while "while") (parenthesized_expression "(uVar14 < uVar11)" (( "(") (binary_expression "uVar14 < uVar11" (identifier "uVar14") (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n            while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }\n            if (iVar4 == 0) goto LAB_00019164;\n            uVar14 = uVar12 + 1;\n          }" ({ "{") (while_statement "while( true ) {\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              uVar12 = uVar14 + uVar11 >> 1;\n              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);\n              iVar4 = strcmp(pcVar8,(char *)*puVar10);\n              if (-1 < iVar4) break;\n              uVar11 = uVar12;\n              if (uVar12 <= uVar14) goto LAB_00019211;\n            }" ({ "{") (expression_statement "uVar12 = uVar14 + uVar11 >> 1;" (assignment_expression "uVar12 = uVar14 + uVar11 >> 1" (identifier "uVar12") (= "=") (binary_expression "uVar14 + uVar11 >> 1" (binary_expression "uVar14 + uVar11" (identifier "uVar14") (+ "+") (identifier "uVar11")) (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);" (assignment_expression "puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)(iVar1 + uVar12 * 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + uVar12 * 0xc)" (( "(") (binary_expression "iVar1 + uVar12 * 0xc" (identifier "iVar1") (+ "+") (binary_expression "uVar12 * 0xc" (identifier "uVar12") (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (expression_statement "iVar4 = strcmp(pcVar8,(char *)*puVar10);" (assignment_expression "iVar4 = strcmp(pcVar8,(char *)*puVar10)" (identifier "iVar4") (= "=") (call_expression "strcmp(pcVar8,(char *)*puVar10)" (identifier "strcmp") (argument_list "(pcVar8,(char *)*puVar10)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(char *)*puVar10" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) () ")")))) (; ";")) (if_statement "if (-1 < iVar4) break;" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (uVar12 <= uVar14) goto LAB_00019211;" (if "if") (parenthesized_expression "(uVar12 <= uVar14)" (( "(") (binary_expression "uVar12 <= uVar14" (identifier "uVar12") (<= "<=") (identifier "uVar14")) () ")")) (goto_statement "goto LAB_00019211;" (goto "goto") (statement_identifier "LAB_00019211") (; ";"))) (} "}"))) (if_statement "if (iVar4 == 0) goto LAB_00019164;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019164;" (goto "goto") (statement_identifier "LAB_00019164") (; ";"))) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_00019211:\n          puVar10 = (undefined4 *)0x0;" (statement_identifier "LAB_00019211") (: ":") (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")))) (expression_statement "DAT_0002e520 = DAT_0002e520 + 1;" (assignment_expression "DAT_0002e520 = DAT_0002e520 + 1" (identifier "DAT_0002e520") (= "=") (binary_expression "DAT_0002e520 + 1" (identifier "DAT_0002e520") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_00019171:\n      iVar13 = iVar13 + 1;" (statement_identifier "LAB_00019171") (: ":") (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar13 < DAT_0002e128)" (( "(") (binary_expression "iVar13 < DAT_0002e128" (identifier "iVar13") (< "<") (identifier "DAT_0002e128")) () ")")) (; ";")) (if_statement "if (DAT_0002e520 != 0) {\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }" (if "if") (parenthesized_expression "(DAT_0002e520 != 0)" (( "(") (binary_expression "DAT_0002e520 != 0" (identifier "DAT_0002e520") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);\n      DAT_0002e528 = DAT_0002e524;\n      if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }\n      FUN_0001ce90(&DAT_0002e520);\n      return;\n    }" ({ "{") (expression_statement "DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);" (assignment_expression "DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc)" (identifier "DAT_0002e524") (= "=") (cast_expression "(uint *)xmalloc(DAT_0002e520 * 0xfc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(DAT_0002e520 * 0xfc)" (identifier "xmalloc") (argument_list "(DAT_0002e520 * 0xfc)" (( "(") (binary_expression "DAT_0002e520 * 0xfc" (identifier "DAT_0002e520") (* "*") (number_literal "0xfc")) () ")"))))) (; ";")) (expression_statement "DAT_0002e528 = DAT_0002e524;" (assignment_expression "DAT_0002e528 = DAT_0002e524" (identifier "DAT_0002e528") (= "=") (identifier "DAT_0002e524")) (; ";")) (if_statement "if (DAT_0002e128 < 1) {\n        DAT_0002e520 = 0;\n      }\n      else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" (if "if") (parenthesized_expression "(DAT_0002e128 < 1)" (( "(") (binary_expression "DAT_0002e128 < 1" (identifier "DAT_0002e128") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        DAT_0002e520 = 0;\n      }" ({ "{") (expression_statement "DAT_0002e520 = 0;" (assignment_expression "DAT_0002e520 = 0" (identifier "DAT_0002e520") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" (else "else") (compound_statement "{\n        iVar13 = 0;\n        do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);\nLAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;\n      }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        } while (iVar13 < DAT_0002e128);" (do "do") (compound_statement "{\n          while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }\n          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;\n          iVar1 = iVar13 * 4;\n          iVar13 = iVar13 + 1;\n          iVar1 = *(int *)(DAT_0002e124 + iVar1);\n          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));\n        }" ({ "{") (while_statement "while( true ) {\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            iVar1 = iVar13 * 4;\n            iVar6 = FUN_000185b0();\n            iVar4 = DAT_0002e4f4;\n            if (iVar6 == 0) break;\n            if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }\n            iVar4 = FUN_00018440(local_20,puVar5 + 6);\n            puVar5 = DAT_0002e528;\n            if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }\n            puVar5 = DAT_0002e528;\n            bVar9 = 1;\n            if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }\n            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;\n            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;\n            if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }\n            if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }\n            DAT_0002e528 = puVar5 + 0x3f;\nLAB_00019364:\n            iVar13 = iVar13 + 1;\n            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;\n          }" ({ "{") (expression_statement "iVar1 = iVar13 * 4;" (assignment_expression "iVar1 = iVar13 * 4" (identifier "iVar1") (= "=") (binary_expression "iVar13 * 4" (identifier "iVar13") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar6 = FUN_000185b0();" (assignment_expression "iVar6 = FUN_000185b0()" (identifier "iVar6") (= "=") (call_expression "FUN_000185b0()" (identifier "FUN_000185b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar4 = DAT_0002e4f4;" (assignment_expression "iVar4 = DAT_0002e4f4" (identifier "iVar4") (= "=") (identifier "DAT_0002e4f4")) (; ";")) (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (DAT_0002e4f8 == 0) {\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }\n            else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" (if "if") (parenthesized_expression "(DAT_0002e4f8 == 0)" (( "(") (binary_expression "DAT_0002e4f8 == 0" (identifier "DAT_0002e4f8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;\nLAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 0xc);\n              uVar11 = *(uint *)(iVar4 + 8);\n              DAT_0002e528[1] = uVar14;\n              *puVar5 = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }\n              uVar14 = puVar10[1];\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;\n              puVar5[4] = uVar14;\n            }" ({ "{") (if_statement "if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;" (if "if") (parenthesized_expression "(puVar10 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar10 == (undefined4 *)0x0" (identifier "puVar10") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00019486;" (goto "goto") (statement_identifier "LAB_00019486") (; ";"))) (labeled_statement "LAB_0001928e:\n              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;" (statement_identifier "LAB_0001928e") (: ":") (if_statement "if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;" (if "if") (parenthesized_expression "((*(byte *)(puVar10 + 2) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar10 + 2) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10 + 2) & 1)" (( "(") (binary_expression "*(byte *)(puVar10 + 2) & 1" (pointer_expression "*(byte *)(puVar10 + 2)" (* "*") (cast_expression "(byte *)(puVar10 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 2)" (( "(") (binary_expression "puVar10 + 2" (identifier "puVar10") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019364;" (goto "goto") (statement_identifier "LAB_00019364") (; ";")))) (expression_statement "FUN_0001ce40(DAT_0002e528);" (call_expression "FUN_0001ce40(DAT_0002e528)" (identifier "FUN_0001ce40") (argument_list "(DAT_0002e528)" (( "(") (identifier "DAT_0002e528") () ")"))) (; ";")) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" (identifier "puVar5") (= "=") (identifier "DAT_0002e528")) (; ";")) (expression_statement "iVar4 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar4 = *(int *)(DAT_0002e124 + iVar1)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" (* "*") (cast_expression "(int *)(DAT_0002e124 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e124 + iVar1)" (( "(") (binary_expression "DAT_0002e124 + iVar1" (identifier "DAT_0002e124") (+ "+") (identifier "iVar1")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar14 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 0xc)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(iVar4 + 0xc)" (* "*") (cast_expression "(uint *)(iVar4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar11 = *(uint *)(iVar4 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "DAT_0002e528[1] = uVar14;" (assignment_expression "DAT_0002e528[1] = uVar14" (subscript_expression "DAT_0002e528[1]" (identifier "DAT_0002e528") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "*puVar5 = uVar11;" (assignment_expression "*puVar5 = uVar11" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar11 + uVar12;\n              }" ({ "{") (expression_statement "uVar12 = *(uint *)(iVar7 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(iVar7 + 0x1c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar7 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar7 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));" (assignment_expression "puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar14 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (binary_expression "uVar14 + *(int *)(iVar7 + 0x20)" (identifier "uVar14") (+ "+") (pointer_expression "*(int *)(iVar7 + 0x20)" (* "*") (cast_expression "(int *)(iVar7 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar11,*(uint *)(iVar7 + 0x1c))" (identifier "CARRY4") (argument_list "(uVar11,*(uint *)(iVar7 + 0x1c))" (( "(") (identifier "uVar11") (, ",") (pointer_expression "*(uint *)(iVar7 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar7 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) () ")")))))) (; ";")) (expression_statement "*puVar5 = uVar11 + uVar12;" (assignment_expression "*puVar5 = uVar11 + uVar12" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "uVar11 + uVar12" (identifier "uVar11") (+ "+") (identifier "uVar12"))) (; ";")) (} "}"))) (expression_statement "uVar14 = puVar10[1];" (assignment_expression "uVar14 = puVar10[1]" (identifier "uVar14") (= "=") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;" (assignment_expression "*(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8" (pointer_expression "*(byte *)(puVar5 + 7)" (* "*") (cast_expression "(byte *)(puVar5 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 7)" (( "(") (binary_expression "puVar5 + 7" (identifier "puVar5") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "(byte)puVar5[7] | 8" (cast_expression "(byte)puVar5[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar5[7]" (identifier "puVar5") ([ "[") (number_literal "7") (] "]"))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "puVar5[4] = uVar14;" (assignment_expression "puVar5[4] = uVar14" (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (} "}")) (else_clause "else {\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" (else "else") (compound_statement "{\n              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);\n              uVar14 = 0;\n              uVar11 = DAT_0002e4f8;\n              while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }\nLAB_00019486:\n              FUN_0001ce40(DAT_0002e528);\n              puVar5 = DAT_0002e528;\n              iVar4 = *(int *)(DAT_0002e124 + iVar1);\n              iVar7 = *(int *)(iVar4 + 0x14);\n              uVar14 = *(uint *)(iVar4 + 8);\n              uVar11 = *(uint *)(iVar4 + 0xc);\n              *DAT_0002e528 = uVar14;\n              puVar5[1] = uVar11;\n              if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }\n              uVar14 = *(uint *)(iVar4 + 4);\n              puVar10 = (undefined4 *)0x0;\n              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;\n              puVar5[4] = uVar14;\n            }" ({ "{") (expression_statement "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);" (assignment_expression "pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (identifier "pcVar8") (= "=") (pointer_expression "*(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (* "*") (cast_expression "(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar13 * 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_0002e124 + iVar13 * 4) + 4" (pointer_expression "*(int *)(DAT_0002e124 + iVar13 * 4)" (* "*") (cast_expression "(int *)(DAT_0002e124 + iVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e124 + iVar13 * 4)" (( "(") (binary_expression "DAT_0002e124 + iVar13 * 4" (identifier "DAT_0002e124") (+ "+") (binary_expression "iVar13 * 4" (identifier "iVar13") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = DAT_0002e4f8;" (assignment_expression "uVar11 = DAT_0002e4f8" (identifier "uVar11") (= "=") (identifier "DAT_0002e4f8")) (; ";")) (while_statement "while (uVar14 < uVar11) {\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }" (while "while") (parenthesized_expression "(uVar14 < uVar11)" (( "(") (binary_expression "uVar14 < uVar11" (identifier "uVar14") (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n                while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }\n                if (iVar7 == 0) goto LAB_0001928e;\n                uVar14 = uVar12 + 1;\n              }" ({ "{") (while_statement "while( true ) {\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  uVar12 = uVar14 + uVar11 >> 1;\n                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);\n                  iVar7 = strcmp(pcVar8,(char *)*puVar10);\n                  if (-1 < iVar7) break;\n                  uVar11 = uVar12;\n                  if (uVar12 <= uVar14) goto LAB_00019486;\n                }" ({ "{") (expression_statement "uVar12 = uVar14 + uVar11 >> 1;" (assignment_expression "uVar12 = uVar14 + uVar11 >> 1" (identifier "uVar12") (= "=") (binary_expression "uVar14 + uVar11 >> 1" (binary_expression "uVar14 + uVar11" (identifier "uVar14") (+ "+") (identifier "uVar11")) (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);" (assignment_expression "puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)(iVar4 + uVar12 * 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + uVar12 * 0xc)" (( "(") (binary_expression "iVar4 + uVar12 * 0xc" (identifier "iVar4") (+ "+") (binary_expression "uVar12 * 0xc" (identifier "uVar12") (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (expression_statement "iVar7 = strcmp(pcVar8,(char *)*puVar10);" (assignment_expression "iVar7 = strcmp(pcVar8,(char *)*puVar10)" (identifier "iVar7") (= "=") (call_expression "strcmp(pcVar8,(char *)*puVar10)" (identifier "strcmp") (argument_list "(pcVar8,(char *)*puVar10)" (( "(") (identifier "pcVar8") (, ",") (cast_expression "(char *)*puVar10" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) () ")")))) (; ";")) (if_statement "if (-1 < iVar7) break;" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (uVar12 <= uVar14) goto LAB_00019486;" (if "if") (parenthesized_expression "(uVar12 <= uVar14)" (( "(") (binary_expression "uVar12 <= uVar14" (identifier "uVar12") (<= "<=") (identifier "uVar14")) () ")")) (goto_statement "goto LAB_00019486;" (goto "goto") (statement_identifier "LAB_00019486") (; ";"))) (} "}"))) (if_statement "if (iVar7 == 0) goto LAB_0001928e;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001928e;" (goto "goto") (statement_identifier "LAB_0001928e") (; ";"))) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_00019486:\n              FUN_0001ce40(DAT_0002e528);" (statement_identifier "LAB_00019486") (: ":") (expression_statement "FUN_0001ce40(DAT_0002e528);" (call_expression "FUN_0001ce40(DAT_0002e528)" (identifier "FUN_0001ce40") (argument_list "(DAT_0002e528)" (( "(") (identifier "DAT_0002e528") () ")"))) (; ";"))) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" (identifier "puVar5") (= "=") (identifier "DAT_0002e528")) (; ";")) (expression_statement "iVar4 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar4 = *(int *)(DAT_0002e124 + iVar1)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" (* "*") (cast_expression "(int *)(DAT_0002e124 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e124 + iVar1)" (( "(") (binary_expression "DAT_0002e124 + iVar1" (identifier "DAT_0002e124") (+ "+") (identifier "iVar1")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar14 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 8)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar11 = *(uint *)(iVar4 + 0xc)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar4 + 0xc)" (* "*") (cast_expression "(uint *)(iVar4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*DAT_0002e528 = uVar14;" (assignment_expression "*DAT_0002e528 = uVar14" (pointer_expression "*DAT_0002e528" (* "*") (identifier "DAT_0002e528")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "puVar5[1] = uVar11;" (assignment_expression "puVar5[1] = uVar11" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (iVar7 != 0) {\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar12 = *(uint *)(iVar7 + 0x1c);\n                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));\n                *puVar5 = uVar14 + uVar12;\n              }" ({ "{") (expression_statement "uVar12 = *(uint *)(iVar7 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(iVar7 + 0x1c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar7 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar7 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));" (assignment_expression "puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar11 + *(int *)(iVar7 + 0x20) +\n                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (binary_expression "uVar11 + *(int *)(iVar7 + 0x20)" (identifier "uVar11") (+ "+") (pointer_expression "*(int *)(iVar7 + 0x20)" (* "*") (cast_expression "(int *)(iVar7 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar14,*(uint *)(iVar7 + 0x1c))" (identifier "CARRY4") (argument_list "(uVar14,*(uint *)(iVar7 + 0x1c))" (( "(") (identifier "uVar14") (, ",") (pointer_expression "*(uint *)(iVar7 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar7 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) () ")")))))) (; ";")) (expression_statement "*puVar5 = uVar14 + uVar12;" (assignment_expression "*puVar5 = uVar14 + uVar12" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "uVar14 + uVar12" (identifier "uVar14") (+ "+") (identifier "uVar12"))) (; ";")) (} "}"))) (expression_statement "uVar14 = *(uint *)(iVar4 + 4);" (assignment_expression "uVar14 = *(uint *)(iVar4 + 4)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(iVar4 + 4)" (* "*") (cast_expression "(uint *)(iVar4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar10 = (undefined4 *)0x0;" (assignment_expression "puVar10 = (undefined4 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;" (assignment_expression "*(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7" (pointer_expression "*(byte *)(puVar5 + 7)" (* "*") (cast_expression "(byte *)(puVar5 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 7)" (( "(") (binary_expression "puVar5 + 7" (identifier "puVar5") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "(byte)puVar5[7] & 0xf7" (cast_expression "(byte)puVar5[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar5[7]" (identifier "puVar5") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xf7"))) (; ";")) (expression_statement "puVar5[4] = uVar14;" (assignment_expression "puVar5[4] = uVar14" (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (} "}")))) (expression_statement "iVar4 = FUN_00018440(local_20,puVar5 + 6);" (assignment_expression "iVar4 = FUN_00018440(local_20,puVar5 + 6)" (identifier "iVar4") (= "=") (call_expression "FUN_00018440(local_20,puVar5 + 6)" (identifier "FUN_00018440") (argument_list "(local_20,puVar5 + 6)" (( "(") (identifier "local_20") (, ",") (binary_expression "puVar5 + 6" (identifier "puVar5") (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" (identifier "puVar5") (= "=") (identifier "DAT_0002e528")) (; ";")) (if_statement "if (iVar4 != 0) {\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar14 = FUN_0001c820(local_24);\n              puVar5[5] = uVar14;\n            }" ({ "{") (expression_statement "uVar14 = FUN_0001c820(local_24);" (assignment_expression "uVar14 = FUN_0001c820(local_24)" (identifier "uVar14") (= "=") (call_expression "FUN_0001c820(local_24)" (identifier "FUN_0001c820") (argument_list "(local_24)" (( "(") (identifier "local_24") () ")")))) (; ";")) (expression_statement "puVar5[5] = uVar14;" (assignment_expression "puVar5[5] = uVar14" (subscript_expression "puVar5[5]" (identifier "puVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (} "}"))) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" (identifier "puVar5") (= "=") (identifier "DAT_0002e528")) (; ";")) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" (identifier "bVar9") (= "=") (number_literal "1")) (; ";")) (if_statement "if (bVar15) {\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }" (if "if") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (compound_statement "{\n              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;\n            }" ({ "{") (expression_statement "bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;" (assignment_expression "bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1" (identifier "bVar9") (= "=") (binary_expression "(byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1" (call_expression "(byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3)" (( "(") (binary_expression "*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3" (pointer_expression "*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0002e124 + iVar1) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_0002e124 + iVar1) + 0x10" (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" (* "*") (cast_expression "(int *)(DAT_0002e124 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e124 + iVar1)" (( "(") (binary_expression "DAT_0002e124 + iVar1" (identifier "DAT_0002e124") (+ "+") (identifier "iVar1")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (>> ">>") (number_literal "3")) () ")"))) (& "&") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;" (assignment_expression "bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9" (identifier "bVar9") (= "=") (binary_expression "(byte)DAT_0002e528[7] & 0xfe | bVar9" (binary_expression "(byte)DAT_0002e528[7] & 0xfe" (cast_expression "(byte)DAT_0002e528[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "DAT_0002e528[7]" (identifier "DAT_0002e528") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xfe")) (| "|") (identifier "bVar9"))) (; ";")) (expression_statement "*(byte *)(DAT_0002e528 + 7) = bVar9 | 4;" (assignment_expression "*(byte *)(DAT_0002e528 + 7) = bVar9 | 4" (pointer_expression "*(byte *)(DAT_0002e528 + 7)" (* "*") (cast_expression "(byte *)(DAT_0002e528 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e528 + 7)" (( "(") (binary_expression "DAT_0002e528 + 7" (identifier "DAT_0002e528") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar9 | 4" (identifier "bVar9") (| "|") (number_literal "4"))) (; ";")) (if_statement "if (iVar6 == 0x74) {\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }" (if "if") (parenthesized_expression "(iVar6 == 0x74)" (( "(") (binary_expression "iVar6 == 0x74" (identifier "iVar6") (== "==") (number_literal "0x74")) () ")")) (compound_statement "{\n              *(byte *)(puVar5 + 7) = bVar9 | 6;\n            }" ({ "{") (expression_statement "*(byte *)(puVar5 + 7) = bVar9 | 6;" (assignment_expression "*(byte *)(puVar5 + 7) = bVar9 | 6" (pointer_expression "*(byte *)(puVar5 + 7)" (* "*") (cast_expression "(byte *)(puVar5 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 7)" (( "(") (binary_expression "puVar5 + 7" (identifier "puVar5") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar9 | 6" (identifier "bVar9") (| "|") (number_literal "6"))) (; ";")) (} "}"))) (if_statement "if (((byte)DAT_0002e158 & 0x80) != 0) {\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }" (if "if") (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) != 0)" (( "(") (binary_expression "((byte)DAT_0002e158 & 0x80) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" (( "(") (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0002e158")) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);\n              puVar5 = DAT_0002e528;\n            }" ({ "{") (expression_statement "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);" (call_expression "printf("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5)" (identifier "printf") (argument_list "("[core_create_function_syms] %ld %s 0x%lx\n",\n                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5)" (( "(") (string_literal ""[core_create_function_syms] %ld %s 0x%lx\n"" (" """) (string_content "[core_create_function_syms] %ld %s 0x%lx") (escape_sequence "\n") (" """)) (, ",") (binary_expression "((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041" (parenthesized_expression "((int)puVar5 - (int)DAT_0002e524 >> 2)" (( "(") (binary_expression "(int)puVar5 - (int)DAT_0002e524 >> 2" (binary_expression "(int)puVar5 - (int)DAT_0002e524" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (- "-") (cast_expression "(int)DAT_0002e524" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0002e524"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x41041041")) (, ",") (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (, ",") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) () ")"))) (; ";")) (expression_statement "puVar5 = DAT_0002e528;" (assignment_expression "puVar5 = DAT_0002e528" (identifier "puVar5") (= "=") (identifier "DAT_0002e528")) (; ";")) (} "}"))) (expression_statement "DAT_0002e528 = puVar5 + 0x3f;" (assignment_expression "DAT_0002e528 = puVar5 + 0x3f" (identifier "DAT_0002e528") (= "=") (binary_expression "puVar5 + 0x3f" (identifier "puVar5") (+ "+") (number_literal "0x3f"))) (; ";")) (labeled_statement "LAB_00019364:\n            iVar13 = iVar13 + 1;" (statement_identifier "LAB_00019364") (: ":") (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (DAT_0002e128 <= iVar13) goto LAB_000193d8;" (if "if") (parenthesized_expression "(DAT_0002e128 <= iVar13)" (( "(") (binary_expression "DAT_0002e128 <= iVar13" (identifier "DAT_0002e128") (<= "<=") (identifier "iVar13")) () ")")) (goto_statement "goto LAB_000193d8;" (goto "goto") (statement_identifier "LAB_000193d8") (; ";"))) (} "}"))) (if_statement "if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;" (if "if") (parenthesized_expression "(((byte)DAT_0002e158 & 0x80) == 0)" (( "(") (binary_expression "((byte)DAT_0002e158 & 0x80) == 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x80)" (( "(") (binary_expression "(byte)DAT_0002e158 & 0x80" (cast_expression "(byte)DAT_0002e158" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0002e158")) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019364;" (goto "goto") (statement_identifier "LAB_00019364") (; ";"))) (expression_statement "iVar1 = iVar13 * 4;" (assignment_expression "iVar1 = iVar13 * 4" (identifier "iVar1") (= "=") (binary_expression "iVar13 * 4" (identifier "iVar13") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar1 = *(int *)(DAT_0002e124 + iVar1);" (assignment_expression "iVar1 = *(int *)(DAT_0002e124 + iVar1)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(DAT_0002e124 + iVar1)" (* "*") (cast_expression "(int *)(DAT_0002e124 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002e124 + iVar1)" (( "(") (binary_expression "DAT_0002e124 + iVar1" (identifier "DAT_0002e124") (+ "+") (identifier "iVar1")) () ")"))))) (; ";")) (expression_statement "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4));" (call_expression "printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4))" (identifier "printf") (argument_list "("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),\n                 *(undefined4 *)(iVar1 + 4))" (( "(") (string_literal ""[core_create_function_syms] rejecting: 0x%lx %s\n"" (" """) (string_content "[core_create_function_syms] rejecting: 0x%lx %s") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)(iVar1 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar1 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 4)" (( "(") (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar13 < DAT_0002e128)" (( "(") (binary_expression "iVar13 < DAT_0002e128" (identifier "iVar13") (< "<") (identifier "DAT_0002e128")) () ")")) (; ";")) (labeled_statement "LAB_000193d8:\n        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;" (statement_identifier "LAB_000193d8") (: ":") (expression_statement "DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;" (assignment_expression "DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041" (identifier "DAT_0002e520") (= "=") (binary_expression "((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041" (parenthesized_expression "((int)DAT_0002e528 - (int)DAT_0002e524 >> 2)" (( "(") (binary_expression "(int)DAT_0002e528 - (int)DAT_0002e524 >> 2" (binary_expression "(int)DAT_0002e528 - (int)DAT_0002e524" (cast_expression "(int)DAT_0002e528" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0002e528")) (- "-") (cast_expression "(int)DAT_0002e524" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0002e524"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x41041041"))) (; ";"))) (} "}")))) (expression_statement "FUN_0001ce90(&DAT_0002e520);" (call_expression "FUN_0001ce90(&DAT_0002e520)" (identifier "FUN_0001ce90") (argument_list "(&DAT_0002e520)" (( "(") (pointer_expression "&DAT_0002e520" (& "&") (identifier "DAT_0002e520")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar3 = DAT_0002e508;" (assignment_expression "uVar3 = DAT_0002e508" (identifier "uVar3") (= "=") (identifier "DAT_0002e508")) (; ";")) (expression_statement "puVar2 = PTR_s_a_out_0002d4a0;" (assignment_expression "puVar2 = PTR_s_a_out_0002d4a0" (identifier "puVar2") (= "=") (identifier "PTR_s_a_out_0002d4a0")) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);" (assignment_expression "pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext("gprof","%s: file `%s\' has no symbols\n",5)" (identifier "dcgettext") (argument_list "("gprof","%s: file `%s\' has no symbols\n",5)" (( "(") (string_literal ""gprof"" (" """) (string_content "gprof") (" """)) (, ",") (string_literal ""%s: file `%s\' has no symbols\n"" (" """) (string_content "%s: file `%s") (escape_sequence "\'") (string_content " has no symbols") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" (* "*") (cast_expression "(FILE **)PTR_stderr_0002cfcc" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_0002cfcc"))) (, ",") (identifier "pcVar8") (, ",") (identifier "uVar3") (, ",") (identifier "puVar2") () ")"))) (; ";")) (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" (identifier "FUN_0001adb0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 var_1;
  char *pcVar2;
  type_2 *paVar3;
  type_3 *var_16;
  type_4 *var_10;
  char *pcVar6;
  int var_5;
  char **filename_00;
  type_5 var_21;
  type_6 *var_25;
  int var_18;
  type_7 *pSVar11;
  char *__format;
  type_8 var_23;
  char **name;
  type_4 *var_7;
  type_9 var_9;
  type_9 var_11;
  int var_13;
  type_9 var_8;
  bool bVar18;
  bool bVar19;
  char *filename;
  char *func_name;
  type_10 uStack_14;
  
  uStack_14 = 0x190e9;
  bVar19 = false;
  var_1 = core_bfd->xvec->flavour;
  if (var_1 < var_2) {
    bVar19 = (1 << ((type_8)var_1 & 0x1f) & 0x43cU) != 0;
  }
  var_7 = (type_4 *)0x0;
  var_13 = 0;
  symtab.len = 0;
  if (0 < var_3) {
    do {
      var_5 = var_4(core_syms[var_13]);
      var_10 = symbol_map;
      if (var_5 != 0) {
        if (var_6 == 0) {
          if (var_7 != (type_4 *)0x0) {
LAB_00019164:
            if ((var_7->field_0x8 & 1) == 0) goto LAB_00019171;
          }
        }
        else {
          pcVar2 = core_syms[var_13]->name;
          var_8 = 0;
          var_9 = var_6;
          while (var_8 < var_9) {
            while( true ) {
              var_11 = var_8 + var_9 >> 1;
              var_7 = var_10 + var_11;
              var_5 = var_12(pcVar2,var_7->function_name);
              if (-1 < var_5) break;
              var_9 = var_11;
              if (var_11 <= var_8) goto LAB_00019211;
            }
            if (var_5 == 0) goto LAB_00019164;
            var_8 = var_11 + 1;
          }
LAB_00019211:
          var_7 = (type_4 *)0x0;
        }
        symtab.len = symtab.len + 1;
      }
LAB_00019171:
      var_13 = var_13 + 1;
    } while (var_13 < var_3);
    if (symtab.len != 0) {
      symtab.base = (type_6 *)var_14(symtab.len * 0xfc);
      symtab.limit = symtab.base;
      if (var_3 < 1) {
        symtab.len = 0;
      }
      else {
        var_13 = 0;
        do {
          while( true ) {
            var_5 = var_4(core_syms[var_13]);
            var_10 = symbol_map;
            if (var_5 == 0) break;
            if (var_6 == 0) {
              if (var_7 == (type_4 *)0x0) goto LAB_00019486;
LAB_0001928e:
              if ((var_7->field_0x8 & 1) == 0) goto LAB_00019364;
              var_15(symtab.limit);
              var_25 = symtab.limit;
              paVar3 = core_syms[var_13];
              var_16 = paVar3->section;
              name = *(char ***)((int)&paVar3->value + 4);
              filename_00 = *(char ***)&paVar3->value;
              *(char ***)((int)&(symtab.limit)->addr + 4) = name;
              *(char ***)&var_25->addr = filename_00;
              if (var_16 != (type_3 *)0x0) {
                bVar18 = var_17((type_9)filename_00,(type_9)var_16->vma);
                filename_00 = (char **)((int)filename_00 + (int)var_16->vma);
                name = (char **)((int)name + (type_9)bVar18 + *(int *)((int)&var_16->vma + 4));
                *(char ***)((int)&var_25->addr + 4) = name;
                *(char ***)&var_25->addr = filename_00;
              }
              pcVar2 = var_7->file_name;
              var_25->field_0x1c = var_25->field_0x1c | 8;
              var_25->name = pcVar2;
            }
            else {
              pcVar2 = core_syms[var_13]->name;
              var_8 = 0;
              var_9 = var_6;
              while (var_8 < var_9) {
                while( true ) {
                  var_11 = var_8 + var_9 >> 1;
                  var_7 = var_10 + var_11;
                  var_18 = var_12(pcVar2,var_7->function_name);
                  if (-1 < var_18) break;
                  var_9 = var_11;
                  if (var_11 <= var_8) goto LAB_00019486;
                }
                if (var_18 == 0) goto LAB_0001928e;
                var_8 = var_11 + 1;
              }
LAB_00019486:
              var_15(symtab.limit);
              var_25 = symtab.limit;
              paVar3 = core_syms[var_13];
              var_16 = paVar3->section;
              filename_00 = *(char ***)&paVar3->value;
              name = *(char ***)((int)&paVar3->value + 4);
              *(char ***)&(symtab.limit)->addr = filename_00;
              *(char ***)((int)&var_25->addr + 4) = name;
              if (var_16 != (type_3 *)0x0) {
                bVar18 = var_17((type_9)filename_00,(type_9)var_16->vma);
                filename_00 = (char **)((int)filename_00 + (int)var_16->vma);
                name = (char **)((int)name + (type_9)bVar18 + *(int *)((int)&var_16->vma + 4));
                *(char ***)((int)&var_25->addr + 4) = name;
                *(char ***)&var_25->addr = filename_00;
              }
              pcVar2 = paVar3->name;
              var_7 = (type_4 *)0x0;
              var_25->field_0x1c = var_25->field_0x1c & 0xf7;
              var_25->name = pcVar2;
            }
            var_21 = var_19(var_20(&var_25->line_num,&func_name),filename_00,name,
                                 (int *)&filename);
            var_25 = symtab.limit;
            if (var_21 != 0) {
              pSVar11 = var_22(filename);
              var_25->file = pSVar11;
            }
            var_25 = symtab.limit;
            var_23 = 1;
            if (bVar19) {
              var_23 = (type_8)(core_syms[var_13]->flags >> 3) & 1;
            }
            var_23 = (symtab.limit)->field_0x1c & 0xfe | var_23;
            (symtab.limit)->field_0x1c = var_23 | 4;
            if (var_5 == 0x74) {
              var_25->field_0x1c = var_23 | 6;
            }
            if (((type_8)debug_level & 0x80) != 0) {
              var_24("[core_create_function_syms] %ld %s 0x%lx\n",
                     ((int)var_25 - (int)symtab.base >> 2) * -0x41041041,var_25->name,
                     (int)var_25->addr);
              var_25 = symtab.limit;
            }
            symtab.limit = var_25 + 1;
LAB_00019364:
            var_13 = var_13 + 1;
            if (var_3 <= var_13) goto LAB_000193d8;
          }
          if (((type_8)debug_level & 0x80) == 0) goto LAB_00019364;
          var_5 = var_13 + 1;
          var_24("[core_create_function_syms] rejecting: 0x%lx %s\n",(int)core_syms[var_13]->value,
                 core_syms[var_13]->name);
          var_13 = var_5;
        } while (var_5 < var_3);
LAB_000193d8:
        symtab.len = ((int)symtab.limit - (int)symtab.base >> 2) * -0x41041041;
      }
      var_26(&symtab);
      return;
    }
  }
  pcVar6 = whoami;
  pcVar2 = a_out_name;
  __format = (char *)var_27("gprof","%s: file `%s\' has no symbols\n",5);
  var_28(*(type_11 **)PTR_stderr_0002cfcc,__format,pcVar6,pcVar2);
                    /* WARNING: Subroutine does not return */
  var_29(1);
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(void)

{
  int iVar1;
  undefined *puVar2;
  undefined4 uVar3;
  int iVar4;
  uint *puVar5;
  int iVar6;
  int iVar7;
  char *pcVar8;
  byte bVar9;
  undefined4 *puVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  uint uVar14;
  bool bVar15;
  undefined4 local_24;
  undefined1 local_20 [12];
  undefined4 uStack_14;
  
  uStack_14 = 0x190e9;
  bVar15 = false;
  uVar14 = *(uint *)(*(int *)(DAT_0002e4ec + 4) + 4);
  if (uVar14 < 0xb) {
    bVar15 = (1 << ((byte)uVar14 & 0x1f) & 0x43cU) != 0;
  }
  puVar10 = (undefined4 *)0x0;
  iVar13 = 0;
  DAT_0002e520 = 0;
  if (0 < DAT_0002e128) {
    do {
      iVar4 = FUN_000185b0();
      iVar1 = DAT_0002e4f4;
      if (iVar4 != 0) {
        if (DAT_0002e4f8 == 0) {
          if (puVar10 != (undefined4 *)0x0) {
LAB_00019164:
            if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019171;
          }
        }
        else {
          pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);
          uVar14 = 0;
          uVar11 = DAT_0002e4f8;
          while (uVar14 < uVar11) {
            while( true ) {
              uVar12 = uVar14 + uVar11 >> 1;
              puVar10 = (undefined4 *)(iVar1 + uVar12 * 0xc);
              iVar4 = strcmp(pcVar8,(char *)*puVar10);
              if (-1 < iVar4) break;
              uVar11 = uVar12;
              if (uVar12 <= uVar14) goto LAB_00019211;
            }
            if (iVar4 == 0) goto LAB_00019164;
            uVar14 = uVar12 + 1;
          }
LAB_00019211:
          puVar10 = (undefined4 *)0x0;
        }
        DAT_0002e520 = DAT_0002e520 + 1;
      }
LAB_00019171:
      iVar13 = iVar13 + 1;
    } while (iVar13 < DAT_0002e128);
    if (DAT_0002e520 != 0) {
      DAT_0002e524 = (uint *)xmalloc(DAT_0002e520 * 0xfc);
      DAT_0002e528 = DAT_0002e524;
      if (DAT_0002e128 < 1) {
        DAT_0002e520 = 0;
      }
      else {
        iVar13 = 0;
        do {
          while( true ) {
            iVar1 = iVar13 * 4;
            iVar6 = FUN_000185b0();
            iVar4 = DAT_0002e4f4;
            if (iVar6 == 0) break;
            if (DAT_0002e4f8 == 0) {
              if (puVar10 == (undefined4 *)0x0) goto LAB_00019486;
LAB_0001928e:
              if ((*(byte *)(puVar10 + 2) & 1) == 0) goto LAB_00019364;
              FUN_0001ce40(DAT_0002e528);
              puVar5 = DAT_0002e528;
              iVar4 = *(int *)(DAT_0002e124 + iVar1);
              iVar7 = *(int *)(iVar4 + 0x14);
              uVar14 = *(uint *)(iVar4 + 0xc);
              uVar11 = *(uint *)(iVar4 + 8);
              DAT_0002e528[1] = uVar14;
              *puVar5 = uVar11;
              if (iVar7 != 0) {
                uVar12 = *(uint *)(iVar7 + 0x1c);
                puVar5[1] = uVar14 + *(int *)(iVar7 + 0x20) +
                            (uint)CARRY4(uVar11,*(uint *)(iVar7 + 0x1c));
                *puVar5 = uVar11 + uVar12;
              }
              uVar14 = puVar10[1];
              *(byte *)(puVar5 + 7) = (byte)puVar5[7] | 8;
              puVar5[4] = uVar14;
            }
            else {
              pcVar8 = *(char **)(*(int *)(DAT_0002e124 + iVar13 * 4) + 4);
              uVar14 = 0;
              uVar11 = DAT_0002e4f8;
              while (uVar14 < uVar11) {
                while( true ) {
                  uVar12 = uVar14 + uVar11 >> 1;
                  puVar10 = (undefined4 *)(iVar4 + uVar12 * 0xc);
                  iVar7 = strcmp(pcVar8,(char *)*puVar10);
                  if (-1 < iVar7) break;
                  uVar11 = uVar12;
                  if (uVar12 <= uVar14) goto LAB_00019486;
                }
                if (iVar7 == 0) goto LAB_0001928e;
                uVar14 = uVar12 + 1;
              }
LAB_00019486:
              FUN_0001ce40(DAT_0002e528);
              puVar5 = DAT_0002e528;
              iVar4 = *(int *)(DAT_0002e124 + iVar1);
              iVar7 = *(int *)(iVar4 + 0x14);
              uVar14 = *(uint *)(iVar4 + 8);
              uVar11 = *(uint *)(iVar4 + 0xc);
              *DAT_0002e528 = uVar14;
              puVar5[1] = uVar11;
              if (iVar7 != 0) {
                uVar12 = *(uint *)(iVar7 + 0x1c);
                puVar5[1] = uVar11 + *(int *)(iVar7 + 0x20) +
                            (uint)CARRY4(uVar14,*(uint *)(iVar7 + 0x1c));
                *puVar5 = uVar14 + uVar12;
              }
              uVar14 = *(uint *)(iVar4 + 4);
              puVar10 = (undefined4 *)0x0;
              *(byte *)(puVar5 + 7) = (byte)puVar5[7] & 0xf7;
              puVar5[4] = uVar14;
            }
            iVar4 = FUN_00018440(local_20,puVar5 + 6);
            puVar5 = DAT_0002e528;
            if (iVar4 != 0) {
              uVar14 = FUN_0001c820(local_24);
              puVar5[5] = uVar14;
            }
            puVar5 = DAT_0002e528;
            bVar9 = 1;
            if (bVar15) {
              bVar9 = (byte)(*(uint *)(*(int *)(DAT_0002e124 + iVar1) + 0x10) >> 3) & 1;
            }
            bVar9 = (byte)DAT_0002e528[7] & 0xfe | bVar9;
            *(byte *)(DAT_0002e528 + 7) = bVar9 | 4;
            if (iVar6 == 0x74) {
              *(byte *)(puVar5 + 7) = bVar9 | 6;
            }
            if (((byte)DAT_0002e158 & 0x80) != 0) {
              printf("[core_create_function_syms] %ld %s 0x%lx\n",
                     ((int)puVar5 - (int)DAT_0002e524 >> 2) * -0x41041041,puVar5[4],*puVar5);
              puVar5 = DAT_0002e528;
            }
            DAT_0002e528 = puVar5 + 0x3f;
LAB_00019364:
            iVar13 = iVar13 + 1;
            if (DAT_0002e128 <= iVar13) goto LAB_000193d8;
          }
          if (((byte)DAT_0002e158 & 0x80) == 0) goto LAB_00019364;
          iVar1 = iVar13 * 4;
          iVar13 = iVar13 + 1;
          iVar1 = *(int *)(DAT_0002e124 + iVar1);
          printf("[core_create_function_syms] rejecting: 0x%lx %s\n",*(undefined4 *)(iVar1 + 8),
                 *(undefined4 *)(iVar1 + 4));
        } while (iVar13 < DAT_0002e128);
LAB_000193d8:
        DAT_0002e520 = ((int)DAT_0002e528 - (int)DAT_0002e524 >> 2) * -0x41041041;
      }
      FUN_0001ce90(&DAT_0002e520);
      return;
    }
  }
  uVar3 = DAT_0002e508;
  puVar2 = PTR_s_a_out_0002d4a0;
  pcVar8 = (char *)dcgettext("gprof","%s: file `%s\' has no symbols\n",5);
  fprintf(*(FILE **)PTR_stderr_0002cfcc,pcVar8,uVar3,puVar2);
                    /* WARNING: Subroutine does not return */
  FUN_0001adb0(1);
}

