
void print_lines(list_info_type *list,uint lineno,char *string,uint address)

{
  list_message *plVar1;
  int iVar2;
  int iVar3;
  char *pcVar4;
  ulong uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  int iVar9;
  ulong uVar10;
  long lVar11;
  char *pcVar12;
  uint local_40;
  
  pcVar4 = data_buffer;
  listing_page(list);
  uVar8 = listing_lhs_width * 9;
  if (address == 0xffffffff) {
    fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);
    if (uVar8 != 0) {
      uVar6 = 0;
      do {
        uVar6 = uVar6 + 1;
        fputc(0x20,(FILE *)list_file);
      } while (uVar8 != uVar6);
    }
    pcVar4 = "";
    if (string != (char *)0x0) {
      pcVar4 = string;
    }
    emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);
    return;
  }
  iVar3 = had_errors();
  if (iVar3 == 0) {
    fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);
  }
  else {
    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);
  }
  if (*pcVar4 == '\0') {
    uVar5 = 0;
    iVar3 = 0;
    uVar6 = 0;
  }
  else {
    iVar3 = 0;
    uVar5 = 0;
    if (uVar8 == 0) goto LAB_00118f94;
    uVar10 = 2;
    iVar3 = 1;
    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);
    uVar7 = 0;
    while( true ) {
      uVar5 = uVar10 & 0xffffffff;
      uVar6 = uVar7 + 2;
      if (pcVar4[uVar10] == '\0') break;
      if (uVar8 <= uVar6) goto LAB_00118f94;
      iVar3 = iVar3 + 1;
      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],
              (ulong)(uint)(int)pcVar4[uVar10 + 1]);
      if (iVar3 == 4) {
        uVar6 = uVar7 + 3;
        iVar3 = 0;
        fputc(0x20,(FILE *)list_file);
      }
      uVar10 = uVar10 + 2;
      uVar7 = uVar6;
    }
  }
  if (uVar6 < uVar8) {
    do {
      uVar6 = uVar6 + 1;
      fputc(0x20,(FILE *)list_file);
    } while (uVar8 != uVar6);
  }
LAB_00118f94:
  pcVar12 = "";
  if (string != (char *)0x0) {
    pcVar12 = string;
  }
  emit_line(list,"\t%s\n",pcVar12);
  for (plVar1 = list->messages; plVar1 != (list_message *)0x0; plVar1 = plVar1->next) {
    emit_line(list,"****  %s\n",plVar1->message);
  }
  if ((listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')) {
    local_40 = 0;
    while( true ) {
      pcVar12 = pcVar4 + lVar11;
      iVar9 = (int)pcVar12;
      iVar2 = listing_lhs_width_second * 9;
      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);
      uVar8 = 0;
      while( true ) {
        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;
        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;
        iVar3 = iVar3 + 1;
        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);
        uVar6 = uVar8 + 2;
        if (iVar3 == 4) {
          iVar3 = 0;
          fputc(0x20,(FILE *)list_file);
          uVar6 = uVar8 + 3;
        }
        pcVar12 = pcVar12 + 2;
        uVar8 = uVar6;
      }
      emit_line(list,"\n");
      local_40 = local_40 + 1;
      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))
      break;
      lVar11 = (long)(int)uVar6;
    }
  }
  return;
}



void FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)

{
  undefined8 *puVar1;
  int iVar2;
  char *pcVar3;
  int iVar4;
  undefined *puVar5;
  ulong uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  int iVar10;
  ulong uVar11;
  long lVar12;
  char *pcVar13;
  uint local_40;
  
  pcVar3 = DAT_001e3660;
  FUN_00118c10();
  uVar9 = DAT_001da4b8 * 9;
  if (param_4 == 0xffffffff) {
    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);
    if (uVar9 != 0) {
      uVar7 = 0;
      do {
        uVar7 = uVar7 + 1;
        fputc(0x20,DAT_001e3668);
      } while (uVar9 != uVar7);
    }
    puVar5 = &DAT_0014bc25;
    if (param_3 != (undefined *)0x0) {
      puVar5 = param_3;
    }
    FUN_00118d80(0,&DAT_0014ce03,puVar5);
    return;
  }
  iVar4 = FUN_0011d7d0();
  if (iVar4 == 0) {
    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);
  }
  else {
    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);
  }
  if (*pcVar3 == '\0') {
    uVar6 = 0;
    iVar4 = 0;
    uVar7 = 0;
  }
  else {
    iVar4 = 0;
    uVar6 = 0;
    if (uVar9 == 0) goto LAB_00118f94;
    uVar11 = 2;
    iVar4 = 1;
    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);
    uVar8 = 0;
    while( true ) {
      uVar6 = uVar11 & 0xffffffff;
      uVar7 = uVar8 + 2;
      if (pcVar3[uVar11] == '\0') break;
      if (uVar9 <= uVar7) goto LAB_00118f94;
      iVar4 = iVar4 + 1;
      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],
              (ulong)(uint)(int)pcVar3[uVar11 + 1]);
      if (iVar4 == 4) {
        uVar7 = uVar8 + 3;
        iVar4 = 0;
        fputc(0x20,DAT_001e3668);
      }
      uVar11 = uVar11 + 2;
      uVar8 = uVar7;
    }
  }
  if (uVar7 < uVar9) {
    do {
      uVar7 = uVar7 + 1;
      fputc(0x20,DAT_001e3668);
    } while (uVar9 != uVar7);
  }
LAB_00118f94:
  puVar5 = &DAT_0014bc25;
  if (param_3 != (undefined *)0x0) {
    puVar5 = param_3;
  }
  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);
  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;
      puVar1 = (undefined8 *)puVar1[1]) {
    FUN_00118d80(param_1,"****  %s\n",*puVar1);
  }
  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {
    local_40 = 0;
    while( true ) {
      pcVar13 = pcVar3 + lVar12;
      iVar10 = (int)pcVar13;
      iVar2 = DAT_001da4b4 * 9;
      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);
      uVar9 = 0;
      while( true ) {
        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;
        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;
        iVar4 = iVar4 + 1;
        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);
        uVar7 = uVar9 + 2;
        if (iVar4 == 4) {
          iVar4 = 0;
          fputc(0x20,DAT_001e3668);
          uVar7 = uVar9 + 3;
        }
        pcVar13 = pcVar13 + 2;
        uVar9 = uVar7;
      }
      FUN_00118d80(param_1,"\n");
      local_40 = local_40 + 1;
      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;
      lVar12 = (long)(int)uVar7;
    }
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
MOV EBX,ECX
SUB RSP,0x28
MOV R13,qword ptr [0x001e3660]
MOV qword ptr [RSP + 0x8],RDI
MOV dword ptr [RSP + 0x1c],ESI
MOV qword ptr [RSP + 0x10],RDX
CALL 0x00118c10
MOV EAX,dword ptr [0x001da4b8]
LEA EAX,[RAX + RAX*0x8]
MOV dword ptr [RSP + 0x18],EAX
CMP EBX,-0x1
JZ 0x001190ef
CALL 0x0011d7d0
TEST EAX,EAX
JNZ 0x00118f47
MOV EDX,dword ptr [RSP + 0x1c]
MOV RDI,qword ptr [0x001e3668]
MOV ECX,EBX
XOR EAX,EAX
LEA RSI,[0x14ce13]
CALL 0x00108410
MOVZX EAX,byte ptr [R13]
TEST AL,AL
JZ 0x00118f65
MOV EDX,dword ptr [RSP + 0x18]
XOR EBX,EBX
XOR EBP,EBP
TEST EDX,EDX
JZ 0x00118f94
MOVSX ECX,byte ptr [R13 + 0x1]
MOVSX EDX,AL
XOR EAX,EAX
MOV R15D,0x2
MOV RDI,qword ptr [0x001e3668]
LEA RSI,[0x14ce1e]
MOV EBX,0x1
XOR R14D,R14D
CALL 0x00108410
JMP 0x00118eef
ADD R15,0x2
MOV R14D,R12D
MOVSX EDX,byte ptr [R13 + R15*0x1]
MOV EBP,R15D
LEA R12D,[R14 + 0x2]
TEST DL,DL
JZ 0x00118f6c
CMP dword ptr [RSP + 0x18],R12D
JBE 0x00118f94
MOVSX ECX,byte ptr [R13 + R15*0x1 + 0x1]
MOV RDI,qword ptr [0x001e3668]
XOR EAX,EAX
ADD EBX,0x1
LEA RSI,[0x14ce1e]
CALL 0x00108410
CMP EBX,0x4
JNZ 0x00118ee8
MOV RSI,qword ptr [0x001e3668]
MOV EDI,0x20
LEA R12D,[R14 + 0x3]
XOR EBX,EBX
CALL 0x00108340
JMP 0x00118ee8
MOV EDX,dword ptr [RSP + 0x1c]
MOV RDI,qword ptr [0x001e3668]
LEA RSI,[0x14ce08]
XOR EAX,EAX
CALL 0x00108410
JMP 0x00118e98
XOR EBP,EBP
XOR EBX,EBX
XOR R12D,R12D
CMP dword ptr [RSP + 0x18],R12D
JBE 0x00118f94
NOP dword ptr [RAX + RAX*0x1]
MOV RSI,qword ptr [0x001e3668]
MOV EDI,0x20
ADD R12D,0x1
CALL 0x00108340
CMP dword ptr [RSP + 0x18],R12D
JNZ 0x00118f78
MOV RSI,qword ptr [RSP + 0x10]
LEA RAX,[0x14bc25]
MOV R14,qword ptr [RSP + 0x8]
TEST RSI,RSI
MOV RDI,R14
CMOVNZ RAX,RSI
LEA RSI,[0x14ce03]
MOV RDX,RAX
XOR EAX,EAX
CALL 0x00118d80
MOV R14,qword ptr [R14 + 0x38]
TEST R14,R14
JZ 0x00118feb
LEA R12,[0x14ce23]
MOV RDX,qword ptr [R14]
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,R12
XOR EAX,EAX
CALL 0x00118d80
MOV R14,qword ptr [R14 + 0x8]
TEST R14,R14
JNZ 0x00118fd0
MOV EAX,dword ptr [0x001da4b0]
TEST EAX,EAX
JZ 0x001190e0
MOVSXD R15,EBP
CMP byte ptr [R13 + R15*0x1],0x0
JZ 0x001190e0
MOV dword ptr [RSP + 0x18],0x0
MOV EAX,dword ptr [0x001da4b4]
MOV EDX,dword ptr [RSP + 0x1c]
ADD R15,R13
XOR R14D,R14D
MOV RDI,qword ptr [0x001e3668]
LEA RSI,[0x14ce2d]
SUB EBP,R15D
LEA R12D,[RAX + RAX*0x8 + -0x1]
XOR EAX,EAX
CALL 0x00108410
JMP 0x00119047
ADD R15,0x2
MOV R14D,EAX
LEA ECX,[RBP + R15*0x1]
MOVSX EDX,byte ptr [R15]
CMP R14D,R12D
JNC 0x001190a0
TEST DL,DL
JZ 0x001190a0
MOVSX ECX,byte ptr [R15 + 0x1]
MOV RDI,qword ptr [0x001e3668]
XOR EAX,EAX
ADD EBX,0x1
LEA RSI,[0x14ce1e]
CALL 0x00108410
LEA EAX,[R14 + 0x2]
CMP EBX,0x4
JNZ 0x00119040
MOV RSI,qword ptr [0x001e3668]
MOV EDI,0x20
XOR EBX,EBX
CALL 0x00108340
LEA EAX,[R14 + 0x3]
JMP 0x00119040
MOV RDI,qword ptr [RSP + 0x8]
XOR EAX,EAX
LEA RSI,[0x14cef9]
MOV dword ptr [RSP + 0x10],ECX
CALL 0x00118d80
ADD dword ptr [RSP + 0x18],0x1
MOV EAX,dword ptr [RSP + 0x18]
CMP dword ptr [0x001da4b0],EAX
JBE 0x001190e0
MOV ECX,dword ptr [RSP + 0x10]
CMP byte ptr [R15],0x0
MOV EBP,ECX
JZ 0x001190e0
MOVSXD R15,ECX
JMP 0x00119010
ADD RSP,0x28
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV EDX,dword ptr [RSP + 0x1c]
MOV RDI,qword ptr [0x001e3668]
LEA RSI,[0x14cdf9]
XOR EAX,EAX
CALL 0x00108410
MOV ECX,dword ptr [RSP + 0x18]
TEST ECX,ECX
JZ 0x00119132
XOR EBX,EBX
NOP word ptr [RAX + RAX*0x1]
MOV RSI,qword ptr [0x001e3668]
MOV EDI,0x20
ADD EBX,0x1
CALL 0x00108340
CMP dword ptr [RSP + 0x18],EBX
JNZ 0x00119118
MOV RSI,qword ptr [RSP + 0x10]
LEA RAX,[0x14bc25]
TEST RSI,RSI
CMOVNZ RAX,RSI
ADD RSP,0x28
LEA RSI,[0x14ce03]
XOR EDI,EDI
POP RBX
POP RBP
MOV RDX,RAX
POP R12
XOR EAX,EAX
POP R13
POP R14
POP R15
JMP 0x00118d80
(translation_unit "void FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)\n\n{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)\n\n{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)" identifier (parameter_list "(long param_1,uint param_2,undefined *param_3,uint param_4)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (expression_statement "pcVar3 = DAT_001e3660;" (assignment_expression "pcVar3 = DAT_001e3660" identifier = identifier) ;) (expression_statement "FUN_00118c10();" (call_expression "FUN_00118c10()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar9 = DAT_001da4b8 * 9;" (assignment_expression "uVar9 = DAT_001da4b8 * 9" identifier = (binary_expression "DAT_001da4b8 * 9" identifier * number_literal)) ;) (if_statement "if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }" if (parenthesized_expression "(param_4 == 0xffffffff)" ( (binary_expression "param_4 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }" { (expression_statement "fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2)" identifier (argument_list "(DAT_001e3668,"% 4d     ",(ulong)param_2)" ( identifier , (string_literal ""% 4d     "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);" do (compound_statement "{\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(uVar9 != uVar7)" ( (binary_expression "uVar9 != uVar7" identifier != identifier) )) ;) })) (expression_statement "puVar5 = &DAT_0014bc25;" (assignment_expression "puVar5 = &DAT_0014bc25" identifier = (pointer_expression "&DAT_0014bc25" & identifier)) ;) (if_statement "if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }" if (parenthesized_expression "(param_3 != (undefined *)0x0)" ( (binary_expression "param_3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar5 = param_3;\n    }" { (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" identifier = identifier) ;) })) (expression_statement "FUN_00118d80(0,&DAT_0014ce03,puVar5);" (call_expression "FUN_00118d80(0,&DAT_0014ce03,puVar5)" identifier (argument_list "(0,&DAT_0014ce03,puVar5)" ( number_literal , (pointer_expression "&DAT_0014ce03" & identifier) , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar4 = FUN_0011d7d0();" (assignment_expression "iVar4 = FUN_0011d7d0()" identifier = (call_expression "FUN_0011d7d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }" { (expression_statement "fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);" (call_expression "fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4)" identifier (argument_list "(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4)" ( identifier , (string_literal ""% 4d %04x "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) (else_clause "else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" else (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" { (expression_statement "fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2)" identifier (argument_list "(DAT_001e3668,"% 4d ???? ",(ulong)param_2)" ( identifier , (string_literal ""% 4d ???? "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }))) (if_statement "if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" if (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" else (compound_statement "{\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (uVar9 == 0) goto LAB_00118f94;" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00118f94;" goto statement_identifier ;)) (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" identifier = number_literal) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1])" identifier (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1])" ( identifier , (string_literal ""%c%c"" " string_content ") , (binary_expression "(ulong)(uint)(int)*pcVar3" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier) , (cast_expression "(ulong)(uint)(int)pcVar3[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar3[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }" { (expression_statement "uVar6 = uVar11 & 0xffffffff;" (assignment_expression "uVar6 = uVar11 & 0xffffffff" identifier = (binary_expression "uVar11 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "uVar7 = uVar8 + 2;" (assignment_expression "uVar7 = uVar8 + 2" identifier = (binary_expression "uVar8 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar3[uVar11] == '\0') break;" if (parenthesized_expression "(pcVar3[uVar11] == '\0')" ( (binary_expression "pcVar3[uVar11] == '\0'" (subscript_expression "pcVar3[uVar11]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (if_statement "if (uVar9 <= uVar7) goto LAB_00118f94;" if (parenthesized_expression "(uVar9 <= uVar7)" ( (binary_expression "uVar9 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_00118f94;" goto statement_identifier ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1])" identifier (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1])" ( identifier , (string_literal ""%c%c"" " string_content ") , (cast_expression "(ulong)(uint)(int)pcVar3[uVar11]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar3[uVar11]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar3[uVar11]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar3[uVar11]" identifier [ identifier ])))) , (cast_expression "(ulong)(uint)(int)pcVar3[uVar11 + 1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar3[uVar11 + 1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar3[uVar11 + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar3[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ])))) ))) ;) (if_statement "if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }" if (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }" { (expression_statement "uVar7 = uVar8 + 3;" (assignment_expression "uVar7 = uVar8 + 3" identifier = (binary_expression "uVar8 + 3" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) })) (expression_statement "uVar11 = uVar11 + 2;" (assignment_expression "uVar11 = uVar11 + 2" identifier = (binary_expression "uVar11 + 2" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) })) }))) (if_statement "if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }" if (parenthesized_expression "(uVar7 < uVar9)" ( (binary_expression "uVar7 < uVar9" identifier < identifier) )) (compound_statement "{\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }" { (do_statement "do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);" do (compound_statement "{\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(uVar9 != uVar7)" ( (binary_expression "uVar9 != uVar7" identifier != identifier) )) ;) })) (labeled_statement "LAB_00118f94:\n  puVar5 = &DAT_0014bc25;" statement_identifier : (expression_statement "puVar5 = &DAT_0014bc25;" (assignment_expression "puVar5 = &DAT_0014bc25" identifier = (pointer_expression "&DAT_0014bc25" & identifier)) ;)) (if_statement "if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }" if (parenthesized_expression "(param_3 != (undefined *)0x0)" ( (binary_expression "param_3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar5 = param_3;\n  }" { (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" identifier = identifier) ;) })) (expression_statement "FUN_00118d80(param_1,&DAT_0014ce03,puVar5);" (call_expression "FUN_00118d80(param_1,&DAT_0014ce03,puVar5)" identifier (argument_list "(param_1,&DAT_0014ce03,puVar5)" ( identifier , (pointer_expression "&DAT_0014ce03" & identifier) , identifier ))) ;) (for_statement "for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }" for ( (assignment_expression "puVar1 = *(undefined8 **)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x38)" * (cast_expression "(undefined8 **)(param_1 + 0x38)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ; (binary_expression "puVar1 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar1 = (undefined8 *)puVar1[1]" identifier = (cast_expression "(undefined8 *)puVar1[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar1[1]" identifier [ number_literal ]))) ) (compound_statement "{\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }" { (expression_statement "FUN_00118d80(param_1,"****  %s\n",*puVar1);" (call_expression "FUN_00118d80(param_1,"****  %s\n",*puVar1)" identifier (argument_list "(param_1,"****  %s\n",*puVar1)" ( identifier , (string_literal ""****  %s\n"" " string_content escape_sequence ") , (pointer_expression "*puVar1" * identifier) ))) ;) })) (if_statement "if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }" if (parenthesized_expression "((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0'))" ( (binary_expression "(DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')" (parenthesized_expression "(DAT_001da4b0 != 0)" ( (binary_expression "DAT_001da4b0 != 0" identifier != number_literal) )) && (parenthesized_expression "(lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')" ( (comma_expression "lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0'" (assignment_expression "lVar12 = (long)(int)uVar6" identifier = (cast_expression "(long)(int)uVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "pcVar3[lVar12] != '\0'" (subscript_expression "pcVar3[lVar12]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }" { (expression_statement "pcVar13 = pcVar3 + lVar12;" (assignment_expression "pcVar13 = pcVar3 + lVar12" identifier = (binary_expression "pcVar3 + lVar12" identifier + identifier)) ;) (expression_statement "iVar10 = (int)pcVar13;" (assignment_expression "iVar10 = (int)pcVar13" identifier = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar2 = DAT_001da4b4 * 9;" (assignment_expression "iVar2 = DAT_001da4b4 * 9" identifier = (binary_expression "DAT_001da4b4 * 9" identifier * number_literal)) ;) (expression_statement "fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2)" identifier (argument_list "(DAT_001e3668,"% 4d      ",(ulong)param_2)" ( identifier , (string_literal ""% 4d      "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }" { (expression_statement "uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;" (assignment_expression "uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13" identifier = (binary_expression "((int)uVar6 - iVar10) + (int)pcVar13" (parenthesized_expression "((int)uVar6 - iVar10)" ( (binary_expression "(int)uVar6 - iVar10" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) + (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;" if (parenthesized_expression "((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0'))" ( (binary_expression "(iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')" (parenthesized_expression "(iVar2 - 1U <= uVar9)" ( (binary_expression "iVar2 - 1U <= uVar9" (binary_expression "iVar2 - 1U" identifier - number_literal) <= identifier) )) || (parenthesized_expression "(*pcVar13 == '\0')" ( (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1])" identifier (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1])" ( identifier , (string_literal ""%c%c"" " string_content ") , (binary_expression "(ulong)(uint)(int)*pcVar13" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier) , (cast_expression "(ulong)(uint)(int)pcVar13[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar13[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar13[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar13[1]" identifier [ number_literal ])))) ))) ;) (expression_statement "uVar7 = uVar9 + 2;" (assignment_expression "uVar7 = uVar9 + 2" identifier = (binary_expression "uVar9 + 2" identifier + number_literal)) ;) (if_statement "if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }" if (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) (expression_statement "uVar7 = uVar9 + 3;" (assignment_expression "uVar7 = uVar9 + 3" identifier = (binary_expression "uVar9 + 3" identifier + number_literal)) ;) })) (expression_statement "pcVar13 = pcVar13 + 2;" (assignment_expression "pcVar13 = pcVar13 + 2" identifier = (binary_expression "pcVar13 + 2" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar7;" (assignment_expression "uVar9 = uVar7" identifier = identifier) ;) })) (expression_statement "FUN_00118d80(param_1,"\n");" (call_expression "FUN_00118d80(param_1,"\n")" identifier (argument_list "(param_1,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (if_statement "if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;" if (parenthesized_expression "((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0'))" ( (binary_expression "(DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')" (parenthesized_expression "(DAT_001da4b0 <= local_40)" ( (binary_expression "DAT_001da4b0 <= local_40" identifier <= identifier) )) || (parenthesized_expression "(uVar6 = (ulong)uVar7, *pcVar13 == '\0')" ( (comma_expression "uVar6 = (ulong)uVar7, *pcVar13 == '\0'" (assignment_expression "uVar6 = (ulong)uVar7" identifier = (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier)) , (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (break_statement "break;" break ;)) (expression_statement "lVar12 = (long)(int)uVar7;" (assignment_expression "lVar12 = (long)(int)uVar7" identifier = (cast_expression "(long)(int)uVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void print_lines(list_info_type *list,uint lineno,char *string,uint address)\n\n{\n  list_message *plVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  ulong uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  long lVar11;\n  char *pcVar12;\n  uint local_40;\n  \n  pcVar4 = data_buffer;\n  listing_page(list);\n  uVar8 = listing_lhs_width * 9;\n  if (address == 0xffffffff) {\n    fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);\n    if (uVar8 != 0) {\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }\n    pcVar4 = "";\n    if (string != (char *)0x0) {\n      pcVar4 = string;\n    }\n    emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);\n    return;\n  }\n  iVar3 = had_errors();\n  if (iVar3 == 0) {\n    fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);\n  }\n  else {\n    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);\n  }\n  if (*pcVar4 == '\0') {\n    uVar5 = 0;\n    iVar3 = 0;\n    uVar6 = 0;\n  }\n  else {\n    iVar3 = 0;\n    uVar5 = 0;\n    if (uVar8 == 0) goto LAB_00118f94;\n    uVar10 = 2;\n    iVar3 = 1;\n    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);\n    uVar7 = 0;\n    while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }\n  }\n  if (uVar6 < uVar8) {\n    do {\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    } while (uVar8 != uVar6);\n  }\nLAB_00118f94:\n  pcVar12 = "";\n  if (string != (char *)0x0) {\n    pcVar12 = string;\n  }\n  emit_line(list,"\t%s\n",pcVar12);\n  for (plVar1 = list->messages; plVar1 != (list_message *)0x0; plVar1 = plVar1->next) {\n    emit_line(list,"****  %s\n",plVar1->message);\n  }\n  if ((listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }\n  }\n  return;\n}\n\n" (function_definition "void print_lines(list_info_type *list,uint lineno,char *string,uint address)\n\n{\n  list_message *plVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  ulong uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  long lVar11;\n  char *pcVar12;\n  uint local_40;\n  \n  pcVar4 = data_buffer;\n  listing_page(list);\n  uVar8 = listing_lhs_width * 9;\n  if (address == 0xffffffff) {\n    fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);\n    if (uVar8 != 0) {\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }\n    pcVar4 = "";\n    if (string != (char *)0x0) {\n      pcVar4 = string;\n    }\n    emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);\n    return;\n  }\n  iVar3 = had_errors();\n  if (iVar3 == 0) {\n    fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);\n  }\n  else {\n    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);\n  }\n  if (*pcVar4 == '\0') {\n    uVar5 = 0;\n    iVar3 = 0;\n    uVar6 = 0;\n  }\n  else {\n    iVar3 = 0;\n    uVar5 = 0;\n    if (uVar8 == 0) goto LAB_00118f94;\n    uVar10 = 2;\n    iVar3 = 1;\n    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);\n    uVar7 = 0;\n    while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }\n  }\n  if (uVar6 < uVar8) {\n    do {\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    } while (uVar8 != uVar6);\n  }\nLAB_00118f94:\n  pcVar12 = "";\n  if (string != (char *)0x0) {\n    pcVar12 = string;\n  }\n  emit_line(list,"\t%s\n",pcVar12);\n  for (plVar1 = list->messages; plVar1 != (list_message *)0x0; plVar1 = plVar1->next) {\n    emit_line(list,"****  %s\n",plVar1->message);\n  }\n  if ((listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "print_lines(list_info_type *list,uint lineno,char *string,uint address)" identifier (parameter_list "(list_info_type *list,uint lineno,char *string,uint address)" ( (parameter_declaration "list_info_type *list" type_identifier (pointer_declarator "*list" * identifier)) , (parameter_declaration "uint lineno" type_identifier identifier) , (parameter_declaration "char *string" primitive_type (pointer_declarator "*string" * identifier)) , (parameter_declaration "uint address" type_identifier identifier) ))) (compound_statement "{\n  list_message *plVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  ulong uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  long lVar11;\n  char *pcVar12;\n  uint local_40;\n  \n  pcVar4 = data_buffer;\n  listing_page(list);\n  uVar8 = listing_lhs_width * 9;\n  if (address == 0xffffffff) {\n    fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);\n    if (uVar8 != 0) {\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }\n    pcVar4 = "";\n    if (string != (char *)0x0) {\n      pcVar4 = string;\n    }\n    emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);\n    return;\n  }\n  iVar3 = had_errors();\n  if (iVar3 == 0) {\n    fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);\n  }\n  else {\n    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);\n  }\n  if (*pcVar4 == '\0') {\n    uVar5 = 0;\n    iVar3 = 0;\n    uVar6 = 0;\n  }\n  else {\n    iVar3 = 0;\n    uVar5 = 0;\n    if (uVar8 == 0) goto LAB_00118f94;\n    uVar10 = 2;\n    iVar3 = 1;\n    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);\n    uVar7 = 0;\n    while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }\n  }\n  if (uVar6 < uVar8) {\n    do {\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    } while (uVar8 != uVar6);\n  }\nLAB_00118f94:\n  pcVar12 = "";\n  if (string != (char *)0x0) {\n    pcVar12 = string;\n  }\n  emit_line(list,"\t%s\n",pcVar12);\n  for (plVar1 = list->messages; plVar1 != (list_message *)0x0; plVar1 = plVar1->next) {\n    emit_line(list,"****  %s\n",plVar1->message);\n  }\n  if ((listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }\n  }\n  return;\n}" { (declaration "list_message *plVar1;" type_identifier (pointer_declarator "*plVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (expression_statement "pcVar4 = data_buffer;" (assignment_expression "pcVar4 = data_buffer" identifier = identifier) ;) (expression_statement "listing_page(list);" (call_expression "listing_page(list)" identifier (argument_list "(list)" ( identifier ))) ;) (expression_statement "uVar8 = listing_lhs_width * 9;" (assignment_expression "uVar8 = listing_lhs_width * 9" identifier = (binary_expression "listing_lhs_width * 9" identifier * number_literal)) ;) (if_statement "if (address == 0xffffffff) {\n    fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);\n    if (uVar8 != 0) {\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }\n    pcVar4 = "";\n    if (string != (char *)0x0) {\n      pcVar4 = string;\n    }\n    emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);\n    return;\n  }" if (parenthesized_expression "(address == 0xffffffff)" ( (binary_expression "address == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n    fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);\n    if (uVar8 != 0) {\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }\n    pcVar4 = "";\n    if (string != (char *)0x0) {\n      pcVar4 = string;\n    }\n    emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);\n    return;\n  }" { (expression_statement "fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno);" (call_expression "fprintf((FILE *)list_file,"% 4d     ",(ulong)lineno)" identifier (argument_list "((FILE *)list_file,"% 4d     ",(ulong)lineno)" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""% 4d     "" " string_content ") , (cast_expression "(ulong)lineno" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (uVar8 != 0) {\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar6 = 0;\n      do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);\n    }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      } while (uVar8 != uVar6);" do (compound_statement "{\n        uVar6 = uVar6 + 1;\n        fputc(0x20,(FILE *)list_file);\n      }" { (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x20,(FILE *)list_file);" (call_expression "fputc(0x20,(FILE *)list_file)" identifier (argument_list "(0x20,(FILE *)list_file)" ( number_literal , (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) while (parenthesized_expression "(uVar8 != uVar6)" ( (binary_expression "uVar8 != uVar6" identifier != identifier) )) ;) })) (expression_statement "pcVar4 = "";" (assignment_expression "pcVar4 = """ identifier = (string_literal """" " ")) ;) (if_statement "if (string != (char *)0x0) {\n      pcVar4 = string;\n    }" if (parenthesized_expression "(string != (char *)0x0)" ( (binary_expression "string != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar4 = string;\n    }" { (expression_statement "pcVar4 = string;" (assignment_expression "pcVar4 = string" identifier = identifier) ;) })) (expression_statement "emit_line((list_info_type *)0x0,"\t%s\n",pcVar4);" (call_expression "emit_line((list_info_type *)0x0,"\t%s\n",pcVar4)" identifier (argument_list "((list_info_type *)0x0,"\t%s\n",pcVar4)" ( (cast_expression "(list_info_type *)0x0" ( (type_descriptor "list_info_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (string_literal ""\t%s\n"" " escape_sequence string_content escape_sequence ") , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = had_errors();" (assignment_expression "iVar3 = had_errors()" identifier = (call_expression "had_errors()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);\n  }\n  else {\n    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);\n  }" { (expression_statement "fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address);" (call_expression "fprintf((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address)" identifier (argument_list "((FILE *)list_file,"% 4d %04x ",(ulong)lineno,(ulong)address)" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""% 4d %04x "" " string_content ") , (cast_expression "(ulong)lineno" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)address" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) (else_clause "else {\n    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);\n  }" else (compound_statement "{\n    fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);\n  }" { (expression_statement "fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno);" (call_expression "fprintf((FILE *)list_file,"% 4d ???? ",(ulong)lineno)" identifier (argument_list "((FILE *)list_file,"% 4d ???? ",(ulong)lineno)" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""% 4d ???? "" " string_content ") , (cast_expression "(ulong)lineno" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }))) (if_statement "if (*pcVar4 == '\0') {\n    uVar5 = 0;\n    iVar3 = 0;\n    uVar6 = 0;\n  }\n  else {\n    iVar3 = 0;\n    uVar5 = 0;\n    if (uVar8 == 0) goto LAB_00118f94;\n    uVar10 = 2;\n    iVar3 = 1;\n    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);\n    uVar7 = 0;\n    while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }\n  }" if (parenthesized_expression "(*pcVar4 == '\0')" ( (binary_expression "*pcVar4 == '\0'" (pointer_expression "*pcVar4" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar5 = 0;\n    iVar3 = 0;\n    uVar6 = 0;\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar3 = 0;\n    uVar5 = 0;\n    if (uVar8 == 0) goto LAB_00118f94;\n    uVar10 = 2;\n    iVar3 = 1;\n    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);\n    uVar7 = 0;\n    while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }\n  }" else (compound_statement "{\n    iVar3 = 0;\n    uVar5 = 0;\n    if (uVar8 == 0) goto LAB_00118f94;\n    uVar10 = 2;\n    iVar3 = 1;\n    fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);\n    uVar7 = 0;\n    while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if (uVar8 == 0) goto LAB_00118f94;" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00118f94;" goto statement_identifier ;)) (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1]);" (call_expression "fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1])" identifier (argument_list "((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar4,(ulong)(uint)(int)pcVar4[1])" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%c%c"" " string_content ") , (binary_expression "(ulong)(uint)(int)*pcVar4" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier) , (cast_expression "(ulong)(uint)(int)pcVar4[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar4[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar4[1]" identifier [ number_literal ])))) ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar5 = uVar10 & 0xffffffff;\n      uVar6 = uVar7 + 2;\n      if (pcVar4[uVar10] == '\0') break;\n      if (uVar8 <= uVar6) goto LAB_00118f94;\n      iVar3 = iVar3 + 1;\n      fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);\n      if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }\n      uVar10 = uVar10 + 2;\n      uVar7 = uVar6;\n    }" { (expression_statement "uVar5 = uVar10 & 0xffffffff;" (assignment_expression "uVar5 = uVar10 & 0xffffffff" identifier = (binary_expression "uVar10 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "uVar6 = uVar7 + 2;" (assignment_expression "uVar6 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar4[uVar10] == '\0') break;" if (parenthesized_expression "(pcVar4[uVar10] == '\0')" ( (binary_expression "pcVar4[uVar10] == '\0'" (subscript_expression "pcVar4[uVar10]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (if_statement "if (uVar8 <= uVar6) goto LAB_00118f94;" if (parenthesized_expression "(uVar8 <= uVar6)" ( (binary_expression "uVar8 <= uVar6" identifier <= identifier) )) (goto_statement "goto LAB_00118f94;" goto statement_identifier ;)) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1]);" (call_expression "fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1])" identifier (argument_list "((FILE *)list_file,"%c%c",(ulong)(uint)(int)pcVar4[uVar10],\n              (ulong)(uint)(int)pcVar4[uVar10 + 1])" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%c%c"" " string_content ") , (cast_expression "(ulong)(uint)(int)pcVar4[uVar10]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar4[uVar10]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar4[uVar10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar4[uVar10]" identifier [ identifier ])))) , (cast_expression "(ulong)(uint)(int)pcVar4[uVar10 + 1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar4[uVar10 + 1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar4[uVar10 + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar4[uVar10 + 1]" identifier [ (binary_expression "uVar10 + 1" identifier + number_literal) ])))) ))) ;) (if_statement "if (iVar3 == 4) {\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }" if (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar6 = uVar7 + 3;\n        iVar3 = 0;\n        fputc(0x20,(FILE *)list_file);\n      }" { (expression_statement "uVar6 = uVar7 + 3;" (assignment_expression "uVar6 = uVar7 + 3" identifier = (binary_expression "uVar7 + 3" identifier + number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "fputc(0x20,(FILE *)list_file);" (call_expression "fputc(0x20,(FILE *)list_file)" identifier (argument_list "(0x20,(FILE *)list_file)" ( number_literal , (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "uVar10 = uVar10 + 2;" (assignment_expression "uVar10 = uVar10 + 2" identifier = (binary_expression "uVar10 + 2" identifier + number_literal)) ;) (expression_statement "uVar7 = uVar6;" (assignment_expression "uVar7 = uVar6" identifier = identifier) ;) })) }))) (if_statement "if (uVar6 < uVar8) {\n    do {\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    } while (uVar8 != uVar6);\n  }" if (parenthesized_expression "(uVar6 < uVar8)" ( (binary_expression "uVar6 < uVar8" identifier < identifier) )) (compound_statement "{\n    do {\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    } while (uVar8 != uVar6);\n  }" { (do_statement "do {\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    } while (uVar8 != uVar6);" do (compound_statement "{\n      uVar6 = uVar6 + 1;\n      fputc(0x20,(FILE *)list_file);\n    }" { (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x20,(FILE *)list_file);" (call_expression "fputc(0x20,(FILE *)list_file)" identifier (argument_list "(0x20,(FILE *)list_file)" ( number_literal , (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) while (parenthesized_expression "(uVar8 != uVar6)" ( (binary_expression "uVar8 != uVar6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00118f94:\n  pcVar12 = "";" statement_identifier : (expression_statement "pcVar12 = "";" (assignment_expression "pcVar12 = """ identifier = (string_literal """" " ")) ;)) (if_statement "if (string != (char *)0x0) {\n    pcVar12 = string;\n  }" if (parenthesized_expression "(string != (char *)0x0)" ( (binary_expression "string != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar12 = string;\n  }" { (expression_statement "pcVar12 = string;" (assignment_expression "pcVar12 = string" identifier = identifier) ;) })) (expression_statement "emit_line(list,"\t%s\n",pcVar12);" (call_expression "emit_line(list,"\t%s\n",pcVar12)" identifier (argument_list "(list,"\t%s\n",pcVar12)" ( identifier , (string_literal ""\t%s\n"" " escape_sequence string_content escape_sequence ") , identifier ))) ;) (for_statement "for (plVar1 = list->messages; plVar1 != (list_message *)0x0; plVar1 = plVar1->next) {\n    emit_line(list,"****  %s\n",plVar1->message);\n  }" for ( (assignment_expression "plVar1 = list->messages" identifier = (field_expression "list->messages" identifier -> field_identifier)) ; (binary_expression "plVar1 != (list_message *)0x0" identifier != (cast_expression "(list_message *)0x0" ( (type_descriptor "list_message *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "plVar1 = plVar1->next" identifier = (field_expression "plVar1->next" identifier -> field_identifier)) ) (compound_statement "{\n    emit_line(list,"****  %s\n",plVar1->message);\n  }" { (expression_statement "emit_line(list,"****  %s\n",plVar1->message);" (call_expression "emit_line(list,"****  %s\n",plVar1->message)" identifier (argument_list "(list,"****  %s\n",plVar1->message)" ( identifier , (string_literal ""****  %s\n"" " string_content escape_sequence ") , (field_expression "plVar1->message" identifier -> field_identifier) ))) ;) })) (if_statement "if ((listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }\n  }" if (parenthesized_expression "((listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0'))" ( (binary_expression "(listing_lhs_cont_lines != 0) && (lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')" (parenthesized_expression "(listing_lhs_cont_lines != 0)" ( (binary_expression "listing_lhs_cont_lines != 0" identifier != number_literal) )) && (parenthesized_expression "(lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0')" ( (comma_expression "lVar11 = (long)(int)uVar5, pcVar4[lVar11] != '\0'" (assignment_expression "lVar11 = (long)(int)uVar5" identifier = (cast_expression "(long)(int)uVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "pcVar4[lVar11] != '\0'" (subscript_expression "pcVar4[lVar11]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    local_40 = 0;\n    while( true ) {\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }\n  }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pcVar12 = pcVar4 + lVar11;\n      iVar9 = (int)pcVar12;\n      iVar2 = listing_lhs_width_second * 9;\n      fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);\n      uVar8 = 0;\n      while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }\n      emit_line(list,"\n");\n      local_40 = local_40 + 1;\n      if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;\n      lVar11 = (long)(int)uVar6;\n    }" { (expression_statement "pcVar12 = pcVar4 + lVar11;" (assignment_expression "pcVar12 = pcVar4 + lVar11" identifier = (binary_expression "pcVar4 + lVar11" identifier + identifier)) ;) (expression_statement "iVar9 = (int)pcVar12;" (assignment_expression "iVar9 = (int)pcVar12" identifier = (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar2 = listing_lhs_width_second * 9;" (assignment_expression "iVar2 = listing_lhs_width_second * 9" identifier = (binary_expression "listing_lhs_width_second * 9" identifier * number_literal)) ;) (expression_statement "fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno);" (call_expression "fprintf((FILE *)list_file,"% 4d      ",(ulong)lineno)" identifier (argument_list "((FILE *)list_file,"% 4d      ",(ulong)lineno)" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""% 4d      "" " string_content ") , (cast_expression "(ulong)lineno" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;\n        if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;\n        iVar3 = iVar3 + 1;\n        fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);\n        uVar6 = uVar8 + 2;\n        if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }\n        pcVar12 = pcVar12 + 2;\n        uVar8 = uVar6;\n      }" { (expression_statement "uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12;" (assignment_expression "uVar6 = ((int)uVar5 - iVar9) + (int)pcVar12" identifier = (binary_expression "((int)uVar5 - iVar9) + (int)pcVar12" (parenthesized_expression "((int)uVar5 - iVar9)" ( (binary_expression "(int)uVar5 - iVar9" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) + (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')) break;" if (parenthesized_expression "((iVar2 - 1U <= uVar8) || (*pcVar12 == '\0'))" ( (binary_expression "(iVar2 - 1U <= uVar8) || (*pcVar12 == '\0')" (parenthesized_expression "(iVar2 - 1U <= uVar8)" ( (binary_expression "iVar2 - 1U <= uVar8" (binary_expression "iVar2 - 1U" identifier - number_literal) <= identifier) )) || (parenthesized_expression "(*pcVar12 == '\0')" ( (binary_expression "*pcVar12 == '\0'" (pointer_expression "*pcVar12" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1]);" (call_expression "fprintf((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1])" identifier (argument_list "((FILE *)list_file,"%c%c",(ulong)(uint)(int)*pcVar12,(ulong)(uint)(int)pcVar12[1])" ( (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%c%c"" " string_content ") , (binary_expression "(ulong)(uint)(int)*pcVar12" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier) , (cast_expression "(ulong)(uint)(int)pcVar12[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar12[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar12[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar12[1]" identifier [ number_literal ])))) ))) ;) (expression_statement "uVar6 = uVar8 + 2;" (assignment_expression "uVar6 = uVar8 + 2" identifier = (binary_expression "uVar8 + 2" identifier + number_literal)) ;) (if_statement "if (iVar3 == 4) {\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }" if (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) (compound_statement "{\n          iVar3 = 0;\n          fputc(0x20,(FILE *)list_file);\n          uVar6 = uVar8 + 3;\n        }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "fputc(0x20,(FILE *)list_file);" (call_expression "fputc(0x20,(FILE *)list_file)" identifier (argument_list "(0x20,(FILE *)list_file)" ( number_literal , (cast_expression "(FILE *)list_file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "uVar6 = uVar8 + 3;" (assignment_expression "uVar6 = uVar8 + 3" identifier = (binary_expression "uVar8 + 3" identifier + number_literal)) ;) })) (expression_statement "pcVar12 = pcVar12 + 2;" (assignment_expression "pcVar12 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar6;" (assignment_expression "uVar8 = uVar6" identifier = identifier) ;) })) (expression_statement "emit_line(list,"\n");" (call_expression "emit_line(list,"\n")" identifier (argument_list "(list,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (if_statement "if (((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))\n      break;" if (parenthesized_expression "(((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0'))" ( (binary_expression "((uint)listing_lhs_cont_lines <= local_40) || (uVar5 = (ulong)uVar6, *pcVar12 == '\0')" (parenthesized_expression "((uint)listing_lhs_cont_lines <= local_40)" ( (binary_expression "(uint)listing_lhs_cont_lines <= local_40" (cast_expression "(uint)listing_lhs_cont_lines" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) )) || (parenthesized_expression "(uVar5 = (ulong)uVar6, *pcVar12 == '\0')" ( (comma_expression "uVar5 = (ulong)uVar6, *pcVar12 == '\0'" (assignment_expression "uVar5 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) , (binary_expression "*pcVar12 == '\0'" (pointer_expression "*pcVar12" * identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (break_statement "break;" break ;)) (expression_statement "lVar11 = (long)(int)uVar6;" (assignment_expression "lVar11 = (long)(int)uVar6" identifier = (cast_expression "(long)(int)uVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)\n\n{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)\n\n{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)" identifier (parameter_list "(long param_1,uint param_2,undefined *param_3,uint param_4)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (expression_statement "pcVar3 = DAT_001e3660;" (assignment_expression "pcVar3 = DAT_001e3660" identifier = identifier) ;) (expression_statement "FUN_00118c10();" (call_expression "FUN_00118c10()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar9 = DAT_001da4b8 * 9;" (assignment_expression "uVar9 = DAT_001da4b8 * 9" identifier = (binary_expression "DAT_001da4b8 * 9" identifier * number_literal)) ;) (if_statement "if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }" if (parenthesized_expression "(param_4 == 0xffffffff)" ( (binary_expression "param_4 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }" { (expression_statement "fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2)" identifier (argument_list "(DAT_001e3668,"% 4d     ",(ulong)param_2)" ( identifier , (string_literal ""% 4d     "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);" do (compound_statement "{\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(uVar9 != uVar7)" ( (binary_expression "uVar9 != uVar7" identifier != identifier) )) ;) })) (expression_statement "puVar5 = &DAT_0014bc25;" (assignment_expression "puVar5 = &DAT_0014bc25" identifier = (pointer_expression "&DAT_0014bc25" & identifier)) ;) (if_statement "if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }" if (parenthesized_expression "(param_3 != (undefined *)0x0)" ( (binary_expression "param_3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar5 = param_3;\n    }" { (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" identifier = identifier) ;) })) (expression_statement "FUN_00118d80(0,&DAT_0014ce03,puVar5);" (call_expression "FUN_00118d80(0,&DAT_0014ce03,puVar5)" identifier (argument_list "(0,&DAT_0014ce03,puVar5)" ( number_literal , (pointer_expression "&DAT_0014ce03" & identifier) , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar4 = FUN_0011d7d0();" (assignment_expression "iVar4 = FUN_0011d7d0()" identifier = (call_expression "FUN_0011d7d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }" { (expression_statement "fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);" (call_expression "fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4)" identifier (argument_list "(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4)" ( identifier , (string_literal ""% 4d %04x "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) (else_clause "else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" else (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" { (expression_statement "fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2)" identifier (argument_list "(DAT_001e3668,"% 4d ???? ",(ulong)param_2)" ( identifier , (string_literal ""% 4d ???? "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }))) (if_statement "if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" if (parenthesized_expression "(*pcVar3 == '\0')" ( (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" else (compound_statement "{\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (uVar9 == 0) goto LAB_00118f94;" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00118f94;" goto statement_identifier ;)) (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" identifier = number_literal) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1])" identifier (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1])" ( identifier , (string_literal ""%c%c"" " string_content ") , (binary_expression "(ulong)(uint)(int)*pcVar3" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier) , (cast_expression "(ulong)(uint)(int)pcVar3[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar3[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }" { (expression_statement "uVar6 = uVar11 & 0xffffffff;" (assignment_expression "uVar6 = uVar11 & 0xffffffff" identifier = (binary_expression "uVar11 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "uVar7 = uVar8 + 2;" (assignment_expression "uVar7 = uVar8 + 2" identifier = (binary_expression "uVar8 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar3[uVar11] == '\0') break;" if (parenthesized_expression "(pcVar3[uVar11] == '\0')" ( (binary_expression "pcVar3[uVar11] == '\0'" (subscript_expression "pcVar3[uVar11]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (if_statement "if (uVar9 <= uVar7) goto LAB_00118f94;" if (parenthesized_expression "(uVar9 <= uVar7)" ( (binary_expression "uVar9 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_00118f94;" goto statement_identifier ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1])" identifier (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1])" ( identifier , (string_literal ""%c%c"" " string_content ") , (cast_expression "(ulong)(uint)(int)pcVar3[uVar11]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar3[uVar11]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar3[uVar11]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar3[uVar11]" identifier [ identifier ])))) , (cast_expression "(ulong)(uint)(int)pcVar3[uVar11 + 1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar3[uVar11 + 1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar3[uVar11 + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar3[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ])))) ))) ;) (if_statement "if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }" if (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }" { (expression_statement "uVar7 = uVar8 + 3;" (assignment_expression "uVar7 = uVar8 + 3" identifier = (binary_expression "uVar8 + 3" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) })) (expression_statement "uVar11 = uVar11 + 2;" (assignment_expression "uVar11 = uVar11 + 2" identifier = (binary_expression "uVar11 + 2" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) })) }))) (if_statement "if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }" if (parenthesized_expression "(uVar7 < uVar9)" ( (binary_expression "uVar7 < uVar9" identifier < identifier) )) (compound_statement "{\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }" { (do_statement "do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);" do (compound_statement "{\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    }" { (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(uVar9 != uVar7)" ( (binary_expression "uVar9 != uVar7" identifier != identifier) )) ;) })) (labeled_statement "LAB_00118f94:\n  puVar5 = &DAT_0014bc25;" statement_identifier : (expression_statement "puVar5 = &DAT_0014bc25;" (assignment_expression "puVar5 = &DAT_0014bc25" identifier = (pointer_expression "&DAT_0014bc25" & identifier)) ;)) (if_statement "if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }" if (parenthesized_expression "(param_3 != (undefined *)0x0)" ( (binary_expression "param_3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar5 = param_3;\n  }" { (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" identifier = identifier) ;) })) (expression_statement "FUN_00118d80(param_1,&DAT_0014ce03,puVar5);" (call_expression "FUN_00118d80(param_1,&DAT_0014ce03,puVar5)" identifier (argument_list "(param_1,&DAT_0014ce03,puVar5)" ( identifier , (pointer_expression "&DAT_0014ce03" & identifier) , identifier ))) ;) (for_statement "for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }" for ( (assignment_expression "puVar1 = *(undefined8 **)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x38)" * (cast_expression "(undefined8 **)(param_1 + 0x38)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ; (binary_expression "puVar1 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar1 = (undefined8 *)puVar1[1]" identifier = (cast_expression "(undefined8 *)puVar1[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar1[1]" identifier [ number_literal ]))) ) (compound_statement "{\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }" { (expression_statement "FUN_00118d80(param_1,"****  %s\n",*puVar1);" (call_expression "FUN_00118d80(param_1,"****  %s\n",*puVar1)" identifier (argument_list "(param_1,"****  %s\n",*puVar1)" ( identifier , (string_literal ""****  %s\n"" " string_content escape_sequence ") , (pointer_expression "*puVar1" * identifier) ))) ;) })) (if_statement "if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }" if (parenthesized_expression "((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0'))" ( (binary_expression "(DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')" (parenthesized_expression "(DAT_001da4b0 != 0)" ( (binary_expression "DAT_001da4b0 != 0" identifier != number_literal) )) && (parenthesized_expression "(lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')" ( (comma_expression "lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0'" (assignment_expression "lVar12 = (long)(int)uVar6" identifier = (cast_expression "(long)(int)uVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "pcVar3[lVar12] != '\0'" (subscript_expression "pcVar3[lVar12]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }" { (expression_statement "pcVar13 = pcVar3 + lVar12;" (assignment_expression "pcVar13 = pcVar3 + lVar12" identifier = (binary_expression "pcVar3 + lVar12" identifier + identifier)) ;) (expression_statement "iVar10 = (int)pcVar13;" (assignment_expression "iVar10 = (int)pcVar13" identifier = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar2 = DAT_001da4b4 * 9;" (assignment_expression "iVar2 = DAT_001da4b4 * 9" identifier = (binary_expression "DAT_001da4b4 * 9" identifier * number_literal)) ;) (expression_statement "fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2)" identifier (argument_list "(DAT_001e3668,"% 4d      ",(ulong)param_2)" ( identifier , (string_literal ""% 4d      "" " string_content ") , (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }" { (expression_statement "uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;" (assignment_expression "uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13" identifier = (binary_expression "((int)uVar6 - iVar10) + (int)pcVar13" (parenthesized_expression "((int)uVar6 - iVar10)" ( (binary_expression "(int)uVar6 - iVar10" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) + (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;" if (parenthesized_expression "((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0'))" ( (binary_expression "(iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')" (parenthesized_expression "(iVar2 - 1U <= uVar9)" ( (binary_expression "iVar2 - 1U <= uVar9" (binary_expression "iVar2 - 1U" identifier - number_literal) <= identifier) )) || (parenthesized_expression "(*pcVar13 == '\0')" ( (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1])" identifier (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1])" ( identifier , (string_literal ""%c%c"" " string_content ") , (binary_expression "(ulong)(uint)(int)*pcVar13" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * identifier) , (cast_expression "(ulong)(uint)(int)pcVar13[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)pcVar13[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)pcVar13[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar13[1]" identifier [ number_literal ])))) ))) ;) (expression_statement "uVar7 = uVar9 + 2;" (assignment_expression "uVar7 = uVar9 + 2" identifier = (binary_expression "uVar9 + 2" identifier + number_literal)) ;) (if_statement "if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }" if (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" identifier (argument_list "(0x20,DAT_001e3668)" ( number_literal , identifier ))) ;) (expression_statement "uVar7 = uVar9 + 3;" (assignment_expression "uVar7 = uVar9 + 3" identifier = (binary_expression "uVar9 + 3" identifier + number_literal)) ;) })) (expression_statement "pcVar13 = pcVar13 + 2;" (assignment_expression "pcVar13 = pcVar13 + 2" identifier = (binary_expression "pcVar13 + 2" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar7;" (assignment_expression "uVar9 = uVar7" identifier = identifier) ;) })) (expression_statement "FUN_00118d80(param_1,"\n");" (call_expression "FUN_00118d80(param_1,"\n")" identifier (argument_list "(param_1,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (if_statement "if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;" if (parenthesized_expression "((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0'))" ( (binary_expression "(DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')" (parenthesized_expression "(DAT_001da4b0 <= local_40)" ( (binary_expression "DAT_001da4b0 <= local_40" identifier <= identifier) )) || (parenthesized_expression "(uVar6 = (ulong)uVar7, *pcVar13 == '\0')" ( (comma_expression "uVar6 = (ulong)uVar7, *pcVar13 == '\0'" (assignment_expression "uVar6 = (ulong)uVar7" identifier = (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier)) , (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (break_statement "break;" break ;)) (expression_statement "lVar12 = (long)(int)uVar7;" (assignment_expression "lVar12 = (long)(int)uVar7" identifier = (cast_expression "(long)(int)uVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * 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 (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( IDENT ))) * IDENT) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , (pointer_expression * IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (subscript_expression IDENT [ IDENT ]) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) <= IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( IDENT ))) * IDENT) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence '))) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)\n\n{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00118e30(long param_1,uint param_2,undefined *param_3,uint param_4)" (identifier "FUN_00118e30") (parameter_list "(long param_1,uint param_2,undefined *param_3,uint param_4)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "undefined *param_3" (type_identifier "undefined") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  int iVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined *puVar5;\n  ulong uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  ulong uVar11;\n  long lVar12;\n  char *pcVar13;\n  uint local_40;\n  \n  pcVar3 = DAT_001e3660;\n  FUN_00118c10();\n  uVar9 = DAT_001da4b8 * 9;\n  if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }\n  iVar4 = FUN_0011d7d0();\n  if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }\n  if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }\n  if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }\nLAB_00118f94:\n  puVar5 = &DAT_0014bc25;\n  if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }\n  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);\n  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }\n  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }\n  return;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "ulong uVar6;" (type_identifier "ulong") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (expression_statement "pcVar3 = DAT_001e3660;" (assignment_expression "pcVar3 = DAT_001e3660" (identifier "pcVar3") (= "=") (identifier "DAT_001e3660")) (; ";")) (expression_statement "FUN_00118c10();" (call_expression "FUN_00118c10()" (identifier "FUN_00118c10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar9 = DAT_001da4b8 * 9;" (assignment_expression "uVar9 = DAT_001da4b8 * 9" (identifier "uVar9") (= "=") (binary_expression "DAT_001da4b8 * 9" (identifier "DAT_001da4b8") (* "*") (number_literal "9"))) (; ";")) (if_statement "if (param_4 == 0xffffffff) {\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }" (if "if") (parenthesized_expression "(param_4 == 0xffffffff)" (( "(") (binary_expression "param_4 == 0xffffffff" (identifier "param_4") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }\n    puVar5 = &DAT_0014bc25;\n    if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }\n    FUN_00118d80(0,&DAT_0014ce03,puVar5);\n    return;\n  }" ({ "{") (expression_statement "fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2)" (identifier "fprintf") (argument_list "(DAT_001e3668,"% 4d     ",(ulong)param_2)" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""% 4d     "" (" """) (string_content "% 4d     ") (" """)) (, ",") (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) () ")"))) (; ";")) (if_statement "if (uVar9 != 0) {\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }" (if "if") (parenthesized_expression "(uVar9 != 0)" (( "(") (binary_expression "uVar9 != 0" (identifier "uVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = 0;\n      do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);\n    }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      } while (uVar9 != uVar7);" (do "do") (compound_statement "{\n        uVar7 = uVar7 + 1;\n        fputc(0x20,DAT_001e3668);\n      }" ({ "{") (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" (identifier "fputc") (argument_list "(0x20,DAT_001e3668)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_001e3668") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar9 != uVar7)" (( "(") (binary_expression "uVar9 != uVar7" (identifier "uVar9") (!= "!=") (identifier "uVar7")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar5 = &DAT_0014bc25;" (assignment_expression "puVar5 = &DAT_0014bc25" (identifier "puVar5") (= "=") (pointer_expression "&DAT_0014bc25" (& "&") (identifier "DAT_0014bc25"))) (; ";")) (if_statement "if (param_3 != (undefined *)0x0) {\n      puVar5 = param_3;\n    }" (if "if") (parenthesized_expression "(param_3 != (undefined *)0x0)" (( "(") (binary_expression "param_3 != (undefined *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar5 = param_3;\n    }" ({ "{") (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" (identifier "puVar5") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (expression_statement "FUN_00118d80(0,&DAT_0014ce03,puVar5);" (call_expression "FUN_00118d80(0,&DAT_0014ce03,puVar5)" (identifier "FUN_00118d80") (argument_list "(0,&DAT_0014ce03,puVar5)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_0014ce03" (& "&") (identifier "DAT_0014ce03")) (, ",") (identifier "puVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_0011d7d0();" (assignment_expression "iVar4 = FUN_0011d7d0()" (identifier "iVar4") (= "=") (call_expression "FUN_0011d7d0()" (identifier "FUN_0011d7d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }\n  else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);\n  }" ({ "{") (expression_statement "fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);" (call_expression "fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4)" (identifier "fprintf") (argument_list "(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4)" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""% 4d %04x "" (" """) (string_content "% 4d %04x ") (" """)) (, ",") (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (, ",") (cast_expression "(ulong)param_4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_4")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" (else "else") (compound_statement "{\n    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);\n  }" ({ "{") (expression_statement "fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2)" (identifier "fprintf") (argument_list "(DAT_001e3668,"% 4d ???? ",(ulong)param_2)" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""% 4d ???? "" (" """) (string_content "% 4d ???? ") (" """)) (, ",") (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) () ")"))) (; ";")) (} "}")))) (if_statement "if (*pcVar3 == '\0') {\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }\n  else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" (if "if") (parenthesized_expression "(*pcVar3 == '\0')" (( "(") (binary_expression "*pcVar3 == '\0'" (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar6 = 0;\n    iVar4 = 0;\n    uVar7 = 0;\n  }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = 0;\n    uVar6 = 0;\n    if (uVar9 == 0) goto LAB_00118f94;\n    uVar11 = 2;\n    iVar4 = 1;\n    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);\n    uVar8 = 0;\n    while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }\n  }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar9 == 0) goto LAB_00118f94;" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00118f94;" (goto "goto") (statement_identifier "LAB_00118f94") (; ";"))) (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" (identifier "uVar11") (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1])" (identifier "fprintf") (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1])" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""%c%c"" (" """) (string_content "%c%c") (" """)) (, ",") (binary_expression "(ulong)(uint)(int)*pcVar3" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (* "*") (identifier "pcVar3")) (, ",") (cast_expression "(ulong)(uint)(int)pcVar3[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)(int)pcVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(int)pcVar3[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]"))))) () ")"))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      uVar6 = uVar11 & 0xffffffff;\n      uVar7 = uVar8 + 2;\n      if (pcVar3[uVar11] == '\0') break;\n      if (uVar9 <= uVar7) goto LAB_00118f94;\n      iVar4 = iVar4 + 1;\n      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);\n      if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }\n      uVar11 = uVar11 + 2;\n      uVar8 = uVar7;\n    }" ({ "{") (expression_statement "uVar6 = uVar11 & 0xffffffff;" (assignment_expression "uVar6 = uVar11 & 0xffffffff" (identifier "uVar6") (= "=") (binary_expression "uVar11 & 0xffffffff" (identifier "uVar11") (& "&") (number_literal "0xffffffff"))) (; ";")) (expression_statement "uVar7 = uVar8 + 2;" (assignment_expression "uVar7 = uVar8 + 2" (identifier "uVar7") (= "=") (binary_expression "uVar8 + 2" (identifier "uVar8") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (pcVar3[uVar11] == '\0') break;" (if "if") (parenthesized_expression "(pcVar3[uVar11] == '\0')" (( "(") (binary_expression "pcVar3[uVar11] == '\0'" (subscript_expression "pcVar3[uVar11]" (identifier "pcVar3") ([ "[") (identifier "uVar11") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (uVar9 <= uVar7) goto LAB_00118f94;" (if "if") (parenthesized_expression "(uVar9 <= uVar7)" (( "(") (binary_expression "uVar9 <= uVar7" (identifier "uVar9") (<= "<=") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_00118f94;" (goto "goto") (statement_identifier "LAB_00118f94") (; ";"))) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1])" (identifier "fprintf") (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],\n              (ulong)(uint)(int)pcVar3[uVar11 + 1])" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""%c%c"" (" """) (string_content "%c%c") (" """)) (, ",") (cast_expression "(ulong)(uint)(int)pcVar3[uVar11]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)(int)pcVar3[uVar11]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(int)pcVar3[uVar11]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pcVar3[uVar11]" (identifier "pcVar3") ([ "[") (identifier "uVar11") (] "]"))))) (, ",") (cast_expression "(ulong)(uint)(int)pcVar3[uVar11 + 1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)(int)pcVar3[uVar11 + 1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(int)pcVar3[uVar11 + 1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pcVar3[uVar11 + 1]" (identifier "pcVar3") ([ "[") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1")) (] "]"))))) () ")"))) (; ";")) (if_statement "if (iVar4 == 4) {\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }" (if "if") (parenthesized_expression "(iVar4 == 4)" (( "(") (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        uVar7 = uVar8 + 3;\n        iVar4 = 0;\n        fputc(0x20,DAT_001e3668);\n      }" ({ "{") (expression_statement "uVar7 = uVar8 + 3;" (assignment_expression "uVar7 = uVar8 + 3" (identifier "uVar7") (= "=") (binary_expression "uVar8 + 3" (identifier "uVar8") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" (identifier "fputc") (argument_list "(0x20,DAT_001e3668)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_001e3668") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar11 = uVar11 + 2;" (assignment_expression "uVar11 = uVar11 + 2" (identifier "uVar11") (= "=") (binary_expression "uVar11 + 2" (identifier "uVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" (identifier "uVar8") (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (uVar7 < uVar9) {\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }" (if "if") (parenthesized_expression "(uVar7 < uVar9)" (( "(") (binary_expression "uVar7 < uVar9" (identifier "uVar7") (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n    do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);\n  }" ({ "{") (do_statement "do {\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    } while (uVar9 != uVar7);" (do "do") (compound_statement "{\n      uVar7 = uVar7 + 1;\n      fputc(0x20,DAT_001e3668);\n    }" ({ "{") (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" (identifier "fputc") (argument_list "(0x20,DAT_001e3668)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_001e3668") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar9 != uVar7)" (( "(") (binary_expression "uVar9 != uVar7" (identifier "uVar9") (!= "!=") (identifier "uVar7")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00118f94:\n  puVar5 = &DAT_0014bc25;" (statement_identifier "LAB_00118f94") (: ":") (expression_statement "puVar5 = &DAT_0014bc25;" (assignment_expression "puVar5 = &DAT_0014bc25" (identifier "puVar5") (= "=") (pointer_expression "&DAT_0014bc25" (& "&") (identifier "DAT_0014bc25"))) (; ";"))) (if_statement "if (param_3 != (undefined *)0x0) {\n    puVar5 = param_3;\n  }" (if "if") (parenthesized_expression "(param_3 != (undefined *)0x0)" (( "(") (binary_expression "param_3 != (undefined *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar5 = param_3;\n  }" ({ "{") (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" (identifier "puVar5") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (expression_statement "FUN_00118d80(param_1,&DAT_0014ce03,puVar5);" (call_expression "FUN_00118d80(param_1,&DAT_0014ce03,puVar5)" (identifier "FUN_00118d80") (argument_list "(param_1,&DAT_0014ce03,puVar5)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_0014ce03" (& "&") (identifier "DAT_0014ce03")) (, ",") (identifier "puVar5") () ")"))) (; ";")) (for_statement "for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;\n      puVar1 = (undefined8 *)puVar1[1]) {\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }" (for "for") (( "(") (assignment_expression "puVar1 = *(undefined8 **)(param_1 + 0x38)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x38)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x38)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";") (binary_expression "puVar1 != (undefined8 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar1 = (undefined8 *)puVar1[1]" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)puVar1[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")))) () ")") (compound_statement "{\n    FUN_00118d80(param_1,"****  %s\n",*puVar1);\n  }" ({ "{") (expression_statement "FUN_00118d80(param_1,"****  %s\n",*puVar1);" (call_expression "FUN_00118d80(param_1,"****  %s\n",*puVar1)" (identifier "FUN_00118d80") (argument_list "(param_1,"****  %s\n",*puVar1)" (( "(") (identifier "param_1") (, ",") (string_literal ""****  %s\n"" (" """) (string_content "****  %s") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }" (if "if") (parenthesized_expression "((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0'))" (( "(") (binary_expression "(DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')" (parenthesized_expression "(DAT_001da4b0 != 0)" (( "(") (binary_expression "DAT_001da4b0 != 0" (identifier "DAT_001da4b0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')" (( "(") (comma_expression "lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0'" (assignment_expression "lVar12 = (long)(int)uVar6" (identifier "lVar12") (= "=") (cast_expression "(long)(int)uVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")))) (, ",") (binary_expression "pcVar3[lVar12] != '\0'" (subscript_expression "pcVar3[lVar12]" (identifier "pcVar3") ([ "[") (identifier "lVar12") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n    local_40 = 0;\n    while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }\n  }" ({ "{") (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      pcVar13 = pcVar3 + lVar12;\n      iVar10 = (int)pcVar13;\n      iVar2 = DAT_001da4b4 * 9;\n      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);\n      uVar9 = 0;\n      while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }\n      FUN_00118d80(param_1,"\n");\n      local_40 = local_40 + 1;\n      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;\n      lVar12 = (long)(int)uVar7;\n    }" ({ "{") (expression_statement "pcVar13 = pcVar3 + lVar12;" (assignment_expression "pcVar13 = pcVar3 + lVar12" (identifier "pcVar13") (= "=") (binary_expression "pcVar3 + lVar12" (identifier "pcVar3") (+ "+") (identifier "lVar12"))) (; ";")) (expression_statement "iVar10 = (int)pcVar13;" (assignment_expression "iVar10 = (int)pcVar13" (identifier "iVar10") (= "=") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) (; ";")) (expression_statement "iVar2 = DAT_001da4b4 * 9;" (assignment_expression "iVar2 = DAT_001da4b4 * 9" (identifier "iVar2") (= "=") (binary_expression "DAT_001da4b4 * 9" (identifier "DAT_001da4b4") (* "*") (number_literal "9"))) (; ";")) (expression_statement "fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);" (call_expression "fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2)" (identifier "fprintf") (argument_list "(DAT_001e3668,"% 4d      ",(ulong)param_2)" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""% 4d      "" (" """) (string_content "% 4d      ") (" """)) (, ",") (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) () ")"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;\n        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;\n        iVar4 = iVar4 + 1;\n        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);\n        uVar7 = uVar9 + 2;\n        if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }\n        pcVar13 = pcVar13 + 2;\n        uVar9 = uVar7;\n      }" ({ "{") (expression_statement "uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;" (assignment_expression "uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13" (identifier "uVar7") (= "=") (binary_expression "((int)uVar6 - iVar10) + (int)pcVar13" (parenthesized_expression "((int)uVar6 - iVar10)" (( "(") (binary_expression "(int)uVar6 - iVar10" (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")) (- "-") (identifier "iVar10")) () ")")) (+ "+") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13")))) (; ";")) (if_statement "if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;" (if "if") (parenthesized_expression "((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0'))" (( "(") (binary_expression "(iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')" (parenthesized_expression "(iVar2 - 1U <= uVar9)" (( "(") (binary_expression "iVar2 - 1U <= uVar9" (binary_expression "iVar2 - 1U" (identifier "iVar2") (- "-") (number_literal "1U")) (<= "<=") (identifier "uVar9")) () ")")) (|| "||") (parenthesized_expression "(*pcVar13 == '\0')" (( "(") (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);" (call_expression "fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1])" (identifier "fprintf") (argument_list "(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1])" (( "(") (identifier "DAT_001e3668") (, ",") (string_literal ""%c%c"" (" """) (string_content "%c%c") (" """)) (, ",") (binary_expression "(ulong)(uint)(int)*pcVar13" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (* "*") (identifier "pcVar13")) (, ",") (cast_expression "(ulong)(uint)(int)pcVar13[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)(int)pcVar13[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(int)pcVar13[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pcVar13[1]" (identifier "pcVar13") ([ "[") (number_literal "1") (] "]"))))) () ")"))) (; ";")) (expression_statement "uVar7 = uVar9 + 2;" (assignment_expression "uVar7 = uVar9 + 2" (identifier "uVar7") (= "=") (binary_expression "uVar9 + 2" (identifier "uVar9") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (iVar4 == 4) {\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }" (if "if") (parenthesized_expression "(iVar4 == 4)" (( "(") (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          iVar4 = 0;\n          fputc(0x20,DAT_001e3668);\n          uVar7 = uVar9 + 3;\n        }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "fputc(0x20,DAT_001e3668);" (call_expression "fputc(0x20,DAT_001e3668)" (identifier "fputc") (argument_list "(0x20,DAT_001e3668)" (( "(") (number_literal "0x20") (, ",") (identifier "DAT_001e3668") () ")"))) (; ";")) (expression_statement "uVar7 = uVar9 + 3;" (assignment_expression "uVar7 = uVar9 + 3" (identifier "uVar7") (= "=") (binary_expression "uVar9 + 3" (identifier "uVar9") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (expression_statement "pcVar13 = pcVar13 + 2;" (assignment_expression "pcVar13 = pcVar13 + 2" (identifier "pcVar13") (= "=") (binary_expression "pcVar13 + 2" (identifier "pcVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar9 = uVar7;" (assignment_expression "uVar9 = uVar7" (identifier "uVar9") (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (expression_statement "FUN_00118d80(param_1,"\n");" (call_expression "FUN_00118d80(param_1,"\n")" (identifier "FUN_00118d80") (argument_list "(param_1,"\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" (identifier "local_40") (= "=") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;" (if "if") (parenthesized_expression "((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0'))" (( "(") (binary_expression "(DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')" (parenthesized_expression "(DAT_001da4b0 <= local_40)" (( "(") (binary_expression "DAT_001da4b0 <= local_40" (identifier "DAT_001da4b0") (<= "<=") (identifier "local_40")) () ")")) (|| "||") (parenthesized_expression "(uVar6 = (ulong)uVar7, *pcVar13 == '\0')" (( "(") (comma_expression "uVar6 = (ulong)uVar7, *pcVar13 == '\0'" (assignment_expression "uVar6 = (ulong)uVar7" (identifier "uVar6") (= "=") (cast_expression "(ulong)uVar7" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar7"))) (, ",") (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar12 = (long)(int)uVar7;" (assignment_expression "lVar12 = (long)(int)uVar7" (identifier "lVar12") (= "=") (cast_expression "(long)(int)uVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")))) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *list,type_2 lineno,char *var_8,type_2 var_3)

{
  type_3 *var_15;
  int var_20;
  int var_11;
  char *var_12;
  type_4 uVar5;
  type_2 var_6;
  type_2 var_14;
  type_2 var_5;
  int var_19;
  type_4 var_13;
  long var_17;
  char *var_21;
  type_2 var_22;
  
  var_12 = data_buffer;
  var_1(list);
  var_5 = var_2 * 9;
  if (var_3 == 0xffffffff) {
    var_4((type_5 *)list_file,"% 4d     ",(type_4)lineno);
    if (var_5 != 0) {
      var_6 = 0;
      do {
        var_6 = var_6 + 1;
        var_7(0x20,(type_5 *)list_file);
      } while (var_5 != var_6);
    }
    var_12 = "";
    if (var_8 != (char *)0x0) {
      var_12 = var_8;
    }
    var_9((type_1 *)0x0,"\t%s\n",var_12);
    return;
  }
  var_11 = var_10();
  if (var_11 == 0) {
    var_4((type_5 *)list_file,"% 4d %04x ",(type_4)lineno,(type_4)var_3);
  }
  else {
    var_4((type_5 *)list_file,"% 4d ???? ",(type_4)lineno);
  }
  if (*var_12 == '\0') {
    uVar5 = 0;
    var_11 = 0;
    var_6 = 0;
  }
  else {
    var_11 = 0;
    uVar5 = 0;
    if (var_5 == 0) goto LAB_00118f94;
    var_13 = 2;
    var_11 = 1;
    var_4((type_5 *)list_file,"%c%c",(type_4)(type_2)(int)*var_12,(type_4)(type_2)(int)var_12[1]);
    var_14 = 0;
    while( true ) {
      uVar5 = var_13 & 0xffffffff;
      var_6 = var_14 + 2;
      if (var_12[var_13] == '\0') break;
      if (var_5 <= var_6) goto LAB_00118f94;
      var_11 = var_11 + 1;
      var_4((type_5 *)list_file,"%c%c",(type_4)(type_2)(int)var_12[var_13],
              (type_4)(type_2)(int)var_12[var_13 + 1]);
      if (var_11 == 4) {
        var_6 = var_14 + 3;
        var_11 = 0;
        var_7(0x20,(type_5 *)list_file);
      }
      var_13 = var_13 + 2;
      var_14 = var_6;
    }
  }
  if (var_6 < var_5) {
    do {
      var_6 = var_6 + 1;
      var_7(0x20,(type_5 *)list_file);
    } while (var_5 != var_6);
  }
LAB_00118f94:
  var_21 = "";
  if (var_8 != (char *)0x0) {
    var_21 = var_8;
  }
  var_9(list,"\t%s\n",var_21);
  for (var_15 = list->messages; var_15 != (type_3 *)0x0; var_15 = var_15->next) {
    var_9(list,"****  %s\n",var_15->message);
  }
  if ((var_16 != 0) && (var_17 = (long)(int)uVar5, var_12[var_17] != '\0')) {
    var_22 = 0;
    while( true ) {
      var_21 = var_12 + var_17;
      var_19 = (int)var_21;
      var_20 = var_18 * 9;
      var_4((type_5 *)list_file,"% 4d      ",(type_4)lineno);
      var_5 = 0;
      while( true ) {
        var_6 = ((int)uVar5 - var_19) + (int)var_21;
        if ((var_20 - 1U <= var_5) || (*var_21 == '\0')) break;
        var_11 = var_11 + 1;
        var_4((type_5 *)list_file,"%c%c",(type_4)(type_2)(int)*var_21,(type_4)(type_2)(int)var_21[1]);
        var_6 = var_5 + 2;
        if (var_11 == 4) {
          var_11 = 0;
          var_7(0x20,(type_5 *)list_file);
          var_6 = var_5 + 3;
        }
        var_21 = var_21 + 2;
        var_5 = var_6;
      }
      var_9(list,"\n");
      var_22 = var_22 + 1;
      if (((type_2)var_16 <= var_22) || (uVar5 = (type_4)var_6, *var_21 == '\0'))
      break;
      var_17 = (long)(int)var_6;
    }
  }
  return;
}


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

void MASKED(long param_1,uint param_2,undefined *param_3,uint param_4)

{
  undefined8 *puVar1;
  int iVar2;
  char *pcVar3;
  int iVar4;
  undefined *puVar5;
  ulong uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  int iVar10;
  ulong uVar11;
  long lVar12;
  char *pcVar13;
  uint local_40;
  
  pcVar3 = DAT_001e3660;
  FUN_00118c10();
  uVar9 = DAT_001da4b8 * 9;
  if (param_4 == 0xffffffff) {
    fprintf(DAT_001e3668,"% 4d     ",(ulong)param_2);
    if (uVar9 != 0) {
      uVar7 = 0;
      do {
        uVar7 = uVar7 + 1;
        fputc(0x20,DAT_001e3668);
      } while (uVar9 != uVar7);
    }
    puVar5 = &DAT_0014bc25;
    if (param_3 != (undefined *)0x0) {
      puVar5 = param_3;
    }
    FUN_00118d80(0,&DAT_0014ce03,puVar5);
    return;
  }
  iVar4 = FUN_0011d7d0();
  if (iVar4 == 0) {
    fprintf(DAT_001e3668,"% 4d %04x ",(ulong)param_2,(ulong)param_4);
  }
  else {
    fprintf(DAT_001e3668,"% 4d ???? ",(ulong)param_2);
  }
  if (*pcVar3 == '\0') {
    uVar6 = 0;
    iVar4 = 0;
    uVar7 = 0;
  }
  else {
    iVar4 = 0;
    uVar6 = 0;
    if (uVar9 == 0) goto LAB_00118f94;
    uVar11 = 2;
    iVar4 = 1;
    fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar3,(ulong)(uint)(int)pcVar3[1]);
    uVar8 = 0;
    while( true ) {
      uVar6 = uVar11 & 0xffffffff;
      uVar7 = uVar8 + 2;
      if (pcVar3[uVar11] == '\0') break;
      if (uVar9 <= uVar7) goto LAB_00118f94;
      iVar4 = iVar4 + 1;
      fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)pcVar3[uVar11],
              (ulong)(uint)(int)pcVar3[uVar11 + 1]);
      if (iVar4 == 4) {
        uVar7 = uVar8 + 3;
        iVar4 = 0;
        fputc(0x20,DAT_001e3668);
      }
      uVar11 = uVar11 + 2;
      uVar8 = uVar7;
    }
  }
  if (uVar7 < uVar9) {
    do {
      uVar7 = uVar7 + 1;
      fputc(0x20,DAT_001e3668);
    } while (uVar9 != uVar7);
  }
LAB_00118f94:
  puVar5 = &DAT_0014bc25;
  if (param_3 != (undefined *)0x0) {
    puVar5 = param_3;
  }
  FUN_00118d80(param_1,&DAT_0014ce03,puVar5);
  for (puVar1 = *(undefined8 **)(param_1 + 0x38); puVar1 != (undefined8 *)0x0;
      puVar1 = (undefined8 *)puVar1[1]) {
    FUN_00118d80(param_1,"****  %s\n",*puVar1);
  }
  if ((DAT_001da4b0 != 0) && (lVar12 = (long)(int)uVar6, pcVar3[lVar12] != '\0')) {
    local_40 = 0;
    while( true ) {
      pcVar13 = pcVar3 + lVar12;
      iVar10 = (int)pcVar13;
      iVar2 = DAT_001da4b4 * 9;
      fprintf(DAT_001e3668,"% 4d      ",(ulong)param_2);
      uVar9 = 0;
      while( true ) {
        uVar7 = ((int)uVar6 - iVar10) + (int)pcVar13;
        if ((iVar2 - 1U <= uVar9) || (*pcVar13 == '\0')) break;
        iVar4 = iVar4 + 1;
        fprintf(DAT_001e3668,"%c%c",(ulong)(uint)(int)*pcVar13,(ulong)(uint)(int)pcVar13[1]);
        uVar7 = uVar9 + 2;
        if (iVar4 == 4) {
          iVar4 = 0;
          fputc(0x20,DAT_001e3668);
          uVar7 = uVar9 + 3;
        }
        pcVar13 = pcVar13 + 2;
        uVar9 = uVar7;
      }
      FUN_00118d80(param_1,"\n");
      local_40 = local_40 + 1;
      if ((DAT_001da4b0 <= local_40) || (uVar6 = (ulong)uVar7, *pcVar13 == '\0')) break;
      lVar12 = (long)(int)uVar7;
    }
  }
  return;
}

